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