一、题目背景
高阶反向工程对抗中,防御方经常会进行“环境探针”检测。如果软件发现自己运行在 VMware/VirtualBox 虚拟机中,或者进程环境块(PEB)被注入了调试器特征,程序就会拒绝提供真实逻辑。
-
难度: ⭐⭐⭐⭐⭐(强对抗)
-
适合人群: 掌握一定底层架构知识,从事外挂分析或高级逆向对抗的学员。
-
训练重点:
-
内联汇编获取 PEB(Process Environment Block)标志位反调试。
-
通过
CPUID指令探测 Hypervisor(虚拟机环境)。 -
环境伪装(Anti-Anti-VM)与对抗工具配置。
-
二、程序说明
-
平台: Win32 x86
-
类型: 控制台程序
-
是否加壳: 无壳
-
目标: 修改自身的环境标志或 Patch 掉探测函数,解出密码(
"CPUID")。
三、解题提示
-
不用找
IsDebuggerPresent,人家直接通过FS:[0x30]找 PEB 读BeingDebugged标志了。 -
哪怕你没开调试器,如果你是在 VMware 里跑的,那个
__cpuid也会让程序直接跑偏。 -
你需要把读取出来的环境特征寄存器(如 ECX 寄存器的第 31 位)在汇编层给强制修改掉。
下载
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END









暂无评论内容