逆向破解-crackme001(共160)之Acid burn – 作者:steward

crackme系列是本人学习逆向进行实操练手系列。持续更新,高手勿喷,欢迎逆向爱好者交流学习。

软件界面:

1626102124_60ec596c1585b2c84f01d.png!small

1626102148_60ec598499f07779d41b0.png!small

尝试使用字符串方式在OD查找关键点

1626102242_60ec59e24c754d440c48c.png!small

1626102307_60ec5a2345446e050fc1c.png!small

发现关键跳转,打断点,运行程序,F8单步查看程序运行汇编逻辑,发现上图的并不是突破口,F8运行继续找突破口,发现以下位置

1626102587_60ec5b3bb71e93baada8b.png!small

该步骤跳转成立,此处改为NOP空指令,让程序不跳转,继续执行,破解了Serial/name部分。

1626102690_60ec5ba24618021d3bacf.png!small

另外serial部分:

1626102783_60ec5bff288920fcdb00c.png!small

1626102798_60ec5c0ecbaddcaa468de.png!small

继续尝试寻找字符串方式定位

1626102839_60ec5c37aed298e3408c7.png!small

该处有3个Try again,都看一下,打断点看然后跑程序,看哪里断下来,哪里就是关键位置

程序断在这个断点上了。1626103051_60ec5d0b63c5dd04dbdd3.png!small

网上看一下,分析汇编代码,看到关键call之后进行条件判断跳转,此时把关键call下一步的条件调jnz改为空指令,尝试一下

1626103157_60ec5d75f420635cc9a3a.png!small

顺利破解

1626103250_60ec5dd209c4a6d68ce6a.png!small

总结

1.字符串方式寻找关键突破口

2.上下看汇编代码,在准备弹窗更早的位置进行下断点

3.汇编NOP空指令

4.以后的crackme挑战可能有不能通过字符串方式定位关键点的,可以尝试使用windows 的api进行下断。

来源:freebuf.com 2021-07-12 23:30:56 by: steward

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论