[发明专利]可执行文件处理方法和设备在审

专利信息
申请号: 202010366846.2 申请日: 2020-04-30
公开(公告)号: CN113590138A 公开(公告)日: 2021-11-02
发明(设计)人: 黄海涛;郑家欢;叶祥润;何忠政;崔桂华;张必红;程帅;吴永崇 申请(专利权)人: 华为技术有限公司
主分类号: G06F8/61 分类号: G06F8/61;G06F8/65
代理公司: 北京同立钧成知识产权代理有限公司 11205 代理人: 张晓霞;臧建明
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 可执行文件 处理 方法 设备
【说明书】:

本申请提供一种可执行文件处理方法和设备,其中,该方法包括:获取与可执行文件对应的重定位表格,其中,重定位表格用于指示至少一个待修正偏移量的指令;根据重定位表格,确定待修正偏移量的指令在可执行文件中的位置,并确定待修正偏移量的指令所对应的实例成员;修正实例成员的偏移量。用于编译实例成员的指令进行修正了,减小了代码的开销,也减少了应用程序占用的内存空间和存储空间。

技术领域

本申请涉及终端技术,尤其涉及一种可执行文件处理方法和设备。

背景技术

可以在电子设备中布置有系统和各种应用程序。电子设备中所布置的应用程序的代码,常常包括多个类;并且,系统的代码中,通常包括多个类。

提供系统或应用程序的设备,会对应用程序的代码中的类进行调整或者对系统的代码中的类进行调整;在调整类的时候,会对与类相关的实例成员的布局造成影响。从而,在对系统或应用程序进行安装时,需要修正类中的实例成员的偏移量。

然而如何为快速、准确的修正实例成员的偏移量,是一个需要解决的问题。

发明内容

本申请提供一种可执行文件处理方法和设备,以解决快速、准确的修正实例成员的偏移量的问题。

第一方面,本申请提供一种可执行文件处理方法,应用于电子设备,所述方法包括:

获取与可执行文件对应的重定位表格,其中,所述重定位表格用于指示至少一个待修正偏移量的指令;

根据所述重定位表格,确定所述待修正偏移量的指令在所述可执行文件中的位置,并确定所述待修正偏移量的指令所对应的实例成员;

修正所述实例成员的偏移量。

在可选的一种方式中,所述获取与可执行文件对应的重定位表格,包括:

在确定更新系统时,向网络设备发送所述可执行文件的信息;接收所述网络设备发送的与所述可执行文件的信息对应的重定位表格;

或者,向网络设备发送软件版本信息;接收所述网络设备发送的与所述软件版本信息对应的重定位表格和可执行文件。

在可选的一种方式中,所述重定位表格中包括指令偏移量、指令类型、指令的实例成员;

其中,所述指令偏移量为待修正偏移量的指令在可执行文件中的偏移量,所述指令类型用于指示对待修正偏移量的指令中的立即数进行编码时的编码方式。

在可选的一种方式中,在修正所述实例成员的偏移量之前,还包括:

计算所述实例成员的当前的实际偏移量,其中,所述实际偏移量为对所述实例成员的原始的成员偏移量进行修正后的偏移量;

修正所述实例成员的偏移量,包括:将所述实例成员的原始的成员偏移量,修正为所述实际偏移量。

在可选的一种方式中,在所述实例成员为实例成员变量时,计算所述实例成员的实际偏移量,包括:

从当前实例成员变量所继承的类中的最高层的类开始,遍历当前实例成员变量所继承的每个类,将每个类中的实例成员变量进行对齐排列,得到每个类中的实例成员变量的偏移量;

确定位于当前实例成员变量之前的前一实例成员变量的偏移量、所述前一实例成员变量的大小、当前实例成员变量与所述前一实例成员变量之间的空间填充大小,三者之和为当前实例成员变量的实际偏移量;

在所述实例成员为虚函数时,计算所述实例成员的实际偏移量,包括:

从当前虚函数所继承的类中的最高层的类开始,遍历当前虚函数所继承的每个类,计算每个类中的虚函数的指针的偏移量,得到虚函数表;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010366846.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top