一种代码处理方法、装置及计算设备制造方法及图纸

技术编号:14140545 阅读:44 留言:0更新日期:2016-12-10 16:07
本发明专利技术实施例提供一种代码处理方法、装置及计算设备,其中方法包括:对应用的安装文件进行反编译,得到反编译后的代码,所述反编译后的代码处于代码混淆状态;确定所述反编译后的代码中需分析的目标代码;根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件记录有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。本发明专利技术实施例提供的代码处理方法,可为减小应用安装文件的代码分析难度,提升分析结果的准确性提供基础,使得后续对应用的安装文件进行代码分析时,可降低分析难度,且提升分析结果的准确性。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体涉及一种代码处理方法、装置及计算设备
技术介绍
在应用开发过程中,为保护应用的开发代码,需将使用开发代码编译的代码文件进行代码混淆处理,从而生成应用的安装文件,以增加应用的安装文件被反编译的难度,实现对开发代码的保护;如开发一个APK(Android Package,Android安装包),为了更好地保护APK的开发代码,则在编译生成APK安装文件时,需对开发代码编译好的代码文件进行代码混淆处理,如将开发代码对应的类名、函数名和变量名等混淆为字母。目前为实现应用的漏洞检测、代码定位等目的,通常需要对应用的安装文件进行代码分析;在对应用的安装文件进行代码分析时,主要使用反编译技术,对应用的安装文件进行反编译,分析反编译后的代码,从而实现代码分析的目的。本专利技术的专利技术人在研究过程中发现,使用反编译技术,对应用的安装文件进行反编译后,反编译后的代码处于代码混淆状态;这使得反编译后的代码的分析难度较大,导致分析得出的分析结果的准确性不高。
技术实现思路
有鉴于此,本专利技术实施例提供一种代码处理方法、装置及计算设备,以为减小应用安装文件的代码分析难度,提升分析结果的准确性提供基础。为实现上述目的,本专利技术实施例提供如下技术方案:一种代码处理方法,包括:对应用的安装文件进行反编译,得到反编译后的代码,所述反编译后的代码处于代码混淆状态;确定所述反编译后的代码中需分析的目标代码;根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件记录有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。本专利技术实施例还提供一种代码处理装置,包括:反编译模块,用于对应用的安装文件进行反编译,得到反编译后的代码,所述反编译后的代码处于代码混淆状态;目标代码确定模块,用于确定所述反编译后的代码中需分析的目标代码;反混淆模块,用于根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件记录有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。本专利技术实施例还提供一种计算设备,包括上述所述的代码处理装置。基于上述技术方案,本专利技术实施例提供的代码处理方法包括:对应用的安装文件进行反编译,得到反编译后的代码;确定所述反编译后的代码中需分析的目标代码;根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件映射有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。采用本专利技术实施例提供的代码处理方法,可得到应用的开发代码,通过分析所得到的开发代码,可较为容易的对应用的安装文件中的代码进行分析,并且分析结果的准确性较高;本专利技术实施例提供的代码处理方法,可为减小应用安装文件的代码分析难度,提升分析结果的准确性提供基础,使得后续对应用的安装文件进行代码分析时,可降低分析难度,且提升分析结果的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不
付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的代码处理方法的流程图;图2为本专利技术实施例提供的设定映射文件的方法流程图;图3为本专利技术实施例提供的代码处理方法的另一流程图;图4为本专利技术实施例提供的应用的漏洞位置定位方法的流程图;图5为本专利技术实施例提供的应用例的示意图;图6为本专利技术实施例提供的代码处理装置的结构框图;图7为本专利技术实施例提供的代码处理装置的另一结构框图;图8为本专利技术实施例提供的反混淆模块的结构框图;图9为本专利技术实施例提供的反混淆模块的另一结构框图;图10为本专利技术实施例提供的目标代码确定模块的结构框图;图11为本专利技术实施例提供的代码处理装置的再一结构框图;图12为本专利技术实施例提供的计算设备的硬件结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例提供的代码处理方法的流程图,该方法可应用于具有数据处理能力的计算设备中,如手机、笔记本电脑、PC(个人计算机)等用户设备,也可以如服务器等网络侧设备;参照图1,该方法可以包括:步骤S100、对应用的安装文件进行反编译,得到反编译后的代码;由于应用的安装文件为经过代码混淆处理后生成的,因此对应用的安装文件进行反编译后,所得到的反编译后的代码也是处于代码混淆状态的;可选的,反编译后的代码可以为smali代码或者Java代码等,本专利技术实施例可选用特定代码类型的反编译器对应用的安装文件进行反编译,从而得到特定代码类型的反编译后的代码。步骤S110、确定所述反编译后的代码中需分析的目标代码;可选的,目标代码的选取可视实际需求而定;如本专利技术实施例提供的代码处理方法的应用需求为进行应用的漏洞位置定位,则目标代码可以为反编译后的代码中的漏洞代码;如本专利技术实施例提供的代码处理方法的应用需求为进行代码分析,则可指定反编译后的代码中的某部分用户感兴趣的代码为目标代码,也可指定所有的反编译后的代码为目标代码。步骤S120、根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件记录有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。可选的,本专利技术实施例可在对应用的开发代码进行代码混淆处理时,通过映射文件记录开发代码和混淆代码的映射关系,所记录的混淆代码为对开发代码进行代码混淆处理后生成的;以代码对应的类名、变量名和函数名等元素为例,则在对开发代码进行代码混淆处理时,可通过映射文件记录开发代码对应的类名及混淆处理后的类名、开发代码对应的变量名及混淆处理后的变量名、开发代码对应的函数名及混淆处理后的函数名;映射文件的基本格式如下,可参照:开发代码对应的类名->混淆后类名:开发代码对应的变量名->混淆后变量名开发代码对应的函数名->混淆后函数名。可选的,在设定所述映射文件后,可根据所述映射文件对处于代码混淆状态的目标代码进行反混淆处理,得到代码混淆状态的目标代码所对应的开发代码(该开发代码为应用的源代码,未经过代码混淆处理);如对应用的安装文件进行反编译后,可从反编译后的处于代码混淆状态的类名、变量名、函数名中确定目标类名、目标变量名、目标函数名(目标类名、目标变量名、目标函数名也处于代码混淆状态);进而根据所述映射文件对目标类名、目标变量名、目标函数名进行反混淆处理,得到对应的开发代码的类名、变量名、函数名;由于对目标代码进行反混淆处理后,所得到的是应用的开发代码,而开发代码为应用的源代码,并没有经过代码混淆处理;因此通过所得到的开发代码,可较为容易的对应用的安装文件中的代码进行分析,并且分析结果的
准确性较高。本专利技术实施例提供的代码处理方法包括:对应用的安装文件进行反编译,得到反编译本文档来自技高网
...
一种代码处理方法、装置及计算设备

