新人第一次发帖,做的不好,大佬勿喷
(其实我也不算新人了,注册3年了,这期间一直没发过帖子)
0x01 前言
今天在网上突然发现了一个外挂软件,具体名称就不说了,在我打开的时候,发现这软件付费,而且还有更新检测。
于是,这篇帖子诞生了。
0x02 破解过程
先拖入PEID查壳:
捕获20.PNG
Microsoft Visual C++ 6.0
没壳,软柿子啊!
赶紧拖入OD,来到入口点:
捕获1.PNG
先运行一下,登陆:
截图4.PNG
过期
直接提示“程序已更新”
那我们就搜索这个字符串
右键---中文搜索引擎---智能搜索,
Ctrl + F 搜索:
捕获2.PNG
搜到了,点进去看看:
捕获3.PNG
捕获4.PNG
一大堆跳转。。。先下断点。
再次登陆,断下了:
捕获5.PNG
先运行到返回,F8单步,
来到这里:
捕获6.PNG
附近没有什么关键的跳转。
那怎么办?
捕获7.PNG
我注意到:
刚刚的那一堆跳转都是登陆失败的提示就是说明:
关键的跳转在上面!那就不停向上滑
捕获21.PNG
注意到了一个字符串:“登陆成功!”
也就是说这就是登陆成功时运行的代码
继续往上滑
捕获9.PNG
发现一个长跳转,它正好跳过了刚刚的“登陆成功!”
把这个JNZ改成NOP试试!(JE是有条件跳转,而NOP是一个空指令,计算机执行NOP指令不会做任何事情)
捕获10.PNG
捕获11.PNG
右键---汇编
捕获12.PNG
成功了!(-102是因为服务器失效)
主界面:
捕获13.PNG
最后就是保存文件了:
右键---复制到可执行文件---所有修改---全部复制
右键---保存文件
捕获14.PNG
0x03 小结
爆破程序的基本思路就是:先找到关键的字符串,之后分析代码,找关键跳,把它NOP掉或者改成JMP,具体看情况,最后保存。
END