破解某vmp壳dll函数查看器
本帖最后由 yunyings 于 2020-5-7 18:02 编辑今天分析一个dll需要用到个函数查看器就在论坛随便下载了个
发现还要登陆qq验证 吾爱会员才可使用
虽然出发点是好的但是每次让我输入一大串QQ就很麻烦
也想着当个cm玩玩,就有了此教程
1. 江湖规矩先查壳以表示尊重
2.既然是vmp壳,那就先打开运行然后OD附加,V的干干净净
3.右键->分析->分析代码 然后 右键->分析->从模块中删除分析这样就可以看到代码了!
4.先简简单单搜个字符串
5.看了看没什么有用的东西,只发现了错误提示那这里能不能定位到正确或者说成功的位置呢 答案是:不能大家可以看到这个按钮标题是“放弃验证”,按逻辑思维来说整理不会有任何判断直接就是失败然后退出呗,所以说我们另找入手点
发现软件目录下还带了个dll,事实证明他也已经载入这个dll了,我们转到这个dll里看看
6.再次搜个字符串,发现3个网址 分别是:吾爱首页/吾爱搜索页面/吾爱登录页面
因为我们了解到 这个软件必须是吾爱会员才可用所以他很可能就是在这三个页面进行了判断
7.那我们在这三个地方下断,然后点击运行
8.这时候发现软件卡死 点什么不管用,我们看下线程查看->线程
9.发现大部分线程被挂起,右键->倒数第4个选项 激活所有线程
10.发现断下来了,断在了首页这个位置,我们点击运行发现会再次断在这里多点几次 一直断在这里,猜测是循环执行这段代码,并且没其他敏感操作 那么这里不是关键点 直接取消这个断
11.接着运行后会断在搜索页面这里,点击运行还是断在这里 可能是跟上面首页一样 循环执行判断,直接取消这个断点 继续运行
12.发现软件有提示:“随便搜索点什么”,看到这里联想到刚刚搜索字符串那里的 “searchId=” 初步猜测是通过搜索这里验证的我们去验证我们的想法
13.我们重新搜索字符串定位到“searchId“
14.下断发现直接断下,可能是跟上面首页/搜索页 一样循环执行/判断
15.我们单步跟下去,没几步发现一个大跳,跳过了两个call
16.设想这里是关键跳 跳过的两个call是关键call那么我们阻止他跳转 通过修改z标志位 让跳过变成不跳
17.点击运行,发现功能窗口就出来了 原程序自动关闭,这玩意就是个启动器
18.因为是VMP壳,没那条件也不脱了,直接打补丁吧,我们重按上面步骤来一遍 定位到关键跳,记录原数据
19.修改jz为jnz两个指令判断反转 同样条件jz跳jnz就不跳 jz不跳jnz就跳
20.记录修改后数据
21.随便找一个补丁工具,制作补丁
最终效果:
kuqideyanlei 发表于 2020-5-7 20:13
难道这个vmp壳不检测调试器嘛??还是楼主的调试器可以跳过检测??
我写这玩意时还嫩
又:我vm向来当压缩壳用,我用的是远古版(蓝色图标的那个),并且不加SDK 非常好的教程,有学了一招 它没想到自己被OD灭掉了 传说中的沙发坐着支持楼主 厉害,可惜不会呀, 学习一下 非常好的教程
https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif 难道这个vmp壳不检测调试器嘛??还是楼主的调试器可以跳过检测?? 厉害啊,朋友 楼主给个源文件吧 谢谢