4.OD-调试示例1
来源:互联网 发布:手机制作纯音乐软件 编辑:程序博客网 时间:2024/06/08 01:37
使用TraceMe.exe
OD按F3加载TraceMe,再按F9运行起来,如图所示
设置一个断点:
Ctrl+G打开跟随表达式窗口
OllyDbg里对API的大小写敏感,输入的函数名大小写必须正确,比如以下两种写法都是不正确的:
点击OK后,会跳到系统User32.dll的GetDlgItemTextA函数入口处:
按Alt+B快捷键或单击B按钮打开断点窗口,如图所示:
这里显示的断点不包括硬件断点
Ctrl+N :打开当前模块的名称(标签)列表
比如刚开始进入TraceMe时,按Ctrl+N打开的是TraceMe的名称列表
在Ctrl+G查找User32.dll的GetDlgItemTextA成功后:
输入字符,按OK,断点断下来,
按Alt+F9回到调用函数的地方:
我们发现,入口地址是004011AE,那么对它下个断点(F2),同时ALT+B打开断点窗口,把GetDlgItemTextA禁用掉(使用空格可以切换)
重新点击Check,断下来了,中断后的代码如下:(图和上面图一样)
后面的注释是我顺便加的,方便理解,;键是加注释的快捷键.
那么要成功注册现在有两种方法:
1.在运行到004011F5时直接改ZF为0
2.直接加入nop取代,这个是选中004011F5这一行,双击鼠标或单击空格键,输入指令NOP:
如图:
如果新的指令比原来的指令短,只要你勾选了对话框上的“Fill with NOPs”选项,OllyDbg就会用NOP指令(no operation,空操作指令)来补充
为了使这个改变写入磁盘文件中,方法是用鼠标选中修改过的代码,单击鼠标右键,执行"Copy to executable/Section"命令:
比较好懂的,Selection,选中部分,All modifications肯定就是所有修改过的地方
像这种屏蔽程序的某些功能或改变程序流程,使程序的保护方式失效的方法称为patch(补丁)或爆破
接下来,算法分析:明显在004011E5这下个断点:F7step into断点:
刚我们跟踪的结果是eax为密码字符串地址,edx为用户名字符串地址,ebx为用户名字符串长度
- 4.OD-调试示例1
- 4.OD-调试示例1
- 程序阻碍OD调试的方式1
- delphi 源码调试--OD
- OD调试服务
- wow之OD调试
- OD带源代码调试
- OD 跟踪调试经验
- OD调试多线程
- 删除OD调试记录
- OD调试器DIY
- OD调试问题
- OD调试之总结
- OD反调试
- 4.OD-调试实例续(消息断点)
- 1 OD调试器(断点,汇编指令MOV)
- 给OD扩展功能示例
- OD使用教程 调试篇
- 【HPU 1195 】Mod 【二分+打表】
- Android studio首次安装提示unable to access android sdk add-on list
- js的声明跟引入
- 【Java基础】将数组转换为List或者LinkedList
- x264编码综述_个人浅解与参照雷神
- 4.OD-调试示例1
- 半年过去了
- Sort Colors leetcode java
- Codeforces 840C [DP]
- 2017——半年总结
- 5.OD-条件断点、条件记录断点
- 使用scrapy编写爬虫入门
- 6.OD-Run trace /Hit trace
- (zoj 3882 Help Bob)<>