如何对抗硬件断点之一 --- 调试寄存器
http://tech.ddvip.com 2007年01月14日 社区交流 收藏本文
本文详细介绍如何对抗硬件断点之一 --- 调试寄存器
3.调试器的窗口里,右键--查看调试寄存器
结果在Drx里面显示:
DR00040015A //地址
DR100000000
DR200000000
DR300000000
DR6FFFF0FF0 //断点属性
DR700000401实验二(F8原理)
1.随便找一个程序,载入OD,构造一个子程序的死循环
就像这样
00400154t> E80100D03F call4010015A //EP,停在这里
00400159 90 nop
0040015A 90 nop
0040015B 90 nop
0040015C 90 nop //对这里下F2断点
0040015D C3 retn //返回2.按下F8,由于INT3断点,程序中断在0040015C
3.调试器的窗口里,右键--查看调试寄存器
结果在Drx里面显示:
DR000400159 //call的返回地址
DR100000000
DR200000000
DR300000000
DR6FFFF4FF1 //断点属性
DR700000401实验三(F7原理)
1.随便找一个程序,载入OD
2.双击调试器的窗口里的T标志,将TF从原来的0变成1
3.F9运行
结果程序断在了下面的一行
实验四(F2的原理)
1.用98的notepad吧,载入OD,构造一个死循环
004010CCN> 90 nop //EP,挺在这里
004010CD 90 nop
004010CE ^EBFC jmpshortNOTEPAD.<ModuleEntryPoint>//死循环
004010D0 90 nop //在这里按下F2,普通断点
004010D1 90 nop2.按下F9,由于死循环,程序一直运行着
来源:www.popbase.net 作者:Lenus 责编:豆豆技术应用
正在加载评论...