看了一段时间的看雪的书和教程,对破解有了一点点了解,从网上随便下了一个软件,就拿它练练手吧!下面是我的破解过程.
软件安装后为试用版,打开注册窗口,随便输入一个注册码,点注册!弹出"注册失败的窗口"
先用PEid查壳
该软件为Delphi开发的,没有加壳,可以省好多力气,用OD载入,下API函数MessageBoxA的断点,然后运行程序,打开注册窗口,输入注册码"12345678",点确定,断点成功!按ALT+F9返回到软件领空,向上找,最经典的代码出现了,发现此软件加密算法比较简单,适合初学者建立信心!
0068B3BD . E8 AE020000 call 0068B670 //加密算法调用关键CALL
0068B3C2 . 84C0 test al, al //返回值是否为0
0068B3C4 . /0F84 DB000000 je 0068B4A5 //如果注册码错误则跳转
关键跳转找到了,根据口决,妻死便妻无,将je改成JNE,再运行,点注册,提示注册成功!
重新运行一下软件,咦!还是提示未注册,看来这个软件还有个较验的过程,爆破还有点麻烦,那么我们就在
0068B3BD . E8 AE020000 call 0068B670 //加密算法调用关键CALL
这里下断,然后按F7跟进去,看看能不能找到正确的注册码!
再运行程序,在关断点停下来后,按F8单步运行
这断代码里面有几个调用,但是没有比较和跳转,所以不用管它,一路F8
0068B6D8 |. 58 pop eax ; 02F9A5A4
到过这里的时候,寄存器窗口出现一个比较令人的关注的信息
EDX 02F9A5F4 ASCII "Dp30-1373268d5-9313"
会不会是真正的注册码呢?复制下来,然后继续运行软件,提示注册失败后,再把Dp30-1373268d5-9313复制到注册窗口中,点击注册!提示注册成功!
重新启动软件,提示注册窗口不再出现!说明这个注册码是正确的,下面我们再制作一个内存注册机
,暂时只会用KeyMake
打开keyMake,选择另类注册机
点浏览选择库管软件的exe文件,然后添加中断地址,第一个中断地址为关键CALL的地址
0068B3BD . E8 AE020000 call 0068B670 //加密算法调用关键CALL
这里输入
第二个中断地址为寄存器获得注册码的地址
0068B6D8 |. 58 pop eax ; 02F9A5A4
因为注册码为字符串,所以在注册码获得这儿选内存方式
点击生成!
将内存注册放到库管软件的目录下运行!
点注册按钮后,提到到正确的注册码,破解完成
软件下载地址是:
http://118.123.9.84/download-files/lenofiles/Depot3000-266.zip有兴趣的朋友可以下载研究一下
做好的注册机:
zcj.rar
[课程]FART 脱壳王!加量不加价!FART作者讲授!