【技术保护点】
一种代码处理方法,其特征在于,包括:对应用的安装文件进行反编译,得到反编译后的代码,所述反编译后的代码处于代码混淆状态;确定所述反编译后的代码中需分析的目标代码;根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件记录有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。

【技术特征摘要】
1.一种代码处理方法,其特征在于,包括:对应用的安装文件进行反编译,得到反编译后的代码,所述反编译后的代码处于代码混淆状态;确定所述反编译后的代码中需分析的目标代码;根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码;其中,所述映射文件记录有开发代码和对所述开发代码进行混淆处理后的混淆代码的映射关系。2.根据权利要求1所述的代码处理方法,其特征在于,所述映射文件的设定过程包括:在对所述应用的开发代码进行代码混淆处理时,确定混淆处理的初始结果,所述初始结果包括混淆代码和混淆过程参数;其中,所述混淆过程参数用于标识混淆代码唯一对应的开发代码;隐藏所述混淆过程参数,建立开发代码与对应的混淆代码的映射关系。3.根据权利要求2所述的代码处理方法,其特征在于,所述根据设定的映射文件对所述目标代码进行反混淆处理,得到所述目标代码对应的开发代码包括:根据所建立的开发代码与对应的混淆代码的映射关系,确定所述目标代码所对应的开发代码;或,恢复所述目标代码对应的混淆过程参数,根据所述目标代码及对应的混淆过程参数,将所述目标代码反混淆处理为对应的开发代码。4.根据权利要求1-3任一项所述的代码处理方法,其特征在于,所述目标代码为所述应用中的漏洞代码;确定所述反编译后的代码中需分析的目标代码包括:对所述反编译后的代码进行漏洞分析,确定漏洞代码;所述方法还包括:以所得到的所述漏洞代码对应的开发代码定位所述应用的漏洞位置。5.根据权利要求4所述的代码处理方法,其特征在于,所述对所述反编译后的代码进行漏洞分析,确定漏洞代码包括:根据设定的漏洞代码特征,对所述反编译后的代码进行扫描;将扫描得到的所述反编译后的代码...

【专利技术属性】
技术研发人员:高岳王金锭
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1