白影33 发表于 2020-3-17 17:58

hook修改vmp机器码(部分)与vmp反内存补丁

本帖最后由 白影33 于 2020-3-18 16:41 编辑

确认论坛没人发过vmp反内存补丁的内容觉得可以发一下

我也看过很多vmp保护关于内存相关的,
大概是vmp会读取自己的代码,计算是否被修改,
但我的补丁是打在系统领空,vmp除了会对部分函数头进行cc断点检测,
不会对系统领空进行全面检测,这导致我一直认为是代码问题,
多次检查代码后,觉得是vmp导致的,调试过程略去(就是一步步更,哪里爆了就进去看,很无聊)
调试后确定是VirtualProtect函数被vmp修改

注意 77710260 >- E9 AAFD4A8A   jmp 01BC000F
这个指令是被修改的


原来是77710260 >B8 50000000   mov eax,0x50(这是win10被修改的位置,win7不一样,VirtualProtect跟进去也能找到)
对应的办法很简单,在用VirtualProtect前使用WriteProcessMemory把它写回来
然后再对其他代码进行修改,
代码和相关软件我就直接发上来,不一点点的讲解了,
看不懂就去学学hook(讲hook的书很多,我觉得没他们讲的好就不浪费时间了)

最后上个效果图,上面的是原来的,下面的是被修改的,hook修改的部分用红线划出来了,
这个是hook GetVolumeInformationW,其他的hook过程差不多,关键是找hook点,
全部hook后也能达到破解vmp授权的效果


链接: https://pan.baidu.com/s/1ujaNgcYT9qR3nfrFSWx8cA 提取码: d28f



白影33 发表于 2020-3-18 09:30

本帖最后由 白影33 于 2020-3-18 09:58 编辑

漏了个软件,把它和hook1.dll,MFCmyTest.vmp.exe放在一个目录下,它会挂起方式创建MFCmyTest.vmp.exe进程,注入hook1.dll,来hook,hook完再恢复进程

还要在同目录下新建一个serial.txt文件是给vmp读取注册码的
里面填上下面这个注册码
Wp27zW5NihsOVcfVBliZoSg3gRvpNvHvcQhSHoxCMz2+XWlXmPxqf4ZceFsZNE8AFAUTofk4JIAQ
Y4Q3jIcnVXtbpvEr6AHMBfdXOy6pw93M8QrU7q6iuSa4HSX/9I2drurDWm7YlvC6Nh4ukyiZqXw2
9+6QBlUgtPlHucoqd3BAKm7b1GI1dyX+0wjHa7+FcVgAdsBQevtyuGbpGdqjAP/HDK7pMKbRBNsi
4B53S1wVaGlbEbh7+2gFNX4zKMkW+43A9Nu7SGcQ3PkqtZ22Imf8QY4ff/Ee9PT5OQikmB+xN8xg
1A48hFMy1Sjm4GtLtU32C0MhSBf0SHT5M/ICPg==

你与明日 发表于 2020-3-17 18:57

你这是外部使用WriteProcessMemory是吧.....

VMP是程序跑起来后才HOOK的

DLL已经注入进去了,你还得等程序跑起来你在外部程序用WriteProcessMemory修改

一些程序在你WriteProcessMemory前就已经把该做的操作做完了,我一般都是在DLL内VirtualProtect,而且绕过他的ZwProtectVirtualMemory HOOK也很简单,全系统通用,你这只能针对自己的系统

小Q机器人 发表于 2020-3-17 18:09

谢谢分享

er_nianni 发表于 2020-3-17 18:11

谢谢分享

zhurongmo 发表于 2020-3-17 18:42

试验一下。

落叶知秋zdz 发表于 2020-3-17 18:49

下载用看看再说!

冬至123 发表于 2020-3-17 18:58

感谢分享1024

sjh52pojie 发表于 2020-3-17 19:23

你与明日 发表于 2020-3-17 18:57
你这是外部使用WriteProcessMemory是吧.....

VMP是程序跑起来后才HOOK的


感谢你的思路,有啥好资源分享一下

sssjcccz01a 发表于 2020-3-17 19:38

{:1_921:}直接hook破解

三胖胖胖 发表于 2020-3-17 19:49


谢谢分享
页: [1] 2 3
查看完整版本: hook修改vmp机器码(部分)与vmp反内存补丁