CrackMe破解之Acid_burn

1. 刚打开程序,就出现一个NAG[hello you have to kill me ], 这是要去我们要把他去除掉。

2.我们点确定,进入,查看界面有serial/name 和serial两种类型的验证界面。

 3.这就是程序全部的界面了,要求我们去掉NAG,再通过两个验证。

一、去除NAG

1. 托入OD(ollydbg),F8单步,发现到0042FD97地址的时候出现窗口了,现在在0042FD97下断点,重新加载,F7跟进这个Call中。

 2.进入之后再进行F8单步走,查看那个call会出现弹窗。

 3.这里又出现了弹窗,下段点00429FC2,重新载入,再F7进入这个call中。

4.这里是00429FC2的Call中继续进行F8单步找关键call或者关键跳。

 5.F8单步到0042563D的call中又出现了弹窗,现在往上看到一个je,可以跳过这个call的调用,所以可以在这里修改看看能不能取消掉NAG。

 6.将je修改为jmp

 7.进行保存,保存为Acid burn1。

 8.打开后就会直接没有NAG了。

二、serial/name

1.将刚刚的acid burn1放入OD中,进行中文智能搜索,找到了两处【sorry,The serial is incorect】

 2.先双击进入研究研究,发现下面的sorry字符串有两个关键跳,比较符合。

 3.jnz要是实现的话就会出现try again,所以我们让jnz不实现,改为je或者nop掉都可以,我选择了NOP。

 4.保存文件为Acid burn2

 5.再运行 Acid burn2,good job!成功爆破。

算法不难,首先会判断Name的长度不能小于4。其次,会将Name的第一个字符拿出来用十六进制表示,将这个数乘0x29,再乘2,得到的数用十进制表示,加到CW-****-CRACKED中,得出最终的Serial。

 附上一个简单的python脚本:

user = raw_input("Please enter your name:") 
print 'CW-' + str(ord(user[0]) * int(0x29) * 2) + '-CRACKED'

 三、serial

1.将Acid burn2托入OD进行Serial的爆破,关键字符是failed, try again

 2.中文搜索引擎,智能搜索,成功搜索到,双击进入反编译界面。

 3.和第二个serial/name有点像,将jnz NOP掉,就不会跳转到failed这里。

 4.另存为 Acid burn3 到桌面。

5.爆破成功。

 至此, Acid burn程序的全部都已crack成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值