相较于CC断点,检测内存断点相对更难些,也更不容易被断下。今天写写内存断点的那些事。
环境:win7 64位真机
内存断点的原理:内存断点的实现方式是将你欲下断地址所在的内存页增加一个名为PAGE_NOACCESS的属性,这个属性会把当前内存页设为禁止任何形式的访问,如果进行访问会触发一个内存访问异常。在这同时,od开始捕获目标程序中出现的这个异常,并判断触发这个异常的位置是否跟你下断的地址相同,如果相同则内存断点触发,暂停被调试程序的运行,否则放行。内存断点虽然比较“高级”,但它只能设置一次,不能设置多个,而且不会显示地点在哪,调试器不记录,所以要自己及时把内存断点记下来。而且当程序重新载入后也会自动消失
注:新设置的内存断点后,原来的断点会被覆盖。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课