一、断点

认识OD的两种断点:

OllyDBG从原理上来区分,有两种不同的断点:软件断点和硬件断点。

也许会有朋友说那不是还有内存断点吗?

内存断点严格来说是属于一种特殊的软件断点。

内存断点:

内存断点每次只能设置一个,假如你设置了另一个内存断点,则上一个会被自动删除。

设置一个内存断点,会改变整块(4KB)内存的属性,哪怕你只设置一个字节的内存断点。

另外还需要提一下的是,内存断点会明显降低OD的性能,因为OD经常会校对内存。

软件断点:

当我们按下F2设置的断点就是软件断点。

设置该断点的原理是在断点处重写代码,插入一个int3中断指令,当CPU执行到int3指令的时候,OD就可以获得控制权。

硬件断点:

这个原理跟软件断点不同,硬件断点的可行性依赖于CPU的物理支持。

传说中,有这么一些寄存器,它们只用于调试,我们称为调试寄存器:Dr0~Dr7

其中Dr0~Dr3四个寄存器用来存放中断地址,Dr4、Dr5保留不使用,Dr6、Dr7用来记录Dr0~Dr3的属性(如读,写还是执行,单位是字节,字还是双字)。

因此,这就解释了为啥硬件断点只有四个,天生不足哈。

OD教程(基础--断点)相关推荐

  1. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  2. iOS10 UI教程基础窗口的内容与设置起始窗口

    iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口.视图以及UI层次结构和Views的 ...

  3. Django 3.2.5博客开发教程:基础配置

    创建项目之后,我们需要对项目进行最基础的配置.这些配置是我们做项目的时候必须要配置的,所以我们先提前配置好. 我们打开myblog目录下的settings.py文件. 一.设置域名访问权限 myblo ...

  4. sqlalchemy mysql教程_SQLAlchemy 教程 —— 基础入门篇

    SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLA ...

  5. spacy教程--基础

    spacy教程–基础 安装 pip install spacy 训练模型 安装之后还要下载官方的训练模型, 不同的语言有不同的训练模型,这里只用对应中文的模型演示: python -m spacy d ...

  6. Midjourney|文心一格prompt教程[基础篇]:注册使用教程、风格设置、参数介绍、隐私模式等

    Midjourney|文心一格prompt教程[基础篇]:注册使用教程.风格设置.参数介绍.隐私模式等 开头讲一下为什么选择Midjourney和文心一格,首先Midjourney功能效果好不多阐述: ...

  7. 日系原画教程基础-张聪-专题视频课程

    日系原画教程基础-5072人已学习 课程介绍         通过整体课程让大家详细的了解美术风格之日系的制作手法 课程收益     让大家更加的了解美术在原画中的运用 讲师介绍     张聪 更多讲 ...

  8. 深度学习小白入门教程-基础环境篇

    深度学习小白入门教程-基础环境篇 如有图片显示失败,请回小主主页查看~ Anaconda 安装包下载方式一:官网(科学上网比较慢,不推荐) 安装包下载方式二:清华镜像(推荐) 具体安装步骤(跟着箭头来 ...

  9. 基于c++和asio的网络编程框架asio2教程基础篇:1、基本概念和使用说明

    基于c++和asio的网络编程框架asio2教程基础篇:1.基本概念和使用说明 由于asio2没有写技术文档,因此打算写几篇文章介绍一下如何使用它,主要是针对新手. 1.asio2如何使用? asio ...

  10. 基于c++和asio的网络编程框架asio2教程基础篇:2、各个回调函数的触发顺序和执行流程

    基于c++和asio的网络编程框架asio2教程基础篇:2.各个回调函数的触发顺序和执行流程 以tcp举例: tcp服务端流程: #include <asio2/asio2.hpp>int ...

最新文章

  1. VOICE VOER IP(VoIP)理论(NP水平学的)
  2. Dockerfile基本结构
  3. 【Python】调用百度云API人脸检测 Face Detect
  4. spring boot + zookeeper 注册中心
  5. PlantUML权威教程-时序图
  6. 数据结构学习笔记(三):队列(queue)
  7. 【大数据教程】MapReduce基本架构、统计每个人三次考试成绩的最高分,统计每一个人花费的总流量、按地区,统计每一个人花费的总流量
  8. Qt5.12过时的类
  9. html教程自适应,Html-自适应
  10. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用
  11. 核心组件:IRule
  12. matlab swt函数,matlab swt 函数出错
  13. MySQL8.0: Serialized Dictionary Information(SDI) 浅析
  14. open表和closed表_excel工作表合并,多文件数据一键合成
  15. 廖雄南昌大学计算机系,南昌市社区老年性痴呆患病率及其影响因素
  16. 输入一颗二元树,从上向下按层打印树的每个节点,同一层中,按照从左到右的顺序打印。...
  17. 苹果appID的获取方法
  18. 看漫画学python 豆瓣_CAD图纸查看器
  19. macOS Python安装教程
  20. 水处理过滤器:常见水处理过滤器的种类大全

热门文章

  1. 思科路由视频_HCNA-HNTD(H12-211)中文题库H10.24
  2. android计算器括号,计算器(一)——加减和括号
  3. Xposed 之旅 -- 微信防撤回
  4. linux中找不到vim命令
  5. linux脚本运行出现bc,Linux硬件管理命令---bc
  6. 1、使用xcode9创建swift语言的第一个程序hello world
  7. 快速了解安卓四大组件
  8. 如何修复uefi引导?这种方法才是最有效的解决方法
  9. 同态滤波(光照不均)
  10. IOUtils快速进行内容复制与常用方法