[发明专利]一种DLL基地址优化方法、系统及应用程序加载方法、系统在审
申请号: | 201710470065.6 | 申请日: | 2017-06-20 |
公开(公告)号: | CN108255537A | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 库宇 | 申请(专利权)人: | 广州华多网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 511442 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加载 目标应用程序 基地址 应用程序加载 模拟过程 虚拟地址 应用程序 符号表 优化 重定位过程 修复 磁盘文件 获取目标 重定位 更新 申请 写入 | ||
1.一种DLL基地址优化方法,其特征在于,所述方法中的步骤为在加载目标应用程序之前进行的步骤,包括:
确定出与所述目标应用程序对应的DLL文件,得到目标DLL文件;
对所述目标DLL文件的重定位过程进行模拟,并在本次模拟过程中对所述目标DLL文件的首选基地址进行更新,然后将更新后的首选基地址写入相应的DLL磁盘文件中;
对所述目标应用程序的加载过程进行模拟,并本次模拟过程中获取所述目标DLL文件的导入符号虚拟地址,然后利用所述导入符号虚拟地址对所述目标DLL文件的导入符号表进行相应的修复。
2.根据权利要求1所述的DLL基地址优化方法,其特征在于,所述对所述目标DLL文件的重定位过程进行模拟,并在本次模拟过程中对所述目标DLL文件的首选基地址进行更新,然后将更新后的首选基地址写入相应的DLL磁盘文件中的过程,包括:
利用ReBase.exe工具,对所述目标DLL文件的重定位过程进行模拟,并在本次模拟过程中对所述目标DLL文件的首选基地址进行更新,然后将更新后的首选基地址写入相应的DLL磁盘文件中。
3.根据权利要求2所述的DLL基地址优化方法,其特征在于,所述利用ReBase.exe工具,对所述目标DLL文件的重定位过程进行模拟,并在本次模拟过程中对所述目标DLL文件的首选基地址进行更新,然后将更新后的首选基地址写入相应的DLL磁盘文件中的过程,包括:
利用所述ReBase.exe工具创建与所述目标DLL文件相适应的虚拟地址空间,然后在所述虚拟地址空间上对所述目标DLL文件的重定位过程进行模拟;
在本次模拟过程中从所述目标DLL文件里筛选出需要进行重定位的DLL文件,得到筛选后DLL文件;
将所述筛选后DLL文件在所述虚拟地址空间中的虚拟地址与所述筛选后DLL文件的首选基地址进行相加处理,以实现对所述DLL文件的首选基地址的更新,得到所述筛选后DLL文件的更新后的首选基地址;
将所述筛选后DLL文件的更新后的首选基地址写入与所述筛选后DLL文件对应的DLL磁盘文件中。
4.根据权利要求1至3任一项所述的DLL基地址优化方法,其特征在于,所述对所述目标应用程序的加载过程进行模拟,并本次模拟过程中获取所述目标DLL文件的导入符号地址,然后利用所述导入符号地址对所述目标DLL文件的导入符号表进行相应的修复的过程,包括:
利用Bind.exe工具,对所述目标应用程序的加载过程进行模拟,并本次模拟过程中获取所述目标DLL文件的导入符号地址,然后利用所述导入符号地址对所述目标DLL文件的导入符号表进行相应的修复。
5.根据权利要求4所述的DLL基地址优化方法,其特征在于,所述利用Bind.exe工具,对所述目标应用程序的加载过程进行模拟,并本次模拟过程中获取所述目标DLL文件的导入符号虚拟地址,然后利用所述导入符号虚拟地址对所述目标DLL文件的导入符号表进行相应的修复的过程,包括:
利用Bind.exe工具,从所述目标DLL文件的导入段中检查每个DLL文件的文件头,以确定出当前每个DLL文件的首选基地址;
从所述目标DLL文件的导出段中查看每个导入符号的基地址偏移值,然后对每个导入符号的基地址偏移值与相应DLL文件的首选基地址进行相加处理,得到相应的导入符号虚拟地址;
利用所述导入符号虚拟地址对所述目标DLL文件的导入符号表进行相应的修复。
6.一种DLL基地址优化系统,其特征在于,所述系统中的模块为在加载目标应用程序之前运行的模块,包括:
文件确定模块,用于确定出与所述目标应用程序对应的DLL文件,得到目标DLL文件;
重定位模拟模块,用于对所述目标DLL文件的重定位过程进行模拟,并在本次模拟过程中对所述目标DLL文件的首选基地址进行更新,然后将更新后的首选基地址写入相应的DLL磁盘文件中;
程序加载模拟模块,用于对所述目标应用程序的加载过程进行模拟,并本次模拟过程中获取所述目标DLL文件的导入符号虚拟地址,然后利用所述导入符号虚拟地址对所述目标DLL文件的导入符号表进行相应的修复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710470065.6/1.html,转载请声明来源钻瓜专利网。