一种应用程序处理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:20363833 阅读:24 留言:0更新日期:2019-02-16 16:57
本发明专利技术提供了一种应用程序处理方法、装置、电子设备及可读存储介质该,方法包括:对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;将所述目标图保存到所述已编译的文件中的指定位置。该方法能够有效地防止应用程序被逆向分析,实现对应用程序的加固。

【技术实现步骤摘要】
一种应用程序处理方法、装置、电子设备及可读存储介质
本专利技术涉及软件
,具体而言,涉及一种应用程序处理方法、装置、电子设备及可读存储介质。
技术介绍
随着电子设备的普及,各种方便人们工作和生活的应用程序应运而生,其中不乏有涉及用户隐私的应用程序,若该类涉及用户隐私的应用程序被反编译、破解、植入病毒程序并二次打包发布,不仅会导致使用用户的隐私泄漏,造成财产损失,而且还会给应用正版发布者造成严重损害,损害企业形象。因此,需要一种能够防止应用程序被逆向分析的方案。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种应用程序处理方法、装置、电子设备及可读存储介质,能够有效地防止应用程序被逆向分析,实现对应用程序的加固。本专利技术的实施例是这样实现的:第一方面,本申请通过本申请的一实施例提供如下技术方案:一种应用程序处理方法,所述应用程序包括已编译的文件,包括:对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;将所述目标图保存到所述已编译的文件中的指定位置。优选地,所述将所述目标图保存到所述已编译的文件中的指定位置,包括:对所述目标图进行预设处理,以在保持所述目标图的节点中指令语义不变的情况下,得到不同于所述目标图的新的目标图;将经过所述预设处理的目标图保存到所述已编译的文件中的指定位置。优选地,所述对所述目标图进行预设处理,包括:确定第一目标节点,所述第一目标节点为所述目标图中的一个或多个节点;从所述第一目标节点中抽取一条或多条指令存放至预先配置的引擎中,被抽取指令所在位置处使用标识信息进行标记,所述标识信息用于索引存放在预先配置的引擎中的所抽取指令。优选地,所述对所述目标图进行预设处理,包括:确定第二目标节点,所述第二目标节点为所述目标图中的一个或多个节点;对所述第二目标节点中的指令进行等价变换,且进行等价变换后的指令语义保持不变。优选地,所述对所述目标图进行预设处理包括:确定第三目标节点,所述第三目标节点为所述目标图中的一个或多个节点;向所述第三目标节点中添加预设的冗余指令。优选地,所述对所述目标图进行预设处理,包括:从所述目标图中确定一组或多组邻接节点;在所确定的每组所述邻接节点之间插入预设的冗余节点。优选地,所述对所述目标图进行预设处理,包括:对所述目标图中的节点进行乱序处理。优选地,所述已编译的文件包括SO文件。优选地,所述已编译的文件中预先对应于特定程序段设置有标记信息,所述对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图之前,还包括:查找所述已编译的文件中的标记信息;将所查找到的标记信息对应的程序段作为所述目标程序段。第二方面,本申请通过本申请的一实施例提供如下技术方案:一种应用程序处理装置,所述应用程序包括已编译的文件,所述装置包括:同构处理模块,用于对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;存储处理模块,用于将所述目标图保存到所述已编译的文件中的指定位置。优选地,所述存储处理模块包括:预设处理单元,用于对所述目标图进行预设处理,以在保持所述目标图的节点中指令语义不变的情况下,得到不同于所述目标图的新的目标图;存储单元,用于将经过所述预设处理的目标图保存到所述已编译的文件中的指定位置。优选地,所述预设处理单元,具体用于:确定第一目标节点,所述目标节点为所述目标图中的一个或多个节点;从所述第一目标节点中抽取一条或多条指令存放至预先配置的引擎中,被抽取指令所在位置处使用标识信息进行标记,所述标识信息用于索引存放在预先配置的引擎中的所抽取指令。优选地,所述预设处理单元,具体用于:确定第二目标节点,所述第二目标节点为所述目标图中的一个或多个节点;对所述第二目标节点中的指令进行等价变换,且进行等价变换后的指令语义保持不变。优选地,所述预设处理单元,具体用于:确定第三目标节点,所述第三目标节点为所述目标图中的一个或多个节点;在所述第三目标节点对应的指令块中添加预设的冗余指令。优选地,所述预设处理单元,具体用于:从所述目标图中确定一组或多组邻接节点;在所确定的每组所述邻接节点之间插入预设的冗余节点。优选地,所述预设处理单元,还具体用于:对所述目标图中的节点进行乱序处理。优选地,所述已编译的文件包括SO文件。优选地,所述已编译的文件中预先对应于特定程序段设置有标记信息。上述应用程序处理装置还包括:查找模块,用于查找所述已编译的文件中的标记信息;将所查找的标记信息对应的程序段作为所述目标程序段。第三方面,本申请通过本申请的一实施例提供如下技术方案:一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行上述应用程序处理方法的步骤。第四方面,本申请通过本申请的一实施例提供如下技术方案:一种可读存储介质,其上存储有计算机程序,该程序被处理器执行上述应用程序处理方法的步骤。本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:与现有技术相比,本专利技术实施例提供的一种应用程序处理方法,该方法可直接针对已编译的文件进行处理,无需源码。该方法通过对已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图。然后,将目标图保存到该已编译的文件中的指定位置,这样能够有效地防止应用程序被逆向分析,实现了对应用程序的加固,即提高了应用程序的安全性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术第一实施例提供的一种应用程序处理方法的流程图;图2为本专利技术第一实施例提供的一种应用程序处理方法的同构前与同构后的操作示意图;图3为步骤S20的子步骤的流程图;图4为步骤S100的第二种方式的预设处理的流程图;图5为步骤S100的第三种方式的预设处理的流程图;图6为步骤S100的第四种方式的预设处理的流程图;图7为本专利技术第二实施例提供的一种应用程序处理装置的功能模块示意图;图8为本专利技术第三实施例提供的电子设备的模块框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例提供的应用程序处理方法,通过将应用程序中已编译的文件中的目标程序段所对应的控制流图进行同构处理,得到目标图,将目标图保存到该文件中的指定位置,有效地防本文档来自技高网...

