调试器第二讲,单步步入/步过功能实现,以及基本的断点功能实现
昨天,我们实现了调试器的基本框架,那么今天我们实现单步功能,还有断点功能,以及使用反汇编引擎
一丶反汇编引擎的编译,生成...下面我们就结合我们昨天写的汇编代码,接着写,显示出来断点位置的反汇编代码....,汇编代码很多,影响观看,所以都是简单思路,没有完整代码,完整代码,在每天的课件资料中,可以去看,这里这说一下核心代码的思路
四丶汇编设置F2断点,以及单步(步入,步过)
简单思路
1.断点的设置:
...)
3.使用WriteProcessMemory往地址写入CC(注意保存以前的值)
4.重新修改保护属性,改回去(使用旧的)
然后一个断点即完成了,具体代码,请看课件.
2.单步的设置(步入,进函数...)
如果是单步,我们要判断断点是我们设置的还是系统设置的.
1.判断是否使我们设置的断点
2.修改内存保护属性(注意保存旧的)
3.写入CC,(int 3断点)
4.读取内存数据
5.显示反汇编
设置单步