[发明专利]一种可执行程序动态调用方法及系统有效
申请号: | 201611040855.2 | 申请日: | 2016-11-11 |
公开(公告)号: | CN106648749B | 公开(公告)日: | 2019-12-31 |
发明(设计)人: | 王妍鹏 | 申请(专利权)人: | 广州华多网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 11330 北京市立方律师事务所 | 代理人: | 刘延喜;王增鑫 |
地址: | 511449 广东省广州市番*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可执行 程序 动态 调用 方法 系统 | ||
1.一种可执行程序动态调用方法,其特征在于,包括如下步骤:
运行宿主程序,由宿主程序进程将预先注入的动态链接库文件调入内存;
执行该动态链接库内预置的加载模块,由其以操作系统所兼容的方式加载到内存中成为镜像,并重新定位所述可执行程序对应的内存镜像的运行入口点地址;
根据重新定位后的运行入口点地址启动运行该可执行程序的内存镜像。
2.根据权利要求1所述的方法,其特征在于,包括前置步骤:
运行第三方工具程序由其进程将所述的动态链接库文件注入到所述宿主程序中。
3.根据权利要求1所述的方法,其特征在于,所述重新定位至该可执行程序内存镜像的运行入口点地址之后,还包括:
根据宿主程序修改该可执行程序内存镜像中的不匹配函数。
4.根据权利要求3所述的方法,其特征在于,所述重新定位至该可执行程序内存镜像的运行入口点地址的步骤包括如下具体步骤:
初始化导入地址表;
初始化地址重定位表;
重新定位该可执行程序内存镜像的运行入口点内存地址。
5.根据权利要求2所述的方法,其特征在于,所述第三方工具程序是微软提供的远程线程编写注入代码。
6.根据权利要求3所述的方法,其特征在于,所述根据宿主程序修改该可执行程序内存镜像中的不匹配函数,包括:
借助第三方工具PETooL查看宿主程序的导入表,分析是否需要对其使用的函数进行修复;
如果遇到可执行程序与宿主进程同时使用了第三方函数则需查看第三方开发文档判断是否要做防冲突处理。
7.根据权利要求1所述的方法,其特征在于,
所述启动运行该可执行程序的内存镜像后,导致操作系统进程列表中同时包含所述宿主程序、动态链接库以及该可执行程序相应的进程。
8.一种可执行程序动态调用系统,其特征在于,包括如下模块:
调入模块,运行的宿主程序进程利用该调入模块将预先注入的动态链接库文件调入内存;
加载模块,其内预置于所述动态链接库,用于所述动态链接库以操作系统所兼容的方式加载到内存中成为镜像,并重新定位所述可执行程序对应的内存镜像的运行入口点地址;
启动模块,用于根据重新定位后的运行入口点地址启动运行该可执行程序的内存镜像。
9.根据权利要求8所述的系统,其特征在于,所述加载模块包括:
初始化单元:初始化导入地址表,初始化地址重定位表;
重定位单元:重新定位该可执行程序内存镜像的运行入口点内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611040855.2/1.html,转载请声明来源钻瓜专利网。