绕过VMProtect3.6自带的Lock To HWID 机器码绑定
本帖最后由 hszt 于 2023-8-24 12:19 编辑vmp3.6以上版本可以在没源码的情况下,在加壳的时候绑定指定的机器码,设置如下图:(需要自己写个获取机器码的工具,然后在加壳的时候填入要绑定的电脑)
开始我以为只能固定机器码,毕竟vmp自带的,应该不至于写的太差,但实际测试过程中,意外发现可以直接暴力跳过,
搜索特征码,
8B FF 55 8B EC 83 7D 0C 01 75 05 E8 ?? ?? 00 00 FF 75 08 8B 4D 10 8B 55 0C E8 EC FE FF FF 59 5D C2 0C 00
这个位置看起来类似一个dll的入口加载
跟进第二个call特征码(89 45 E4 85 C0 0F 84 83 00 00 00 57 56 53)
,
发现运行到这个位置,会提示机器码不匹配This application cannot be executed on this computer.
-------------
重新运行程序,把call进去的vm开头改成
mov eax,1
ret 8
就可以实现绕过绑定,直接运行程序
--------
后面经过测试,在加载入口位置改成
mov eax1
ret 0xc
也可以实现绕过,没3.8的样本,不知道是否也可以这样,理论上来说应该也是可以的。
但这个方法对于正常写代码绑定那种是不行的,此方法仅限于加壳时候预先绑定hwid的,写的比较乱,当记录,给有需要的人参考
发个样本文件 试试看~~ 有没有逆向的最新教程啊 谢谢分享 感谢分享经验。一直没勇气搞vmp。 厉害了,vmp都搞起来了。 只是加了注册吧代码没有VM代码VM后如果找到位置了吧代码虚拟化了 170077000 发表于 2023-8-24 13:32
只是加了注册吧代码没有VM代码VM后如果找到位置了吧代码虚拟化了
就是默认加的,可能你没仔细看,这个地方没vm WL过注册发一下 感谢楼主分享