赞
踩
前言:本文为小白的一个简单crackme逆向破解过程。
1.1运行程序,观察分析结构
1.2peid分析PE文件结构
分析发现该PE文件并未加壳
1.3载入od分析其运行过程
采用字符串搜索法,找到爆破入口点,查找->所有文本参考字符串,找到跳转的位置,从而实现爆破。
将jnz short 004015AD即可实现爆破,直接nop使得其无法跳转。
1.4保存修改的文件
将修改好的指令,复制到可执行文件,保存即可实现爆破。即任何密码都可成功
2.1密码的长度比较
通过跳转位置,确定函数的入口点,单步执行,发现调用了我们输入的密码,以及lstrlen函数
该函数适用于比较字符串长度的。(如果密码长度不正确将跳转并重新输入数字)
2.2密码的比较
本题较为简单,原密码已经存储于程序中,在验证过程中将其调用,并与输入的密码作比较。分析lstrcmpA函数可知,该函数为字符串比较函数,截图中已经将原密码压入堆栈,如右下方所示。至此分析完毕。
总结:此文为小白第一次写逆向破解的文章,如有不当之处,请大佬们指出,感谢大家的支持和鼓励。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。