学习vmp3.2授权结果分享
本帖最后由 白影33 于 2019-12-1 22:12 编辑方法和文件来自帖子:https://bbs.pediy.com/thread-247442-1.htm
发这个贴子的目的是记录自己的学习过程,并对原帖的程序实现过程进行补充(因为写的比较精简,我也是操作了很多次,分享出来让大家少走点弯路)
以“管理员权限”运行cmd.exe,输入 launch.exe -n TestApp.vmp.exe 。
输入序列号,弹出第一个弹窗点确定,第二个弹窗出来就是这个了,记录下key address at 0019f3ac
关闭软件,重新输入launch.exe -n TestApp.vmp.exe,停在第一个弹窗处
打开x32debug,附加进程。
注意:不能用od,个人实测无论是普通od还是吾爱版,硬件断点或内存断点,后面需要下断点的地方断不下来。
ctrl+g 来到0019f3ac,在0019f3ac+10的地方下硬件写入断点。
f9运行,把那个弹窗点确定就断下来了,然后把0019f3ac到0019f3bc值全部改为01.
f9运行,再把第二个弹窗点了,就可以在同目录下看到一个rsa-n.bn生成。
在cmd中输入gen.exe,把product code:MYepA12Fxaw= 记录下来。
把test.vmp.exe用记事本打开,把product code改为获得的那个。
直接点test.vmp.exe,就会打开vmp,添加授权把序列号复制下来。
把之前获得的rsa-n.bn,16进制替换的crack代码的rsa-n。
编译生成新的crack.dll.
在窗口输入launch.exe TestApp.vmp.exe,把我们授权的序列号粘贴进去,授权就成功了,
然后就可以用vmp随便添加授权了。
看完可能有人会说一点技术原理都不讲,
不是我不讲,是我也没看明白,那篇文章的跳跃性太大了,导致操作和逻辑不符,看不下去。
像文章说是用rsa算法加密,百度上搜说,rsa用公匙加密,私匙解密,而他却寻找公匙,用公匙进行解密,这操作和逻辑严重不符。
还有说是在RtlAllocateHeap下断,当第一次分配大小为102即为rsa-N分配内存空间,来寻找rsa的公匙,这个函数调用太多了,
我在吾爱虚拟机和od里下条件断点,每次都是软件崩溃,没办法我就写个简单的脚本来找第一次分配大小为102,脚本至少跑了5分钟才到。
如果用这种办法来分析很不现实。应该有别的办法分析。
还有一些问题像这位有两个精华的大佬在评论里说的一样。
所以能看得懂只能说你本来就懂。
不过还是十分感谢他愿意分享这篇文章。
{:1_923:}
还是不太明白,哈哈.......... Hmily 发表于 2019-12-3 17:11
@白影33 崩溃试试把sod的忽略所有异常选项关闭行不行?
不知道你说的关闭是不是关闭这个。
一运行就崩溃 想当搬运工 我才不会说我没看懂呢,哼{:1_929:} 很厉害的样子。就是没看懂 木明白啥意思嘛{:1_925:},咋办嘛 我是不会说我都不知道这个是做什么用的。 本帖最后由 白影33 于 2019-12-1 22:05 编辑
sunyu4506 发表于 2019-12-1 21:23
我是不会说我都不知道这个是做什么用的。
替换密匙,让自己可以给生成vmp授权 Angel泠鸢 发表于 2019-12-1 17:47
我才不会说我没看懂呢,哼
大哥,这是对原文“实现过程”的补充(原文写的比较精简),多少也要看一下原文啊 谢谢分享 学习一下,谢谢分享。