首页 > Android > 教程 > 正文

Android APK加固(加壳)工具

2018-07-22 教程 5800 ℃ 0 评论

测试点评

  • 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)。 

111111111111111.png

我把软件也上传到CSDN服务器,下载地址。 
下载后解压目录如下: 

222222222222222.png

(2)目标应用:SplashAct.apk

(3)加密过程: 
无需安装,解压后直接运行apkcrypt.exe; 
选择需要加密的APK; 
指定生成目标的名字; 
点击按钮开始加密,软件会在同一目录下生成加密后的APK。 

3333333333333333.png

加密前:18823KB 
加密后:18885KB 

444444.png

注:点击开始后,可能会弹出错误信息: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 

5555.png

签名成功,在相同目录下会生成签名后的APK文件。

6666.png

zipalign(压缩对齐)优化

签名之后的APK文件现在已经可以安装到手机上了,不过在此之前Android还极度建议我们对签名后的APK文件进行一次对齐操作,因为这样可以使得我们的程序在Android系统中运行得更快。对齐操作使用的是zipalign工具,该工具存放于<\Android SDK>/build-tools/目录下,将这个目录配置到系统环境变量当中就可以在任何位置执行此命令了。命令格式如下: 
zipalign -v 4 SplashAct_signed.apk SplashAct_aligned.apk

压缩对齐成功,在相同目录下会生成对齐后的APK文件。 

12121.png

反编译" style="box-sizing: border-box; outline: 0px; padding: 0px; margin: 8px 0px 16px; font-size: 28px; color: rgb(79, 79, 79); line-height: 36px; word-break: break-all; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif, SimHei, SimSun; white-space: normal; background-color: rgb(255, 255, 255);">反编译

关于反编译APK不熟悉的同学请看我的这篇文章Android APK的反编译和重新打包。 
我们将刚刚加固之后的APK文件(SplashAct_signed.apk或SplashAct_aligned.apk)进行反编译,会报错: 

1233.png

注:关于APK加固的原理有兴趣的同学可以看看这篇文章,Android中的Apk的加固(加壳)原理解析和实现

用gui工具看反编译后代码也是看不了的,说明APK已经被成功加固了。 

凄凄切切群群群群群群.png

转自https://blog.csdn.net/huaxun66/article/details/53484567

猜你喜欢

日历
«    2024年3月    »
123
45678910
11121314151617
18192021222324
25262728293031
标签列表
最近发表
友情链接