第一次自己逆向出别人的算法,挺开心的。
本CM并不难,关键是要耐心。本篇小文纯属小菜分享心得以及记录下自己的足迹,以激励自己继续前进,并逐渐总结经验。
我下手的是两个程序,第一个程序通过字符串,很快就看到相关函数;第二个程序加了用户名的验证,爆破可以直接搞定,于是我就开始逆向它的算法。过程稍稍有点曲折,不过最终还是破解出来了。下面开始分享我的两个程序的破解逆向过程。
【第一枚】BradSoblesky.1
1、 运行程序 ,尝试胡乱输入密码,看看它的弹出框会显示什么信息
2、发现字符串”Incorrecttry again!!” 于是在OD中查看字符串列表,锁定字符串位置
发现上方有字符串比较的函数,以及经典的判断字符“jnz”于是初步可以判断字符串比较函数是和真正的密码比较的。
3、在开始的地方下好断点,运行程序,再单步几下,立刻可以发现密码已经出来了:
asdasdasd是我胡乱输的,上面的<BrD-SoB>就是密码。
4、运行原来的程序,输入密码,成功破解
【爆破】爆破的方法很简单,把jnz nop掉就口以啦。
【第二枚】BradSoblesky.2