【拓展训练】- 12.楚门的世界 (Anti-Environment / CPUID Check)

一、题目背景

高阶反向工程对抗中,防御方经常会进行“环境探针”检测。如果软件发现自己运行在 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
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容