od中有许多断点,cc断点,硬件断点,内存断点,消息断点。
最常用的是cc断点,也就是f2设置的断点,这种断点的好处是可以直接看到所设断点的位置,通过alt+b来查看,非常方便调试,他的原理是od将原本的数据改为cc,然后在运行的过程中,遇到cc即停止,然后修改为原来的数据,这种断点的缺陷是可以被检测到。
硬件断点,硬件断点的原理是由cpu实现的,cpu中有四个寄存器,这四个寄存器刚好对应od中的四个硬件断点,也就是说硬件断点最多设置四个,硬件断点实现速度较快,缺点是可以被检测。
内存断点,内存断点的实现是通过修改内存页的访问权限达到的,速度较慢,但是也不容易反逆向,是一种比较强的断点,缺点是无法知道每个断点的位置,且一次只能设置一个内存断点。
消息断点,消息断点,通过window窗口设置,优点是准确高效,缺点是要配合日志使用才能发挥其功效。