一个简单的逆向

来源:互联网 发布:手机淘宝怎么备注留言 编辑:程序博客网 时间:2024/06/13 16:28

首先运行程序观察程序的提示信息 可以看到程序首先
程序运行图
一个字符串提示 随便输一个 ,出现另一个字符串u r wrong
然后
OD载入程序,字符串查找
这里写图片描述
看到提示的字符串,单击进入f2 下段点,运行程序,断在
单步 跟下来
这里写图片描述
读取字符函数getch() 随便输入一个假码,
这里写图片描述
eax 的值正是输入的假码ascii的码,可以看出这是一个存储的过程
这里写图片描述
继续单步向下
这里写图片描述
输出函数printf
这里写图片描述
向上 跳了回去 这是一个输入的过程 没有不是关键的比较算法,直接在下一句,下断直接 运行过去
这里写图片描述
这个比较 多次调试,可以发现这是一个字符长度的比较 然后 看来这个注册码的长度是17位
这里写图片描述
这块就能看出这个程序的算法,很简单就是在12feb4地址开始每个四个字节,读取一个数,在后面字符串swfxc{gdv}fwfctslydRddoepsckaNDMSRITPNsmr1_=2cdsef66246087138
中以上面地址的数为下标检索字符串
剩下的写python脚本
这里写图片描述

跑出来感觉有点不对,放到程序里运行一个果然不对 ,
重新载入OD ,运行,之前的算法确实是的
这里写图片描述
向后才发现还有比较 跟踪一下地址发现这个字符是在我们输入的字符之后
看来这后面还有一些字符,
这里写图片描述
根据比较,可以看出来剩下的几个字符就是那几个ascii码,就是1024}
到此就搞定了
这里写图片描述

0 0
原创粉丝点击