0.OD-基础操作
来源:互联网 发布:如何编写软件测试报告 编辑:程序博客网 时间:2024/06/05 08:41
1.按F9运行程序
2.ctrl+G打开跟随表达式窗口,输入的Api大小写敏感,函数名大小写必须正确
3.Alt+B打开断点窗口,Always表示断点激活状态,Disable表示断点停用,按空格键可切换状态
4.Alt+n打开输入输出表,Alt+C回到主窗口
5.Alt+F9回到调用函数的地方.
6.API函数基本采用_stdcall调用约定,参数按从右到左入栈,由被调用者清理栈中参数,返回值放在eax寄存器中,因此对API要分析其前的PUSH指令,这些指令将参数放进堆栈以传送给API调用,
C代码中的子程序采用C调用约定,同线参数按从右到左入栈,由调用者清理栈中的参数。
7.int3指令,机器码是CCH,又常称为CC指令,也就是按F2下的断点,虽然显示的是下断前的指令,但实际上已被替换成cc了.
8.硬件断点原理是使用4个调试寄存器(DR0,DR1,DR2,DR3)来设定地址,因此最多只能设置4个断点,右击寄存器面板窗口,执行view debug registers,就可以看到DR0,DR1,DR2,DR3了,右键选breakpoint--->hardware,on execution(断点/硬件执行)命令,按F9执行程序,程序中断到硬件调试这一行,查看调试寄存器,会发现DR0的值和中断点的内存地址一致。设置断点后,实际就是把DR0,DR1,DR2,DR3其中一个设置为断点的内存地址,删除,单击菜单"debug-->Hardware breakpoints(调试/硬件断点)",打开硬件断点面板,单击delete删除相应的硬件断点.
9.F4,可以执行到光标所在的行,利用的就是调试寄存器原因,中断后自动删除,相当于一次性硬件断点,硬件断点的速度快,缺点是最多能使用4个断点。
整理下基本快捷操作:
F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点。
F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到 CALL 等子程序不进入其代码。
F7:单步步入。功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。
F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停。
F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行。
CTR+F9:执行到返回。此命令在执行到一个 ret (返回指令)指令时暂停,常用于从系统领空返回到我们调试的程序领空。
ALT+F9:执行到用户代码。可用于从系统领空快速返回到我们调试的程序领空。
ALT + F2 关闭被调试的程序。如果程序还在活动状态,你会被询问是否执行该操作。
- 0.OD-基础操作
- 0.OD-基础操作
- od基础
- OD操作指南
- OD教程(汇编基础)
- OD教程(基础--断点)
- note : OD操作整理-杂记
- OD工具管理(INI文件操作)
- note : OD操作整理-修改常量字符串;保存PE文件
- experiment : 用OD下消息断点, 捕获按钮操作.
- 170410 汇编-ret和call,OD-基本操作
- 萌新各种安全知识科普,API,OD,脱壳,加壳,基础科普
- OD破解
- IBM OD
- OD Commands
- od 快捷键
- OD隐藏
- od命令
- fork()的继承内容
- ubuntu 环境 安装 使用 eigen
- error C2601: “...”: 本地函数定义是非法的 && IntelliSense: 不能在成员函数的类外部重定义
- windriver下的WDC_DMAContigBufLock函数和WDC_DMASGBufLock函数的区别
- SSH整合
- 0.OD-基础操作
- PL/SQL 基础知识
- Spring 独立式整合&引入式整合
- Jumpserver v0.4.0 版本安装详细过程
- 偏最小二乘模板
- 在CentOS7下搭建LAMP+SSL 的配置
- 逆向BSides SF CTF之flagstore.apk
- 熵权法
- JavaBean详解