traceme 爆破小记
2015-06-18 17:08
218 查看
在 OD 中 F3 加载 traceme.exe
F9 运行,出现如下界面
猜测输入使用 GetDlgItemTextA,
ctrl + F2 重新运行,快捷键 ctrl + G 查找到 GetDlgItemTextA 位置处,下断点。
F9 运行,弹出注册界面,输入用户名 hello,序列号 world。
按下 check,执行到 GetDlgItemTextA。按 F8 继续走。注意“信息窗口”,
会出现 “stack address=0012F968, (ASCII "hello")” 这样的信息。
猜测 call traceme.00401340 执行判断的逻辑。先继续 F8 往下走。
发现在 je short traceme.0040122E 处发生跳转。并且在最终弹出错误提示。
于是猜测若是 je short traceme.0040122E 不发生跳转可能可能成功。
重新执行,在执行到 je short traceme.0040122E 处将 ZF 改为 0,发现不跳转。
F8 继续走会出现成功的提示。
修改 je short traceme.0040122E 为 nop 指令。并保存。
F9 运行,出现如下界面
猜测输入使用 GetDlgItemTextA,
ctrl + F2 重新运行,快捷键 ctrl + G 查找到 GetDlgItemTextA 位置处,下断点。
F9 运行,弹出注册界面,输入用户名 hello,序列号 world。
按下 check,执行到 GetDlgItemTextA。按 F8 继续走。注意“信息窗口”,
会出现 “stack address=0012F968, (ASCII "hello")” 这样的信息。
猜测 call traceme.00401340 执行判断的逻辑。先继续 F8 往下走。
发现在 je short traceme.0040122E 处发生跳转。并且在最终弹出错误提示。
于是猜测若是 je short traceme.0040122E 不发生跳转可能可能成功。
重新执行,在执行到 je short traceme.0040122E 处将 ZF 改为 0,发现不跳转。
F8 继续走会出现成功的提示。
修改 je short traceme.0040122E 为 nop 指令。并保存。
相关文章推荐
- Oracle 性能报告 AWR
- 通过OutLook 2010 找回误删除的邮件
- 彻底理解ThreadLocal
- Java并发编程实践 读书笔记
- javascript中的继承特性
- object-c 系列教程
- Python WebDriver自动化测试
- HBase数据库性能调优(1)
- mysql重连的问题
- Oracle 性能报告 ADDM
- 百度ueditor上传图片时设置默认宽高度
- GitHub上史上最全的Android开源项目分类汇总
- 初级ABAPer考题
- SpringMVC学习 (五)
- C++12.3 (下) 类作用域中名字查找(局部和全局)
- Flume NG源码分析(七)ChannelSelector
- Java-马士兵设计模式学习笔记-工厂模式-简单工厂
- 文本框只同意输入数字
- Oracle自动提交,主键自定生成
- Oracle 性能报告 ASH