




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工具介绍OllyDbg调试器,1,什么是OllyDbg?,OllyDbg简称OD,是一款具有可视化界面的用户模式调试器,结合了动态调试和静态分析,具有强大的反汇编引擎,能够识别数千个被C和Windows所使用的函数,并能将其参数注释出,能自动分析函数过程、循环语句、代码中的字符串等。,下面认识一下OllyDbg的界面,2,显示被调试程序的反汇编代码,显示当前所选线程的CPU寄存器内容。,显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等,显示内存或文件的内容。,显示当前线程的堆栈,3,反汇编窗口的列中,双击的效果:,地址列:显示相对被单击地址的地址,再次双击返回到标准地址模式;Hex数据列:设置或取消无条件断点,对应的快捷键是F2键;反汇编列:调用汇编器,可直接修改汇编代码;注释列:允许增加或编辑注释,对应快捷键是“;“键,4,调试中我们经常要用到的快捷键有这些:F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到CALL等子程序不进入其代码F7:单步步入。功能同单步步过(F8)类似,区别是遇到CALL等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行CTR+F9:执行到返回。此命令在执行到一个ret(返回指令)指令时暂停,常用于从系统领空返回到我们调试的程序领空ALT+F9:执行到用户代码。可用于从系统领空快速返回到我们调试的程序领空,5,如何加载程序?,点击菜单文件-打开(快捷键是F3)来打开一个可执行文件进行调试点击菜单文件-附加来附加一个已运行的进程上进行调试。注意这里要附加的程序必须已运行。,6,基本操作:,1、准备工作我们以Traceme这个软件为例,了解Traceme序列号的验证流程,7,2、加载目标文件调试,运行OllyDbg后,打开选项/调试设置,程序运行之后,在系统空间里会触发一个INT3,文件入口点,程序的Winmain()函数入口点,但一般都是在文件入口点,8,设置完成之后,载入文件,出现如图所示:,虚拟地址,机器码:CPU执行的机器代码,汇编指令:和机器码对应的程序代码,9,3、单步跟踪,调试器一个最基本功能就是动态跟踪,OllyDbg单步跟踪功能键:,F7与F8的区别:在遇到CALL时,F8会直接跳过,而F7就跟进去,10,4、设置断点,断点是调试器的一个重要功能,它能使程序中断在需要的地方,从而方便对其分析,常用的断点是INT3,其原理是OllyDbg将断点处的代码设置为int3指令。方法:将光标移动到要设断点的行,按F2键就可以设置了,也可以双击Hex数据列目的:可以让软件运行的时候停在设断点的地方,以方便反复跟踪调试当关闭程序时,OllyDbg会将设置好的断点保存在UDD文件中,下次运行时还有效。,11,5、调试分析:,调试分析其实就是分析程序代码的意义,如图:,阅读这些代码时,首先要搞清楚各API函数的定义,还弄明白那些汇编程序代码的具体含义,12,6、保存修改后的文件,图中红色的就是我们修改的地方,然后就点右键,复制到文件,就可以保存当前的修改,13,我们现在来举个简答你的例子,破解TraceMe的注册码,操作步骤如图:,14,首先当然要载入TraceMe,载入之后就会出现如下窗口,文件入口点,然后我们要找到GetDlgItemTextA函数,因为程序从文本框中将内容读取出来,需要用到这个函数。我们就用Ctrl+G打开跟随表达式的窗口,在里面输入函数名就可以跟踪到函数名存在的地方,15,注意:此时的领空是模块USER32,领空就是在某一时刻,CPU的CS:EIP所指向代码的所有者,领空,接着,在USER32的领空中,在77D6B05E代码行按下F2,下断点,然后按F9运行,然后键入下图所示:,16,点check,可以看到程序被OD截停在下断点的地方,如图所示:,接着,按Alt+F9,返回到用户代码,可以回到:,注意:这里又回到TraceMe的领空了,我们可以按Alt+B调出断点窗口,然后将GetDlgItemTextA的断点改为已禁止,17,接下来就在004011AE下一个断点,因为这里有调用到GetDlgItemTextA这个函数,然后就要开始分析这些汇编代码的意义,所以,我们在使用这个软件的时候,一定要明白这些代码的含义,现在我们只是先认识一下这个软件的作用,所以就不为大家做出分析,接下来就是修改代码了。其实我们要是分析下来,可以发现,其实问题就在于一个代码行-004011F5,18,修改这一反汇编代码段,双击反汇编列后者按空格键,键入NOP,点汇编,最后F9运行,你会看到:,19,下面就介绍一些分析常用的汇编代码含义:,MOV传送字或字节如MOVAB,就是将B中的字传给APUSH把字压入堆栈CALL子程序调用指令XOR异或运算所谓异或,就是两值不同,则为真,反之,为假RET子程序返回指令CMP比较.(两操作数作减法,仅修改标志位,不回送结果)JNZ(或jNE)OPR-结果不为零转移,测试条件ZF=0DEC减1INC加1JZ(或jE)OPR-结果为零转移,测试条件ZF=1SUB减法LEA装入有效地址例:LEADX,string;把偏移地址存到DX.MOVSX先符号扩展,再传送REP当CX/ECX0时重复AND与运算TEST测试.(两操作数作与运算,仅修改标志位,不回送结果),20,上面是我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国草本植物行业发展趋势分析与未来投资战略咨询研究报告
- 社区筛查工作总结
- 弱电负责人年度工作总结
- 离婚协议签订注意事项及子女抚养权及监护权协议
- 高净值人士离婚财产分割与子女抚养费约定合同样板
- 离婚协议中夫妻共同债务分割及追偿范本
- 社区社区活动场地租赁及社区文创产品推广合同
- 护理人员服装礼仪标准
- 离婚子女抚养费用调整及子女生活费用调整补充协议
- 2025至2030中国冻干粉针剂行业运营态势与投资前景调查研究报告
- 五年级上册英语课件-Unit 4《Hobbies》|译林版
- 风障、阳畦、温床及遮光设施的性能及应用课件
- 外科缝合技术课件
- 国际商务文化与礼仪课件
- 人工智能导论课件
- 部编版(人教版)三年级语文上册、下册教材解析及教学建议课件
- 危险化学品安全生产技术培训教程(-)课件
- 质量异常处理单、不合格品审理单
- 中国石油天然气集团公司建设项目其他费用和相关费用的规定
- 道路交通事故现场图绘制PPT讲解(104页)
- GB∕T 41098-2021 起重机 安全 起重吊具
评论
0/150
提交评论