首页
社区
课程
招聘
[原创]CrackMe第一题 汇编不够 暴力来凑
2017-6-1 19:43 3083

[原创]CrackMe第一题 汇编不够 暴力来凑

2017-6-1 19:43
3083
拿到程序后,习惯性的扔到IDA里看下 哟 看到了什么 Registration Succesful!

跟着走 应该就是这儿了 换OD

程序扔OD里跑起 随便输了个123456看看


加个断点再看 看来没错就是这儿了


往上翻 直到看到 GetDlgIteTextA 加个断点


看来这里就是我们要分析的起点了 开始往下逐步执行


经过第2个call后 eax变为6 我怀疑该函数为取注册码长度 用12345 试了下 发现eax变为5 由此确认该函数的功能为取注册码长度

往下分析代码看到紧接着 一个jnz 怀疑注册码的长度应该为4 跟着jnz跳过去 验证这个猜测

换了1234 跟着程序继续往下走 接下来这段代码就很直观了 判断注册码中有等于0的就跳转 第一位不等于1也跳 第二位不等于5也跳

由此可以猜出前2位为1和5 要是保持这个难度 那真是毫无难度了


我一看到f开头的汇编指令就头疼 跟着走了几步不知道它要干什么 糊里糊涂的 只好另寻它法 

从关键跳jnz short 004012D6开始逆向分析

百度了下 sahf 说什么把AL赋给flag  往上找ax

fstsw不太清楚是干嘛的 反正是操作ax的  继续往上 fcomp 一个固定的值?

和一个固定的值进行比较操作 可疑大大的啊

下断点看看 384和179比较 看来有点意思 换了1511得到128 于是猜测

注册码的后两位经过种种运算得到的结果和384比较 相等的时候 注册码就应该是对的了

在该断点断住后 直接在ST0里改成384  运行成功注册 猜测验证 下面就到了 激动人心的猜验证码环节


暴力的猜验证码  猜了13次终于推出来了

智商不够 暴力来凑


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 1
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
imbaya 2017-6-22 22:44
2
0
6
雪    币: 222
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
what_fuck 2018-4-1 10:55
3
0
这个厉害
游客
登录 | 注册 方可回帖
返回