http://blog.csdn.net/u011458979/article/details/48025673
http://jiagu.360.cn/protection?s=1 360加固连接
版权声明:本文为博主原创文章,未经博主允许不得转载。
先上一段百度加固的上线公告:
尊敬的开发者:
为防止您的在百度开发者平台提交的移动应用利益受损,现百度开发者平台为您提供移动应用加固服务,使用加固服务,能有效防止应用被反编译、篡改,保护开发者知识产权。
但近日频繁发现有恶意应用使用“第三方加固”规避百度审核,严重损害了用户权益。
自2015年8月24日起,百度开发者平台将不再上线使用第三方加固服务的应用(联运游戏暂不受限),有加固需求的应用,请使用安全便捷的百度应用加固服务(链接)。
点击链接便转到百度加固页面(前提是你有百度开发者账号)。
接下来便是加固操作了
1.点击“申请加固”
2.点击“上传文件”,选择要加固的apk(注:apk必须要有签名,否则会加固失败)
3.加固成功后便可将加固后的apk下载下来,这时下载下来的apk是带有“_unsigned”字样,即未签名的,所以还要对下载下来的apk进行签名。
4.签名
由于我已有一个keyStore,便不再使用jdk自带的keytool制作keyStore。如果没有,可参考此文章制作一个
使用jdk自带的jarsigner进行签名,jarsigner位于jdk安装目录下的bin文件夹中。使用cmd命令提示窗口进行使用。
如果想图方便,可将bin文件夹加入系统的环境变量中,不然每次要使用jarsigner都要将cmd的当前路劲设为jdk安装目录下的bin文件夹。
本人已将bin文件夹加入系统的环境变量中,所以cmd可以在任意路径下使用。
以下是jarsigner的一些使用方法
本次签名使用:
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore nit.keystore -storepass 密码 -keypass 密码 -signedjar nit_signed.apk nit_temp.apk 理工
-verbose参数表示:显示出签名详细信息
-digestalg 摘要算法
-sigalg 签名算法,如果发布到百度上,一定要用SHA1
-keystore表示使用当前目录中的nit.keystore签名证书文件。
-storepass 密钥口令 ,用于密钥库完整性的口令
-keypass 私有密钥的口令 (如果不同)
-signedjar nit_signed.apk表示签名后生成的APK名称,
nti_temp.apk 表示未签名的APK,
理工表示nit.keystore的别名
5.优化APK
zipalign -v 4 nit_signed.apk nit.apk
zipalign位于sdk的tools目录下,如果没有,可以使用我的zipalign , 链接 密码: 5xar
注:zipalign优化的最根本目的是帮助操作系统更高效率的根据请求索引资源,将resource-handling code统一将Data structure alignment(数据结构对齐标准:DSA)限定为4-byte boundaries。