瞄一眼

 找回密码
 立即注册
查看: 149|回复: 3

[r3过检测] 还原vmp hook

[复制链接]

322

主题

346

帖子

58

积分

管理员

Rank: 12Rank: 12Rank: 12

积分
58
发表于 2020-3-30 14:29:23 | 显示全部楼层 |阅读模式

vmp版本3.1,实验系统win10x64,

前几天我发了个vmp反内存补丁的文章,为了免得再踩到坑,我就想把全部的修改系统的点找出来。

确定vmp修改系统dll使用的函数是WriteProcessMemory,再od里下这个函数的断点,

调试过程就略去了,(其实就是看它写的地方是不是系统领空,很无聊,就不占大量的篇幅了)。


最后确定vmp对系统领空的dll修改了7次,如果像那篇里把修改处用WriteProcessMemory写回来,代码就多了,

而且win7,win10系统的dll有所不同,位置和内容也有所不同,那样要改的也太多了,

就不能用这种原始粗暴的方式了,那就用hook的方法。


说代码前先说我的hook思路:

先将WriteProcessMemory的函数头修改,跳到我的代码处,我的代码保存寄存器,保存堆栈,进行判断是否为系统领空,

如果是,恢复寄存器,恢复堆栈,修改eax为1(vmp会检查返回值,不是1就会结束),返回到vmp call WriteProcessMemory下一句

如果不是,恢复寄存器,恢复堆栈,模拟执行被覆盖的函数头,返回到修改的函数头的下一句。


效果图

hook前

140506oxymrifqte6zbqlr.png

hook 后

140532gc7fbftktrffkrkt.png


全部源码:

游客,如果您要查看本帖隐藏内容请回复

0

主题

5

帖子

1

积分

韶华一笑间

Rank: 1

积分
1
发表于 2020-5-4 16:02:42 | 显示全部楼层
牛逼看看学学

0

主题

5

帖子

1

积分

韶华一笑间

Rank: 1

积分
1
发表于 2020-5-7 20:06:43 | 显示全部楼层
为了贡献值必须灌点水

0

主题

5

帖子

1

积分

韶华一笑间

Rank: 1

积分
1
发表于 2020-5-7 20:16:57 | 显示全部楼层
为了贡献值,只能灌水
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|瞄眼社区

GMT+8, 2020-5-31 23:50 , Processed in 0.238525 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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