一、OD主界面
- OD调试主窗口中的工作区大致可以分为6个部分,按照从左往右、从上往下,这6部分分别是反汇编窗口、信息提示窗口、数据窗口、寄存器窗口、栈窗口和命令窗口。
下面分别介绍各个窗口的用法。
反汇编窗口:该窗口用于显示反汇编代码,调试分析程序主要在这个窗口中进行,这也是进行调试分析的主要工作窗口。
信息提示窗口:该窗口用于显示与反汇编窗口中上下文环境相关的内存、寄存器或跳转来源、调用来源等信息。
数据窗口:该窗口用于以多种格式显示内存中的内容,可使用的格式有Hex、文本、短型、长型、浮点、地址和反汇编等。
寄存器窗口:该窗口用于显示各个寄存器的内容,包括前面介绍的通用寄存器、段寄存器、标志寄存器、浮点寄存器。另外,还可以在寄存器窗口中的右键菜单选择显示MMX寄存器、3DNow!寄存器和调试寄存器等。
栈窗口:该窗口用于显示栈内容、栈帧,即 ESP或 EBP寄存器指向的地址部分。
命令窗口:该窗口用于输入命令来简化调试分析的工作,该窗口并非基本窗口,而是由OD的插件提供的功能,由于几乎所有的OD使用者都会使用该插件,因此有必要把它也列入主窗口中。
注意:在汇编代码中定义变量,db表示字节类型, dw表示字类型,dd表示双字类型。而在表示数值的时候,以h结尾的表示十六进制数,以b结尾的表示2进制数,结尾处没有修饰符的默认为十进制数。
常用的字节序涉及的函数:
u _short htons (u_short hostshort);
u_long htonl (u_long hostlong ) ;
u _short ntohs (u_short netshort);
u _long ntohl(u_long netlong) ;