[发明专利]一种应用程序处理方法、装置、电子设备及可读存储介质有效
申请号: | 201811084815.7 | 申请日: | 2018-09-17 |
公开(公告)号: | CN109344576B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 潘剑锋;秦光远;廖川剑 | 申请(专利权)人: | 三六零科技集团有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 300450 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 处理 方法 装置 电子设备 可读 存储 介质 | ||
本发明提供了一种应用程序处理方法、装置、电子设备及可读存储介质该,方法包括:对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;将所述目标图保存到所述已编译的文件中的指定位置。该方法能够有效地防止应用程序被逆向分析,实现对应用程序的加固。
技术领域
本发明涉及软件技术领域,具体而言,涉及一种应用程序处理方法、装置、电子设备及可读存储介质。
背景技术
随着电子设备的普及,各种方便人们工作和生活的应用程序应运而生,其中不乏有涉及用户隐私的应用程序,若该类涉及用户隐私的应用程序被反编译、破解、植入病毒程序并二次打包发布,不仅会导致使用用户的隐私泄漏,造成财产损失,而且还会给应用正版发布者造成严重损害,损害企业形象。
因此,需要一种能够防止应用程序被逆向分析的方案。
发明内容
有鉴于此,本发明的目的在于提供一种应用程序处理方法、装置、电子设备及可读存储介质,能够有效地防止应用程序被逆向分析,实现对应用程序的加固。
本发明的实施例是这样实现的:
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种应用程序处理方法,所述应用程序包括已编译的文件,包括:对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;将所述目标图保存到所述已编译的文件中的指定位置。
优选地,所述将所述目标图保存到所述已编译的文件中的指定位置,包括:对所述目标图进行预设处理,以在保持所述目标图的节点中指令语义不变的情况下,得到不同于所述目标图的新的目标图;将经过所述预设处理的目标图保存到所述已编译的文件中的指定位置。
优选地,所述对所述目标图进行预设处理,包括:确定第一目标节点,所述第一目标节点为所述目标图中的一个或多个节点;从所述第一目标节点中抽取一条或多条指令存放至预先配置的引擎中,被抽取指令所在位置处使用标识信息进行标记,所述标识信息用于索引存放在预先配置的引擎中的所抽取指令。
优选地,所述对所述目标图进行预设处理,包括:确定第二目标节点,所述第二目标节点为所述目标图中的一个或多个节点;对所述第二目标节点中的指令进行等价变换,且进行等价变换后的指令语义保持不变。
优选地,所述对所述目标图进行预设处理包括:确定第三目标节点,所述第三目标节点为所述目标图中的一个或多个节点;向所述第三目标节点中添加预设的冗余指令。
优选地,所述对所述目标图进行预设处理,包括:从所述目标图中确定一组或多组邻接节点;在所确定的每组所述邻接节点之间插入预设的冗余节点。
优选地,所述对所述目标图进行预设处理,包括:对所述目标图中的节点进行乱序处理。
优选地,所述已编译的文件包括SO文件。
优选地,所述已编译的文件中预先对应于特定程序段设置有标记信息,所述对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图之前,还包括:查找所述已编译的文件中的标记信息;将所查找到的标记信息对应的程序段作为所述目标程序段。
第二方面,本申请通过本申请的一实施例提供如下技术方案:
一种应用程序处理装置,所述应用程序包括已编译的文件,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零科技集团有限公司,未经三六零科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811084815.7/2.html,转载请声明来源钻瓜专利网。