[发明专利]程序加载方法、装置、设备及计算机可读介质有效
申请号: | 202110349808.0 | 申请日: | 2021-03-31 |
公开(公告)号: | CN113051088B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 吴建亮;胡鹏;王开航 | 申请(专利权)人: | 广州锦行网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳智汇远见知识产权代理有限公司 44481 | 代理人: | 杜亚明;艾青 |
地址: | 510653 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 加载 方法 装置 设备 计算机 可读 介质 | ||
1.一种程序加载方法,其特征在于,包括:
将目标调试器链接至正在运行的目标进程,其中,所述目标调试器为继承自目标调试接口的调试程序,所述目标调试接口为目标程序开发平台提供的系统调试接口,所述调试程序为目标对象设置的预定义编码经过编译得到,所述预定义编码用于保存所述目标对象对所述目标调试器配置的预定义功能,所述目标进程为执行第一程序的进程,所述第一程序运行于所述目标进程的内存空间中,所述第一程序需要添加的功能保存在第二程序中;
在利用所述目标调试器调试所述第一程序的情况下,通过所述目标调试器提供的控制器将所述第二程序加载至所述第一程序中;
其中,将目标调试器链接至正在运行的目标进程包括:
获取当前设备中正在运行的进程列表,其中,所述进程列表为通过调用进程管理器获取的;
从所述进程列表中提取所述目标进程的识别标识,其中,不同进程之间的识别标识不同;
利用所述目标进程的识别标识在所述目标调试器与所述目标进程之间建立动态链接,其中,所述动态链接为把需要关联、组成程序、数据流转的程序模块相互划分开,形成独立的文件;
其中,利用所述目标进程的识别标识在所述目标调试器与所述目标进程之间建立动态链接包括:
将所述目标进程的识别标识作为参数传递至第一函数,并通过所述目标调试器调用所述第一函数,以使所述目标调试器动态链接至所述目标进程,其中,所述第一函数为所述目标程序开发平台提供的库函数;
其中,将目标调试器链接至正在运行的目标进程之前,所述方法还包括按照如下方式创建所述目标调试器:
调用第二函数,并对所述第二函数的返回值进行判断,其中,所述第二函数为所述目标程序开发平台提供的库函数,所述第二函数用于获取所述目标程序开发平台提供的调试接口的接口句柄;
在所述第二函数的返回值为获取成功的情况下,将所述调试接口的接口句柄传递至保存所述目标调试器的原始编码文件,并基于所述接口句柄所指示的所述调试接口生成所述目标调试器;
其中,通过所述目标调试器提供的控制器将所述第二程序加载至所述第一程序中包括:
通过所述目标调试器提供的控制器,将所述第二程序的代码数据转换为目标字符串;
将所述目标字符串写入所述目标进程的内存空间,其中,所述目标进程的内存空间为非托管内存空间;
可选地,将所述目标字符串写入所述目标进程的内存空间包括:
在所述目标调试器与所述目标进程建立动态链接的情况下,确定所述目标进程的内存空间的第二地址,其中,所述第二地址为目标进程所使用的内存空间的首地址;
将所述目标字符串写入以第二地址为首地址的目标进程的内存空间中。
2.根据权利要求1所述的方法,其特征在于,在利用所述目标调试器调试所述第一程序的情况下,通过所述目标调试器提供的控制器将所述第二程序加载至所述第一程序中包括:
将所述目标进程执行所述第一程序的执行数据压入目标堆栈,并通过所述目标调试器对所述目标堆栈进行控制;
在所述目标进程触发断点的情况下,通过所述控制器将所述目标进程置于挂起状态;
通过所述控制器调用第三函数,以利用所述第三函数将所述第二程序加载至所述第一程序中运行,其中,所述第三函数为所述目标程序开发平台提供的库函数中的一个回调函数。
3.根据权利要求2所述的方法,其特征在于,通过所述控制器调用第三函数,以利用所述第三函数将所述第二程序加载至所述第一程序中运行包括:
获取保存所述第二程序的目标文件的存储地址;
将所述存储地址作为参数传递至所述第三函数,以使所述第三函数通过所述存储地址获取保存所述第二程序的所述目标文件;
从所述目标文件中提取所述第二程序的代码数据,并将所述代码数据加载至所述目标进程的内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州锦行网络科技有限公司,未经广州锦行网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110349808.0/1.html,转载请声明来源钻瓜专利网。