易语言吧

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 510|回复: 0

[技术文章] 第三课 剖析检测程序在虚拟机中运行的方法

[复制链接]

6

主题

41

帖子

2285

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
2285
威望
0
易币
2244
贡献
0
积分
2285
UID
40804
在线时间
23 小时
注册时间
2024-1-18
发表于 2025-2-6 00:14:46 | 显示全部楼层 |阅读模式
第三课 剖析检测程序在VM虚拟机中运行的方法

我打算用汇编的形式来完成这个功能并写入到易语言中

我们要知道一个前提,VM虚拟机有一个特殊的端口0x5658,如果向这个端口发送VMXh的ASCll码也就是[size=14.0018px]0x564D5868,它会返回[size=14.0018px]0x564D5868这个值
这就是检测VM虚拟机的一个原理,知道了原理,我们开始写代码
我先用汇编的形式写出
  1. mov eax,0x564D5868     ;我们先将这个数传给eax
  2. mov edx,0x5658            ;将端口传给edx
  3. in eax,edx                     ;从端口处得到数据eax
  4. cmp eax,0x564D5868     ;比较一下返回的值是否等于0x564D5868
复制代码
现在转成易语言就可以这么写
  
子程序名返回值类型公开备 注
VMWare检测整数型 
变量名类 型静态数组备 注
返回值   
置入代码 ({ 184, 104, 88, 77, 86, 187, 0, 0, 0, 0, 185, 10, 0, 0, 0, 186, 88, 86, 0, 0, 237, 129, 251, 104, 88, 77, 86, 15, 148, 69, 252 })
返回 (返回值)

注意!虚拟机检测对抗随着时间的推移这类方法可能不管用,甚至会隐藏这些特征,这就需要自行探索
虚拟机特征还是有很多的,自己去分析分析还是有很多的收获的,我在这里就不过多提供思路了,避免引火烧身
这类方法对过检测虚拟机并没有好的检测效果,攻防无绝对,只提供部分思路
懒得打字嘛,点击右侧快捷回复 【选择右侧内容,快速回复】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大漠插件注册码无须等1-3号

QQ|一:站内所有资源均来自互联网收集或用户上传分享,本站不拥有此类资源的版权。 作为网络服务提供者,对转载行为的发生不具备充分的监控能力。但是当版权拥有者提出侵权并出示充分的版权证明材料时,易语言吧负有移除转载作品以及停止继续传播的义务。在满足前款条件下采取移除等相应措施后不为此向原发布人承担违约责任,包括不承担因侵权不成立而给原发布人带来损害的赔偿责任。 用户免费分享产生,如果侵犯了你的权益,联系QQ:3066137757|Archiver|手机版|小黑屋|易语言吧

GMT+8, 2025-4-20 14:54 , Processed in 0.149783 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表