app应用的防逆向破解的加密方法及加密系统技术方案

技术编号:13583098 阅读:58 留言:0更新日期:2016-08-24 09:49
本发明专利技术公开了一种app应用的防逆向破解的加密方法及加密系统,加密方法包括以下步骤:S1、对app应用进行解码以生成smali代码;S2、对所述smali代码进行加密以生成加密后的smali代码;S3、将加密后的smali代码重新打包成app应用。本发明专利技术通过对app应用的代码进行加密,防止app被逆向破解,从而保护了现有app的安全,提高了分析app的技术门槛。

【技术实现步骤摘要】

本专利技术涉及一种app应用的防逆向破解的加密方法及加密系统
技术介绍
现有的app(应用程序)市场非常混乱,黑客可以通过简单逆向技术分析出app的行为继而对app造成严重的威胁。现有技术中开发人员普遍通过代码混淆的方式对自己的app进行保护,但黑客还是可以找到蛛丝马迹进行逆向破解。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中app容易被简单的逆向技术进行破解的缺陷,提供一种app应用的防逆向破解的加密方法及加密系统。本专利技术是通过下述技术方案来解决上述技术问题的:本专利技术提供了一种app应用的防逆向破解的加密方法,其特点在于,包括以下步骤:S1、对app应用进行解码以生成smali代码(一种java字节代码);S2、对所述smali代码进行加密以生成加密后的smali代码;S3、将加密后的smali代码重新打包成app应用。较佳地,步骤S1中采用apktool(一种专业的apk解包组包工具)对app应用进行解码,和/或,步骤S3中采用apktool对加密后的smali代码进行重新打包。较佳地,所述app应用为安卓系统的app应用。较佳地,步骤S2中还在所述smali代码中嵌入保护代码。较佳地,步骤S2包括:S21、对所述smali代码进行pump操作(提取操作),以生成stub smali(壳smali,指文件格式中不包含任何代码)和entry xml(指描述入口地址的可扩展标记语言);S22、对所述stub smali进行加密,以生成加密后的stub smali;S23、对所述entry xml进行modify操作(修改操作),以生成modified entry(指修改过入口地址的可扩展标记语言)。本专利技术的目的在于还提供了一种app应用的防逆向破解的加密系统,其特点在于,包括:解码模块,用于对app应用进行解码以生成smali代码;加密模块,用于对所述smali代码进行加密以生成加密后的smali代码;打包模块,用于将加密后的smali代码重新打包成app应用。较佳地,所述解码模块采用apktool对app应用进行解码,和/或,所述打包模块采用apktool对加密后的smali代码进行重新打包。较佳地,所述app应用为安卓系统的app应用。较佳地,所述加密模块还用于在所述smali代码中嵌入保护代码。较佳地,所述加密模块包括:pump单元,用于对所述smali代码进行pump操作,以生成stub smali和entry xml;加密单元,用于对所述stub smali进行加密,以生成加密后的stub smali;modify单元,用于对所述entry xml进行modify操作,以生成modifiedentry。本专利技术的积极进步效果在于:本专利技术通过对app应用的代码进行加密,防止app被逆向破解,从而保护了现有app的安全,提高了分析app的技术门槛。附图说明图1为本专利技术的较佳实施例的app应用的防逆向破解的加密方法的流程
图。图2为本专利技术的较佳实施例的app应用的防逆向破解的加密系统的模块示意图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。如图1所示,本专利技术的app应用的防逆向破解的加密方法包括以下步骤:步骤101、对app应用进行解码以生成smali代码;步骤101中还会添加系统关键代码修改入口函数;步骤102、对所述smali代码进行加密以生成加密后的smali代码;步骤102中还在所述smali代码中嵌入保护代码;步骤103、将加密后的smali代码重新打包成app应用。其中,在步骤101中具体可以采用apktool工具对app应用进行解码,步骤103中也可以采用apktool工具对加密后的smali代码进行重新打包。在本专利技术的具体实施过程中,所述app应用优选地为安卓系统的app应用。在本专利技术中,步骤102还可以包括以下步骤:对所述smali代码进行pump操作,以生成stub smali和entry xml;对所述stub smali进行加密,以生成加密后的stub smali;对所述entry xml进行modify操作,以生成modified entry,从而完成对所述smali代码的加密。如图2所示,本专利技术的app应用的防逆向破解的加密系统包括解码模块1、加密模块2以及打包模块3;其中,所述解码模块1用于对app应用进行解码以生成smali代码;所述加密模块2用于对所述smali代码进行加密以生成加密后的smali代码;所述打包模块3用于将加密后的smali代码重新打包成app应用。所述解码模块1可以采用apktool对app应用进行解码,所述打包模块2也可以采用apktool对加密后的smali代码进行重新打包;所述app应用为安卓系统的app应用,所述加密模块2还可以在所述smali代码中嵌入保护代码。所述加密模块2具体可以包括pump单元21、加密单元22以及modify单元23,其中,所述pump单元21用于对所述smali代码进行pump操作,以生成stub smali和entry xml;所述加密单元22用于对所述stub smali进行加密,以生成加密后的stub smali;所述modify单元23用于对所述entry xml进行modify操作,以生成modified entry。虽然以上描述了本专利技术的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本专利技术的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本专利技术的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本专利技术的保护范围。本文档来自技高网
...

【技术保护点】
一种app应用的防逆向破解的加密方法,其特征在于,包括以下步骤:S1、对app应用进行解码以生成smali代码;S2、对所述smali代码进行加密以生成加密后的smali代码;S3、将加密后的smali代码重新打包成app应用。

【技术特征摘要】
1.一种app应用的防逆向破解的加密方法,其特征在于,包括以下步骤:S1、对app应用进行解码以生成smali代码;S2、对所述smali代码进行加密以生成加密后的smali代码;S3、将加密后的smali代码重新打包成app应用。2.如权利要求1所述的加密方法,其特征在于,步骤S1中采用apktool对app应用进行解码,和/或,步骤S3中采用apktool对加密后的smali代码进行重新打包。3.如权利要求1所述的加密方法,其特征在于,所述app应用为安卓系统的app应用。4.如权利要求1所述的加密方法,其特征在于,步骤S2中还在所述smali代码中嵌入保护代码。5.如权利要求1所述的加密方法,其特征在于,步骤S2包括:S21、对所述smali代码进行pump操作,以生成stub smali和entry xml;S22、对所述stub smali进行加密,以生成加密后的stub smali;S23、对所述entry xml进行modify操作,以生成modified entry。6.一种app应用的防逆向破解...

【专利技术属性】
技术研发人员:张亮
申请(专利权)人:上海携程商务有限公司
类型:发明
国别省市:上海;31

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

1