-
-
apkprotect(免费android代码混淆、加密保护工具)版本v0.3.8 2013.10.22更新
-
发表于:
2013-6-1 14:41
95419
-
apkprotect(免费android代码混淆、加密保护工具)版本v0.3.8 2013.10.22更新
APKProtect 简介
apkprotect 是用于加密APK文件中dex文件的加密工具,加密的东西主要有字符串加密、流程加密、类名加密和API加密(未完成,后续支持)等,有于较好的保护APK文件,使之不易破解分析。上个程序的果照,哈哈!!!
最近更新:
2013.10.22:
1、改进字串加密算法
2、新增首次使用时自动签名提示。
3、修正原有加密算法的一些bug。
2013.10.07:
1、修正中文类名导致加密失败的问题。
2、修正新增类名和原应用类名冲突的问题。
2013.9.29:
1、 修正重打包时,部分文件未打包进去的问题。
2、 修正部分framework资源导致重打包失败的问题,提升加密成功率。
2013.9.8:
1、修正framework版本混淆导致加密失败的问题。
2、去除多余的提示,减少扰民。
3、改进加密成功失败提示。
2013.9.2:
1、修正多个启动点为同一类名时,重复加密导致加密失败的问题。
2、修正多重继承判断出错的bug。
3、改进已加壳应用的识别。
4、去除不用的签名文件,减小包的大小。
2013.8.27:
1、修正启动程序慢的问题。
2、修正部分应用加密后导致fc的问题。
3、修正断网导致加密失败的问题。
4、新增防止ida动态调试功能。
2013.8.23:
1、修正无效fielditem导致加密失败的问题。
2013.8.21:
1、 修正部分中文导致加密失败的问题。
2、 新增android 模拟器检测功能。
3、 修正加密后文件在4.3系统下无法安装的问题。
2013.8.17:
1、修正XML中包含中文导致解析失败的问题。
2013.8.16:
1、修正部分加密后应用在4.3无法正常运行的bug。
2、修正aapt版本混乱导致加密失败的问题,修正后大幅提高加密的成功率。
3、修正部分包名对应类不存在应用中,导致加密失败的问题。
4、修正重复类型导致加密失败的问题。
5、增加有版本更新小提示。
2013.8.13:
1、增加常见启动项的加密。
2、增加jd-gui、apktool的反静态解码。
3、界面做了微调整。
2013.8.6:
1、修正部分文件加密后运行异常退出的bug.
2、修正界面错误的E文。
2013.8.1:
1、添加软件自更新功能。
2、去除不用的7z相关文件,减小size.
2013.7.30:
1、增加应用的java层代码重打包检测。
2、增加已加壳检测。
3、调整部分代码流程,独立出调用流程混淆加密。
2013.7.16:
1、跟上组织的步伐,增加xx欺骗下apktool。
2013.7.15:
1、修正部分bug,加了部分反编译工具的对抗。
2、引入源码的dex相关库。
2013.6.23:
1、增加阻止apktool反编译功能。
2013.6.16
1、修正部分文件加密字符失败的bug.
2、改进加密函数。
2013.6.13
1、支持常见字符串加密
2、支持自动打公用和私用签名(私用签名需先配置)。
2013.6.1
1、支持流程混淆加密
静态反编译对抗对比:
v0.2.8版本新支持对抗apktool和jdgui,上图为jd-gui的效果对比。
加壳前jd-gui可以反编译出所有的类和包。
加壳后jg-gui几乎反编译不出任何有价值的代码。
加密对比参考:
加密字符串前后对比
加密前字符串
加密后字符串
流程加密前后对比
未加密,流程未加密时,解出的代码非常容易看,顺序为0x7f050001、0x7f050002、0x7f050003的顺序
已加密
流程加密后,静态分析能看出代码顺序都乱了。变成0x7f050002、0x7f050001、0x7f050004了。混淆后使用jdgui、jad之类高级反编译器反编译出来的代码可读性差很多。
常见问题:
Q:为什么我加密文件失败?
A: 1、本工具需在jdk环境下运行,请确认下JDK是否安装好。
2、需加密的文件包名中仅包含android开头的包不会进行加密(过滤默认库加密)。
3、其它情况导致加密失败,请联系我,谢谢!
Q:为什么我加密了一个文件感觉什么也没加?
A: 为确保APK的稳定性,加密时会先进行检测是否可加密后进行加密,一般来说提示完成了,就会有代码加密了。
Q:为什么包名和类名都没加密?
A:目前java gurad已经支持(后续如有需求考虑添加)。
[课程]Android-CTF解题方法汇总!