vmp2.06过虚拟机检测过程实操记录
vmp过虚拟机检测的方法以经有人出了,所以这次只是想记录自己实践的过程,方法和思路来自于【 过VMP,TMD的虚拟机检测。】链接:https://www.52pojie.cn/thread-230649-1-1.html。
正常情况下在虚拟机里运行。
按上面帖子的思路找到vmp的handle retn,
一直单步步入,到retn的位置,这时候就要注意了,这个retn一执行就会退出vmp虚拟机,去执行In eax,edx。
如果不是在虚拟机里运行这个指令就会触发异常,进入异常处理流程,修改esi进而继续运行,
如果是在虚拟机中,这个指令就不会触发异常,也就不会走向正确的流程。
关于为什么这个指令能触发异常这个帖子说的很详细:https://www.kanxue.com/chm.htm?id=13246&pid=node1001251。
按帖子的办法清空eax和edx。
点运行,好了不再是一开始的虚拟机被检测,是调试器被检测了,这个虚拟机检测就过了。
最后还有一点要提醒大家,在retn下断第一次断下单步可能没有in eax,edx。
原因是vmp遇到一些自己没有的指令就会调用handle retn退出虚拟机,直接执行,像in eax,edx就是的,
用到retn的还有别的指令或者需要退出虚拟机的情况,所以可能第一次断下不是因为in eax,edx。
像我的遇到的第一次断下就不是,不过好在vmp退出虚拟机的次数不多,多走两次就行了,
这一点那个帖子没说,希望大家注意。 厉害,学习一下,思路真的是很重要不过有时候算法也很重要 楼主辛苦,感谢分享! 虽然不知道是干什么的 但是看起来很厉害。。 不明觉厉 研究一下思路,好多虚拟机玩游戏都过不去 学习一下,谢谢 不知为什么有些进程就是不显示出来 是过游戏检测用的吗 wkaocjf 发表于 2019-11-21 18:31
是过游戏检测用的吗
谁会给游戏加vmp啊?