逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解
2017-05-13 14:54
423 查看
首先我们随便输入试一下
然后我们打开OD进行调试:
我们根据字符串来检索,然后找到相应的地址,OK,我们点进去。
然后,跟进:
我们从这里发现了信息框的标题,信息框的内容,然后上面我们还发现了条件分支,我们猜测这里就有可能是一个字符串的判断后的跳转
上面的call就是判断函数,再上面的PUSH就是参数,我们在上面下个断,然后调试:
此时我们点击按钮,让它断下来:
我们此时看一下寄存器的地址:
我们再数据窗口跳转到19F1A8:
然后设置一下地址显示的格式,让它更加明了:
此时:我们可以在下面看到如下的字符串:
2222是我们自己输入的,95959595是程序调试出的
我们猜测程序通过比较2222和[b]95959595来判断是否允许check[/b]
[b]
我们试一下:[/b]
[b]
[/b]
[b]OK,破解成功!
[/b]
然后我们打开OD进行调试:
我们根据字符串来检索,然后找到相应的地址,OK,我们点进去。
然后,跟进:
我们从这里发现了信息框的标题,信息框的内容,然后上面我们还发现了条件分支,我们猜测这里就有可能是一个字符串的判断后的跳转
上面的call就是判断函数,再上面的PUSH就是参数,我们在上面下个断,然后调试:
此时我们点击按钮,让它断下来:
我们此时看一下寄存器的地址:
我们再数据窗口跳转到19F1A8:
然后设置一下地址显示的格式,让它更加明了:
此时:我们可以在下面看到如下的字符串:
2222是我们自己输入的,95959595是程序调试出的
我们猜测程序通过比较2222和[b]95959595来判断是否允许check[/b]
[b]
我们试一下:[/b]
[b]
[/b]
[b]OK,破解成功!
[/b]
相关文章推荐
- 逆向工程核心原理学习笔记(二十七):abex'crackme #2 破解算法
- 逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探
- 逆向工程核心原理学习笔记(二十六):abex'crackme #2 name的存取
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
- 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
- 逆向工程核心原理学习笔记1-通过IAT手工定位notepad.exe中的导入函数
- 逆向工程核心原理学习笔记(九):小端序标记法2
- 逆向工程核心原理学习笔记(七):总结
- 逆向工程核心原理学习笔记(三):检索API方法
- 逆向工程核心原理学习笔记(一):寻找程序的主函数(Main)
- 逆向工程核心原理学习笔记(二):字符串检索法查找main函数
- 逆向工程核心原理学习笔记(三):检索API方法
- 逆向工程核心原理学习笔记(二十一):栈帧8:删除函数add()的参数(整理栈)
- 逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解
- 逆向工程核心原理学习笔记(四):检索API方法2-设置断点
- 逆向工程核心原理学习笔记(十六):栈帧3:add()函数参数传递与调用
- 逆向工程核心原理学习笔记(一):寻找程序的主函数(Main)
- 逆向工程核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)