发明名称 | 对调用DLL导出函数进行拦截跟踪的方法 | ||
摘要 | 本发明涉及一种对调用DLL导出函数进行拦截跟踪的方法,将原来的目标DLL改名;为改名后的DLL创建一个.def文件,再创建一个.def文件,这个.def文件的文件名是在原目标DLL文件名上加预定的后缀;创建一个与文件名带后缀的.def文件同名的DLL,称为“下位虚拟目标DLL”,这个DLL导入改名后的原目标DLL,其导出则取决于上述文件名带后缀的.def文件;创建一个与原目标DLL同名的DLL,称为“上位虚拟目标DLL”,这个DLL采用原目标DLL的.def文件,有着与原目标文件相同的导出函数集合。本发明有益的效果是:使程序员们可以按需要对特定DLL的导出函数所受调用进行拦截跟踪,用来记录这些导出函数在运行时受到调用的历史。本发明主要的用途是记录应用软件的运行踪迹,但也可用于其它目的。 | ||
申请公布号 | CN102073496A | 申请公布日期 | 2011.05.25 |
申请号 | CN201010622297.7 | 申请日期 | 2010.12.29 |
申请人 | 浙大网新科技股份有限公司 | 发明人 | 金涛;王承志;毛德操 |
分类号 | G06F9/44(2006.01)I | 主分类号 | G06F9/44(2006.01)I |
代理机构 | 杭州九洲专利事务所有限公司 33101 | 代理人 | 陈继亮 |
主权项 | 一种对调用DLL导出函数进行拦截跟踪的方法,其特征是:1)将原来的目标DLL改名;2)为改名后的DLL创建一个.def文件,这个.def文件的内容与原目标DLL的.def文件逻辑上相同,定义着相同的导出函数集合,并且每个导出函数的调用界面都和原来一样;3)再创建一个.def文件,这个.def文件的文件名是在原目标DLL文件名上加预定的后缀,这个.def文件的内容与原目标DLL的.def文件逻辑上相同,但是每个导出函数的函数名都在原有的函数名上加预定的后缀;4)创建一个与文件名带后缀的.def文件同名的DLL,称为“下位虚拟目标DLL”,这个DLL导入改名后的原目标DLL,其导出则取决于上述文件名带后缀的.def文件,在这个DLL的代码中每个导出函数的函数名都带预定的后缀,其实现都是以输入调用参数为输出调用参数来调用对应的导入函数,即由改名后的原目标DLL所导出的对应函数,其函数名就是在本导出函数的函数名中去掉后缀;5)创建一个与原目标DLL同名的DLL,称为“上位虚拟目标DLL”,这个DLL采用原目标DLL的.def文件,有着与原目标文件相同的导出函数集合,并且集合中的每个导出函数的调用界面都与原目标DLL一样,这个DLL导入上述下位虚拟目标DLL,在这个DLL的代码中,每个导出函数的函数名都与原目标DLL中的对应函数相同,其基本实现是以输入调用参数为输出调用参数调用由上述下位虚拟目标DLL导出的对应函数。 | ||
地址 | 310007 浙江省杭州市天目山路226号12楼 |