160crack--ajj1(Crack,简单)

先观察程序,没有确定按钮,随便点一通,
拖入OD,字符串搜索
有搜到"注册成功"

网上找,能找到cmp对比,以及关键跳转

为了测试是否是这个跳转,下断点,随便输入用户名和注册码(有长度限制),运行
到达断点处
修改跳转测试
成功,说明就是这个跳转,看他的判断条件
发现01281c14的值为0,尝试在此下硬件写入断点,重新运行,然而并没有断下来,说明给这个地址赋值0x85的是一个分支,并且很有可能是直接立即数赋值
尝试搜索命令

结果


果然跟猜测的一样,来到这里

同样方法,发现跳转条件是

继续搜索

,然而这次什么都没搜到,再尝试使用模糊搜索,(当然也可以一开始就用模糊搜索)
结果
来到这个地方

观察上边的这个函数,发现赋值了eax和edx


可以看到eax为我们输入的值,edx为一串很想序列号的字串,所以这个函数很可能是对比序列号的函数,下断点,(此处断点会发现,在我们输入注册码操作时会断下,由此发现是即时获取注册码)

并且我们观察到字串最后跟我们输入的用户名一样,可以猜测,是否是用户名
为了验证,我们重新输入其他数值.

运行
貌似跟我们猜测的一样,尝试输入,双击图片位置

结果成功,算法一眼就看出来了,算法就懒得看了,全程靠猜,大胆猜测,小心验证,能节省很多时间.

















posted @ 2018-03-30 11:18  程序员70%的时间都在起名字  阅读(241)  评论(1编辑  收藏  举报