[发明专利]一种应用程序处理方法、装置、电子设备及可读存储介质有效
申请号: | 201811084815.7 | 申请日: | 2018-09-17 |
公开(公告)号: | CN109344576B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 潘剑锋;秦光远;廖川剑 | 申请(专利权)人: | 三六零科技集团有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 300450 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 处理 方法 装置 电子设备 可读 存储 介质 | ||
1.一种应用程序处理方法,其特征在于,所述应用程序包括已编译的文件,包括:
对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;
将所述目标图保存到所述已编译的文件中的指定位置;
所述将所述目标图保存到所述已编译的文件中的指定位置,包括:
对所述目标图进行预设处理,以在保持所述目标图的节点中指令语义不变的情况下,得到不同于所述目标图的新的目标图;
将经过所述预设处理的目标图保存到所述已编译的文件中的指定位置。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标图进行预设处理,包括:
确定第一目标节点,所述第一目标节点为所述目标图中的一个或多个节点;
从所述第一目标节点中抽取一条或多条指令存放至预先配置的引擎中,被抽取指令所在位置处使用标识信息进行标记,所述标识信息用于索引存放在预先配置的引擎中的所抽取指令。
3.根据权利要求1所述的方法,其特征在于,所述对所述目标图进行预设处理,包括:
确定第二目标节点,所述第二目标节点为所述目标图中的一个或多个节点;
对所述第二目标节点中的指令进行等价变换,且进行等价变换后的指令语义保持不变。
4.根据权利要求1所述的方法,其特征在于,所述对所述目标图进行预设处理包括:
确定第三目标节点,所述第三目标节点为所述目标图中的一个或多个节点;
向所述第三目标节点中添加预设的冗余指令。
5.根据权利要求1所述的方法,其特征在于,所述对所述目标图进行预设处理,包括:
从所述目标图中确定一组或多组邻接节点;
在所确定的每组所述邻接节点之间插入预设的冗余节点。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述目标图进行预设处理,包括:
对所述目标图中的节点进行乱序处理。
7.根据权利要求1所述的方法,其特征在于,所述已编译的文件包括SO文件。
8.根据权利要求1所述的方法,其特征在于,所述已编译的文件中预先对应于特定程序段设置有标记信息,所述对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图之前,还包括:
查找所述已编译的文件中的标记信息;
将所查找到的标记信息对应的程序段作为所述目标程序段。
9.一种应用程序处理装置,其特征在于,所述应用程序包括已编译的文件,所述装置包括:
同构处理模块,用于对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;
存储处理模块,用于将所述目标图保存到所述已编译的文件中的指定位置;
所述存储处理模块包括:
预设处理单元,用于对所述目标图进行预设处理,以在保持所述目标图的节点中指令语义不变的情况下,得到不同于所述目标图的新的目标图;
存储单元,用于将经过所述预设处理的目标图保存到所述已编译的文件中的指定位置。
10.根据权利要求9所述的装置,其特征在于,所述预设处理单元,具体用于:
确定第一目标节点,所述第一目标节点为所述目标图中的一个或多个节点;
从所述第一目标节点中抽取一条或多条指令存放至预先配置的引擎中,被抽取指令所在位置处使用标识信息进行标记,所述标识信息用于索引存放在预先配置的引擎中的所抽取指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零科技集团有限公司,未经三六零科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811084815.7/1.html,转载请声明来源钻瓜专利网。