【软件逆向-VMP 3.8.4 替换Hwid 思路】此文章归类为:软件逆向。
VMP 3.8.4 替换Hwid 思路
思路
VMProtectGetCurrentHWID
通过分析vmp泄露源码得知Hwid的组成部分图下所示
使用sha1计算每组结果取前4个字节组合后使用RC5加密算法随机密钥进行存储,调用此函数组合后使用Base64呈现。

GetComputerNameW
图上部分函数编译后会被虚拟化,不过我们可以找到切入点函数GetComputerNameW
在切入GetComputerNameW根据内存堆栈进行替换Hwid

实现
编译成品使用OllyDbg进行调试

断下 GetComputerNameW 后 观察堆栈,注意不要在函数头部下断点。
[ebp+0x8]+0x8 即 hwid加密结果存放结构体指针。
此时并没有完全写入,只计算了cpuid部分
那么此时可以来到函数返回下断,注意不要在函数头部下断点。

函数断下后此时数据已被写入
内存窗口中跟随结构体指针,图下所示

指针+0x4 即 hwid加密存放位置
指针+0x8 即 hwid总组数
指针+0x9 即 hwid旧方法组数
跟随hwid加密存放位置(指针+0x4) 图下所示

指针+0x4 即 Hwid-RC5加密后 数据 存放指针

指针+0xC 即 Hwid-RC5加密后 密钥 存放指针

拿到这两组数据后即可解密 图下所示

同样方法也可以替换两处数据从而实现替换Hwid
更多【软件逆向-VMP 3.8.4 替换Hwid 思路】相关视频教程:www.yxfzedu.com