作 者:
driverox
时 间:
2008-05-31,02:21
链 接:
http://bbs.pediy.com/showthread.php?t=65755
这是本系列文档的第七篇,因本人水平有限,不足和疏漏之处请各位批评指正,谢谢。

文件加载调试原理主要是使用CreateProcess函数,以调试方式加载文件进程,在加载的过程中对被加载程序的有效性进行检验,然后通过查询PE头结构,得到其OEP,并通过单步方式在OEP处下Int3断点,这样OD打开的程序就停在OEP,进而可以让调试人员在入口处开始调试程序。
在文件加载时,调用了OpenExeFile这个函数,得到打开文件的相关信息,并判断其是否为有效的PE文件;然后再根据得到的信息通过上述方法停在入口。由于比较仓促,只分析了前一部分函数的代码,其主要流程如下:
1. 判断打开的是否为快捷方式,若为快捷方式则通过相关函数找到对应的可执行程序;
2. 调用SearchPath查找是否有该文件,然后调用文件操作相关的库函数,打开文件,进行相
版权声明:本文为iiprogram原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。