拖入OD,字符串搜索
有搜到"注册成功"
网上找,能找到cmp对比,以及关键跳转
为了测试是否是这个跳转,下断点,随便输入用户名和注册码(有长度限制),运行
到达断点处
修改跳转测试
成功,说明就是这个跳转,看他的判断条件
发现01281c14的值为0,尝试在此下硬件写入断点,重新运行,然而并没有断下来,说明给这个地址赋值0x85的是一个分支,并且很有可能是直接立即数赋值
尝试搜索命令
结果
果然跟猜测的一样,来到这里
同样方法,发现跳转条件是
继续搜索
,然而这次什么都没搜到,再尝试使用模糊搜索,(当然也可以一开始就用模糊搜索)
结果
来到这个地方
观察上边的这个函数,发现赋值了eax和edx
可以看到eax为我们输入的值,edx为一串很想序列号的字串,所以这个函数很可能是对比序列号的函数,下断点,(此处断点会发现,在我们输入注册码操作时会断下,由此发现是即时获取注册码)
并且我们观察到字串最后跟我们输入的用户名一样,可以猜测,是否是用户名
为了验证,我们重新输入其他数值.
运行
貌似跟我们猜测的一样,尝试输入,双击图片位置
结果成功,算法一眼就看出来了,算法就懒得看了,全程靠猜,大胆猜测,小心验证,能节省很多时间.
来自为知笔记(Wiz)