断点 相关技术与原理(2)

继续对OD的断点技术做个笔记。

1、硬件断点:

Intel CPU中有8个调试寄存器(Debug Register)DR0 — DR7,当中DR0 — DR3用于设置硬件断点地址,DR6保存状态,DR7负责控制。当指令运行到DR所指地址时,CPU中断,等待OllyDbg进一步操作。

OllyDbg中,选定一行后按F4键。用于运行到指定位置,就是暂时设置了一个硬件断点。

硬件訪问/写入断点是断在触发硬件断点的下一条指令处。

方法:

在代码处右键->断点->硬件运行。在寄存器窗体右键->查看调试寄存器,能够看到设置成功。

在菜单->调试->硬件断点处。能够看到已经设置的全部硬件断点。

长处:

程序无法检測此类断点。

缺点:

最多仅仅能同一时候设置四个。

2、条件断点\条件记录断点

2.1条件断点

实际上就是普通的CC断点,仅仅只是该断点的触发须要满足设置的条件。

OD的帮助文档中有具体的条件表达式规范。

2.2条件记录断点

比条件断点能够有更具体的条件设定。

工具栏中【L】button打开日志窗体。

3、消息断点

Windows是消息驱动型的系统。消息断点使得某个窗体函数接收到某个消息时产生中断。

方法:点击工具栏中的【w】,假设为空。则右键刷新。

选择一个窗体对象,右键->设置消息断点。

在消息(Message)中设置相应的消息代码,如202 WM_LBUTTONUP等。

设置消息断点通常会停在系统库函数领空,仅仅须要在工具栏【M】的内存区段的代码段(如CODE)设置断点就能够。

(如内存訪问断点)

A、对于堆栈,想要查看比如[esp+8]的地址的位置。仅仅需双击地址就可以。

B、想要查看全部的消息,以查找实用的信息,在信息转换的函数上下消息断点就可以。

如定义(DefWindowProcA)与转换消息(TranslateMessage)的函数上设置断点。

參考文章:

http://bbs.pediy.com/showthread.php?p=1279874#post1279874

http://bbs.pediy.com/showthread.php?p=1280177#post1280177

时间: 2024-10-29 09:04:14

断点 相关技术与原理(2)的相关文章

网络视频相关技术介绍

AnyChat音视频互动开发平台(SDK)是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台.        AnyChat音视频互动开发平台(SDK)包含了音视频处理模块(采集.编解码).流媒体管理模块(丢包重传.抖动平滑.动态缓冲).流媒体播放模块(多路混音.音视频同步)以及P2P网络模块(NAT穿透

ajax 技术和原理分析

ajax所包含的技术 大家都知道ajax并非一种新的技术,而是几种原有技术的结合体.它由下列技术组合而成. 1.使用CSS和XHTML来表示. 2. 使用DOM模型来交互和动态显示. 3.使用XMLHttpRequest来和服务器进行异步通信. 4.使用javascript来绑定和调用. 在上面几中技术中,除了XmlHttpRequest对象以外,其它所有的技术都是基于web标准并且已经得到了广泛使用的,XMLHttpRequest虽然目前还没有被W3C所采纳,但是它已经是一个事实的标准,因为目

j2e应用相关技术

j2e应用相关技术 轻量级j2e应用以传统的jsp作为变现层技术,以一系列开源框架作为MVC层,中间件,持久层解决方案,并将这些开源框架有机组合在一起,使得j2e具有高度的可扩展性,可维护性. servlet,jsp,javabean:现在来说纯粹的Servlet已经很少使用了,往往都是使用jsp来做表示层,也就是说我们每天说的页面.Servlet和Jsp其实是完全统一的,二者在底层的运行原理是完全一样的,在实际运行中,JSP必须被web服务器编译成servlet,真正在web服务器中运行的是S

推送技术——个推技术实现原理介绍

概述 PUSH是互联网上内容提供者和内容定制方之间的一种通信机制,利用在服务器端的程序把数据源源不断地推向客户端,大大提高客户机和服务器之间的交互性能. 传统互联网上数据交互一般有poll和push两种方式.poll典型使用场景是浏览网页,是用户主动发起请求,向服务器获取数据:push刚好相反,通过服务器直接发送数据给客户端,用户被动接受消息,类似于更加及时的短信.Push的使用场景有以下两特点:时间不确定性.时效性,如发送团购信息,发送电子消费账单等. 个推为第三方应用提供了跨手机平台一致的.

转 内存池技术的原理与实现

内存池技术的原理与实现 序言 最近在网上看到了几篇篇讲述内存池技术的文章,有一篇是有IBM中国研发中心的人写的,写的不错~~文章地址在本篇blog最后.原文的讲述比我的要清晰很多,我在这只是把我的一些理解和遇到的一些问题和大家分享一下~~ 一.为什么要使用内存池技术呢 主要有两个原因:1.减少new.delete次数,减少运行时间:2.避免内存碎片. 1.效率 c语言中使用malloc/free来分配内存,c++中使用new/delete来分配内存,他们的内存申请与释放都是与操作系统进行交互的.

写给产品经理的技术书:客户端、服务端和交互相关技术

产品经理有三大领域的技术是需要去攻克的,分别是:客户端相关技术.服务端相关技术.交互相关技术 一.客户端相关技术 1.iOS和安卓产品差异 1.1 应用的设备不同: IOS和安卓最大的区别在于本身所应用的设备不同.IOS系统主要是应用在iPhone.IPad.itouch设备上的操作系统,安卓系统主要是应用在安卓智能手机上的操作系统. 1.2 面向人群不同: IOS系统面向的是中高层收入的人群,有人称它为"高富帅"系统,而安卓系统则是面试中低层的大众人群,有人称它为"屌丝系统

我对大数据相关技术的学习心得及理解

本篇为这一段时间以来我对大数据相关技术的学习心得及理解,主要涉及以下几个方面: noSql, 集群, 数据挖掘, 机器学习,云计算,大数据,以及Hadoop和Spark.主要都是一些初级的概念澄清之类的东西,并且比较凌乱,慎入.* 1. NoSQL我的理解是,NoSQL主要用于存储一些非结构化数据, 是关系数据库与文件存储方式(比如视频文件就适合使用文件的方式存储)的过度. ** 1.1 NoSQL的分类: 列存储: Hbase(BigTable的开源实现),可存储结构化数据. Cassandr

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析 2018年04月03日 13:51:55 阅读数:936 XEN 与 VMware ESXi,Hyper-V 以及 KVM 特点比较: XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能: Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动: Hyper-V 是基于 XEN

TCP-IP-part7-IP协议相关技术(一)

仅凭IP是无法完成通信的,需要一些IP的辅助技术.这些技术的包格式可能不一样,但它们都是基于IP地址进行的,都是通过匹配路由表来进行的,只是功能不一样.例如DHCP分配IP地址,它只管通知这条信息,具体怎么分还要依靠上层. TCP/IP相关内容第七部分,包含: DNS ARP ICMP 一.DNS IP地址不好记,我们希望用主机名代替.DNS负责将主机名转换为具体的IP地址. 早期的方法是集中管理一个大型的数据库,所有主机都要下载这个文件,更新主机名和地址的时候要通知所有人,非常麻烦.现在用DN