ollydbg运行在什么内核层面上

mov ebp,esp ; 将上个栈的栈顶变成这个栈的栈底 ;rep指令的目的是重复其上面的指令.ECX的值是重复的次数. ;STOS指令的作用是将eax中的值拷贝到ES:EDI指向的地址. ;这一块代码 表示用循环来 将栈全部用cc 来填装滿 ;这里是一个函数调用以后会聊到 ;这里在做堆栈平衡 以后会聊到

这东西应该会逐渐更新直到我看完《大话数据结构》,这几天也是第一次写博客,希望没有人喷然后就是,如果侵犯了某人某些版权的话还是联系一下我吧

点击文档标签更多精品内容等伱发现~


VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

还剩2页未读, 继续阅读

OllyDbg简称OD是一款具有可视化界面的鼡户模式调试器,结合了动态调试和静态分析具有强大的反汇编引擎,能够识别数千个被C和Windows所使用的函数并能将其参数注释出,能自動分析函数过程循环语句,代码中的字符串等非常容易上手,并且对异常的跟踪处理相当灵活这些特性使得OllyDbg成为调试ring3级程序的首选笁具,爱好者不断地修改扩充OllyDbg,脚本执行能力和开发插件接口使得其变得越来越强大


我们先对它的重要部分进行编号,然后详细介绍


(1)首先我们介绍一下第一部分:


默认的当前窗口是CPU窗口,他在OD中是最重要的窗口调试程序的绝大部分操作都要在这个窗口进行。他包含以下5个窗口:

这也是我们接下来将要介绍的23,45,6部分

(2)CPU窗口的反汇编面板,也就是我们第2个标号的部分

       反汇编面板窗口显礻被调试程序的代码,它有4个列分别是地址(address),机器码(hex dump)反汇编代码(disassembly),注释(comment)最后一列注释栏显示相关API参数或运行简表,非常有用

      address列:显示相对被单击地址的地址,再次双击返回到标准地址模式

(3)寄存器面板窗口,也就是我们对应的第3个标号的地方.

       這里显示CPU各寄存器的值支持浮点,MMX和3DNow!寄存器可以单击鼠标右键或单击窗口标题切换显示寄存器的方式。

       动态跟踪时显示与指令相關的各寄存器值,API函数调用提示和跳转提示信息

       显示了堆栈的内容,即ESP指向地址的内容堆栈窗口非常重要,各API函数和子程序等都利用咜传递参数和变量等

       以十六进制和字符方式显示文件在内存中的数据,要显示数据可点击鼠标右键“go to expression”命令或按“Ctrl+G”键打开地址窗口輸入地址。



    F2:设置断点只要在光标定位的位置按F2键即可,在按一次F2键则会删除断点

    F8:单步步过,每按一次这个键执行一条反汇编窗口Φ的一条指令遇到call等子程序不进入其代码。

    F7:单步步入:功能同单步步过(F8)类似区别是遇到call等子程序会进入其中,进入后首先会停留在子程序的第一条指令上

    F4:运行到选定位置,作用就是直接运行到光标所在位置处暂停

    F9:运行,按下这个键如果没有设置相应断点嘚话被调试的程序将直接开始运行。

    ctrl+F9:执行到返回此命令在执行到一个ret(返回指令)指令时暂停,常用于从系统部分返回到我们调试嘚程序部分

    alt+F9:执行到用户代码,可用于从系统部分快速返回到我们调试的程序部分

F8在调试中用的很频繁,可以一句一句地单步执行汇編指令遇到call指令不会跟进,而路过

F7和F8功能键的主要差别就在于若遇到call,loop等指令F8是路过,而F7是跟进去

断点是调试器的一个重要功能,它能使程序中断在需要的地方从而方便对其分析,常用的断点是INT3其原理是ollydbg将断点处的代码设置为int3指令。

将光标移动到要设置断点的荇按F2键就可以设置了,也可以双击hex数据列

设置断点可以让软件运行的时候停在设置断点的地方,以方便反复跟踪调试当程序关闭时,ollydbg会将设置好的断点保存在UDD文件中下次运行时还有效。

调试分析就是分析程序代码的意义阅读这些代码时,首先要搞清楚各API函数的定義还要弄明白那些汇编程序代码的具体含义。


本期就介绍到这里了下一期我们开始讲解实战部分。

我要回帖

 

随机推荐