Windows硬件断点-实现单步异常
2016-07-06 18:22
381 查看
触犯单步异常 改变的是当前Eflags 而不是触发异常的Eflags
也就是
PUSHF
MOV EAX, DWORD PTR[ESP]
OR EAX, 0x100
MOV DWORD PTR [ESP], EAX
POPF
来实现单步异常(特别需要注意单步异常设置后下一条语句也会触发单步异常。如果不做处理。会造成死机 甚至蓝大妈)
第二注意 只有触发了GD位的异常才能改变DR6寄存器。所以单步异常时需要将DR6置0
也就是
PUSHF
MOV EAX, DWORD PTR[ESP]
OR EAX, 0x100
MOV DWORD PTR [ESP], EAX
POPF
来实现单步异常(特别需要注意单步异常设置后下一条语句也会触发单步异常。如果不做处理。会造成死机 甚至蓝大妈)
第二注意 只有触发了GD位的异常才能改变DR6寄存器。所以单步异常时需要将DR6置0
相关文章推荐
- 行程得分
- mac上brew使用
- 使用PyCharm配置Spark的Python开发环境(基础)
- UIWebView的js与native代码的交互
- PHP5.6.15连接Sql Server 2008配置方案
- AngularJS Tutorial (2)
- Java如何取得当前程序部署的服务器的IP
- 移花接木-联想Ideapad Y570 USB2.0升级到USB3.0成功
- GitHub 优秀的 Android 开源项目
- Retrofit+MVP模式学习
- centos yum安装memcached及php memcache扩展
- Windows Error Code(windows错误代码详解)
- 使用uwsgi 部署python web服务
- GCC优化选项简单说明
- Javascript 基础汇总
- iOS自定义导航栏,侧滑返回卡死情况的解决办法
- 慎用$rootScope
- push 到下一界面明显卡顿的现象
- MPV 播放器 设置默认播放器 cmd + i
- java用缓冲区读取文件