安卓应⽤加固壳判断java⼚商_AndroidAPK加固(加壳)⼯具之前⼀篇⽂章Android proguard代码混淆,我们讲解了如何实现APK的代码混淆,让反编译者不那么容易阅读我们的源代码。虽然我们混淆,做到native层,但是这都是治标不治本的。反编译的技术在更新,那么保护Apk的技术就不能停⽌。现在有很多Apk加固的第三⽅平台,譬如爱加密,360加固,梆梆加密等,但是这些平台都是收费的。今天我们给⼤家介绍⼀个免费的APK加固⼯具APK Protect。
测试点评
APK Protect是⼀款Android APK加密服务,PC Edition免费,其他⾼级版收费。
服务⽀持Android 2.1-4.2。
对于APK⽽⾔,使⽤PC Edition加密后其体积增加30-50KB,影响较⼩。
企业版同时提供Java和C++代码的加密。
提供加密操作流程和视频教程(英⽂)。
更新⽐较及时,⽬前最⾼⽀持Android 4.2。
开发建议
APK Protect的免费版(PC Edition)只能保护Java代码,可以满⾜开发者的部分需求。
APK Protect的⾼级版本均需付费,且已经停⽌提供免费试⽤,加密C++代码需要使⽤最⾼级的企业版。
服务不提供中⽂⽀持,对开发者的英语⽔平有⼀定要求。
集成过程
加固流程
(1)选择版本:有多个版本,此处选⽤免费版(APK Protect PC Edition)。
我把软件也上传到CSDN服务器,下载地址。
下载后解压⽬录如下:
(2)⽬标应⽤:SplashAct.apk
(3)加密过程:
⽆需安装,解压后直接运⾏;
选择需要加密的APK;
指定⽣成⽬标的名字;
点击按钮开始加密,软件会在同⼀⽬录下⽣成加密后的APK。
加密前:18823KB
加密后:18885KB
注:点击开始后,可能会弹出错误信息:The application need Java jre , please install jre and retry
解决办法:由于电脑是64位的,我只安装了64位的jre,再去装个32位的jre就可以了
重新签名
获取到加固之后的APK⽂件,这时还不能⽴即安装,会提⽰APK未签名,所以我们需要使⽤签名⼯具对其进⾏签名。
步骤:将刚才⽣成的加固后的APK⽂件和keystore放在同⼀⽬录下,使⽤命令⾏进⾏签名。
jarsigner -verbose -keystore eastday_sign.keystore -signedjar SplashAct_signed.apk SplashAct.apk eastday
说明:
-verbose 输出签名的详细信息
-keystore eastday_sign.keystore 使⽤key的绝对路径
-signedjar SplashAct_signed.apk SplashAct.apk eastday 正式签名,三个参数中依次为签名后产⽣的⽂件SplashAct_signed.apk ,要签名的⽂件SplashAct.apk和密钥库(也就是alias)eastday
签名成功,在相同⽬录下会⽣成签名后的APK⽂件。
zipalign(压缩对齐)优化
签名之后的APK⽂件现在已经可以安装到⼿机上了,不过在此之前Android还极度建议我们对签名后的APK⽂件进⾏⼀次对齐操作,因为这样可以使得我们的程序在Android系统中运⾏得更快。对齐操作使⽤的是zipalign⼯具,该⼯具存放于/build-tools/⽬录下,将这个⽬录配置到系统环境变量当中就可以在任何位置执⾏此命令了。命令格式如下:
zipalign -v 4 SplashAct_signed.apk SplashAct_aligned.apk
压缩对齐成功,在相同⽬录下会⽣成对齐后的APK⽂件。
java源代码加密反编译
关于反编译APK不熟悉的同学请看我的这篇⽂章Android APK的反编译和重新打包。
我们将刚刚加固之后的APK⽂件(SplashAct_signed.apk或SplashAct_aligned.apk)进⾏反编译,会报错:
注:关于APK加固的原理有兴趣的同学可以看看这篇⽂章,Android中的Apk的加固(加壳)原理解析和实现。⽤gui⼯具看反编译后代码也是看不了的,说明APK已经被成功加固了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论