【技术保护点】
1.一种应用程序处理方法,其特征在于,所述应用程序包括已编译的文件,包括:对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;将所述目标图保存到所述已编译的文件中的指定位置。

【技术特征摘要】
1.一种应用程序处理方法,其特征在于,所述应用程序包括已编译的文件,包括:对所述已编译的文件中目标程序段对应的控制流图进行同构处理,得到目标图,其中,所述控制流图包括多个指令块,所述目标图为有向图,所述目标图包括多个节点,所述多个节点与所述多个指令块一一对应;将所述目标图保存到所述已编译的文件中的指定位置。2.根据权利要求1所述的方法,其特征在于,所述将所述目标图保存到所述已编译的文件中的指定位置,包括:对所述目标图进行预设处理,以在保持所述目标图的节点中指令语义不变的情况下,得到不同于所述目标图的新的目标图;将经过所述预设处理的目标图保存到所述已编译的文件中的指定位置。3.根据权利要求2所述的方法,其特征在于,所述对所述目标图进行预设处理,包括:确定第一目标节点,所述第一目标节点为所述目标图中的一个或多个节点;从所述第一目标节点中抽取一条或多条指令存放至预先配置的引擎中,被抽取指令所在位置处使用标识信息进行标记,所述标识信息用于索引存放在预先配置的引擎中的所抽取指令。4.根据权利要求2所述的方法,其特征在于,所述对所述目标图进行预设处理,包括:确定第二目标节点,所述第二目标节点为所述目标图中的一个或多个节点;对所述第二目标节点中的指令进行等价变换,且进行等价变换后的指令语义保持不变。5.根据权...

【专利技术属性】
技术研发人员:潘剑锋秦光远廖川剑
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1