爆破注册码注册

精髓:找到关键验证方法或者关键跳转,将其修改


未注册


用OllyDbg将其载入,F9运行,ALT+E选择本程序模块

发现为如图样子



解决方法为:右键--分析--从模块中删除分析

变成如下代码



我们通过找软件的关键提示语句来找关键CALL或者跳转

右键中文查找Unicode

发现如下语句:



双击点进去,看到的代码是注册成功时要运行的代码

好了,现在该仔细考虑一下了,如果我们在写一个保护的时候,步骤是我先验证一下注册是否合法,如果合法会跳到注册成功的地方,否则跳到别处,所以我们猜测他的关键跳转应该在注册成功的代码上面。

往上找找到:


发现这三行代码影响成功与否,而最后的je跳转会跳过成功注册的代码,好了,我们在CALL处下断,运行程序执行到此,F8单步,CALL的返回值返回给EAX=0,test al,al之后,ZF标志位为1,影响到JE跳转,我们把ZF标志位置0,JE不跳转后,单步向下,提示注册成功:



好了,关键跳转找到了,第一想法是把JE跳转语句NOP掉,重启软件之后发现并不起作用。

由此想到JE的跳转是因为TEST al,al将标志寄存器更改,AL的值又是受刚才的关键CALL影响,所以我们去该这个关键CALL

右键---跟随  进去CALL的内部代码




我们想让此CALL返回1,可以在短尾也可以在段首更改代码:



在段首修改成这样,因为短尾市retn 0X4 故这里也是

好了,复制到可执行文件即可完成破解

成功如下,注册变为灰色按钮:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值