ACZR 发表于 2023-7-27 19:43

关于vmp3.6反调试的一个小问题

vmp3.6的壳,好像会在启动的时候调用ZwMapViewOfSection这个api来重载ntdll
对这个api下断,走到retn的时候,在内存窗口跟随的值,就是重载后的ntdll区段
但是在这个区段进行修改的时候,OD会提示“无法写入到被调试进程的内存”,请问各位大神要怎么解决

2224272689 发表于 2023-7-27 19:43

映射是只读,修改映射参数

三斤回锅肉 发表于 2023-7-27 20:20

VMP虚拟机检测的原理(针对3.0以上的VMP壳)
VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据这个Flags值的位执行对应的事情。
比如:
and 2 = 2 表示检测用户层调试器
and 4 = 4 表示检测内核调试器

and 10 = 10 表示检测虚拟机

只要将这个值修改为0,调试器和虚拟机检测甚至内存校验,文件校验都直接bypass. ( ps: 写了这么多壳代码就这么简单就过了:)
那么现在的问题是如何快速定位到这个值。这里介绍一种比较简单快速的方法,测试了几个程序都有效。)

ACZR 发表于 2023-7-27 21:28

三斤回锅肉 发表于 2023-7-27 20:20
VMP虚拟机检测的原理(针对3.0以上的VMP壳)
VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据 ...

我知道这个,它重载ntdll后,必须在重载后的区段修改掉一些东西,不然就会走0环反调试,我的目的是修改掉后让他走3环的,我的问题是重载后的区段做修改的话,OD就会提示无法写入到被调试进程的内存

boot 发表于 2023-7-28 08:42

我记得有过vmp3.7的驱动……

50311048 发表于 2023-7-28 12:27

share 下。

ACZR 发表于 2023-7-28 15:56

boot 发表于 2023-7-28 08:42
我记得有过vmp3.7的驱动……

有,但是加载驱动后,调试时间长了容易蓝屏,所以想手动过,然后写个脚本

StarrySky 发表于 2023-7-29 13:30

r3层反调试你写脚本过掉这是不存在的
页: [1]
查看完整版本: 关于vmp3.6反调试的一个小问题