[发明专利]一种重定位方法、装置、电子设备及可读介质有效
申请号: | 202011425790.X | 申请日: | 2020-12-08 |
公开(公告)号: | CN112631672B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 徐文瑞;张宝祺;程璐璐 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 方法 装置 电子设备 可读 介质 | ||
1.一种重定位方法,其特征在于,所述方法包括:
在加载目标可移植执行PE文件时,检测所述目标可移植执行PE文件的预设重定位表中的各个重定位表项;
若检测到所述重定位表项对应的重定位类型为第一重定位类型,则将所述重定位表项作为第一重定位表项,并根据所述第一重定位表项对目标指令及所述目标指令对应的可合并指令,同时进行重定位操作;
其中,所述第一重定位类型用于指示对所述目标指令及所述可合并指令同时进行重定位操作,所述第一重定位表项为所述目标指令及所述可合并指令共同对应的重定位表项;
所述根据所述第一重定位表项对目标指令及所述目标指令对应的可合并指令,同时进行重定位操作,包括:
读取所述第一重定位表项中记录的基地址,以及,读取所述第一重定位表项中记录的所述目标指令及各个所述可合并指令对应的偏移量;
根据所述基地址及各个所述偏移量,确定所述目标指令及各个所述可合并指令对应的重定位地址。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在生成所述目标可移植执行PE文件时,确定目标源码中是否存在所述目标指令对应的可合并指令;
在存在可合并指令的情况下,为所述目标指令及所述可合并指令设置所述第一重定位类型,并根据所述目标指令及所述可合并指令的相关信息生成所述第一重定位表项,以生成所述预设重定位表。
3.根据权利要求2所述的方法,其特征在于,所述确定目标源码中是否存在所述目标指令对应的可合并指令之后,还包括:在不存在可合并指令的情况下时,为所述目标指令单独设置第二重定位类型,并根据所述目标指令的相关信息生成第二重定位表项;
所述检测所述目标可移植执行PE文件的预设重定位表中的各个重定位表项之后,还包括:
若检测到所述重定位表项对应的重定位类型为所述第二重定位类型,则将所述重定位表项确定为所述第二重定位表项,并根据所述第二重定位表项对所述目标指令单独进行重定位操作。
4.根据权利要求2或3所述的方法,其特征在于,所述确定目标源码中是否存在所述目标指令对应的可合并指令,包括:
确定所述目标源码中包含的所述目标指令;
确定所述目标源码中是否存在运行时与所述目标指令同时存在的指令;
若存在,则将与所述目标指令同时运行的指令确定为所述可合并指令。
5.根据权利要求4所述的方法,其特征在于,所述确定目标源码中是否存在所述目标指令对应的可合并指令之前,所述方法还包括:根据所述目标源码中各个指令的类型,为类型为预设类型的指令添加指定标记;
所述确定所述目标源码中包含的所述目标指令,包括:
将所述目标源码中添加有指定标记的指令确定为目标指令。
6.根据权利要求1所述的方法,其特征在于,所述目标指令及所述可合并指令共同对应的第一重定位表项的数量为1。
7.根据权利要求1所述的方法,其特征在于,所述目标指令包括待加载符号的地址变化的指令、地址加载指令中的一种或多种。
8.一种重定位装置,其特征在于,所述装置包括:
检测模块,用于在加载目标可移植执行PE文件时,检测所述目标可移植执行PE文件的预设重定位表中的各个重定位表项;
第一操作模块,用于若检测到所述重定位表项对应的重定位类型为第一重定位类型,则将所述重定位表项作为第一重定位表项,并根据所述第一重定位表项对目标指令及所述目标指令对应的可合并指令,同时进行重定位操作;
其中,所述第一重定位类型用于指示对所述目标指令及所述可合并指令同时进行重定位操作,所述第一重定位表项为所述目标指令及所述可合并指令共同对应的重定位表项;
所述第一操作模块,具体用于:
读取所述第一重定位表项中记录的基地址,以及,读取所述第一重定位表项中记录的所述目标指令及各个所述可合并指令对应的偏移量;
根据所述基地址及各个所述偏移量,确定所述目标指令及各个所述可合并指令对应的重定位地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011425790.X/1.html,转载请声明来源钻瓜专利网。