读.爱加密分享:APK高级保护方法解析(二)

读 爱加密分享:APK高级保护方法解析(二)

F-Secure在2013下半年威胁研究报告中称,Android手机恶意软件占所有手机恶意软件的97%,比2012年的79%上升了18%,仅从这些数据来看,就知道Android用户的安全环境是多么糟糕。解决这些问题,,需要开发者对自己的APK做好安全保护,防止被恶意篡改、二次打包及盗版。

“F-Secure 原名Data Fellows,是欧洲乃至世界知名的计算机及网络安全提供商。F-Secure成立于1988年,总部设在芬兰的赫尔辛基。该公司发行的同名产品F-Secure(芬安全)为一款防毒软件,具四颗防毒引擎,采用云端即时保护网络技术,以高侦测、低误判为其主要特性。”

APK高级保护的第二种方法——文件夹混淆

它的原理是:在Windows和Linux下文件夹的名字是不区分大小写的,但是在Android环境下它却要区分大小写。.2在Linux算一个特殊符号,所以文件夹名字里面添加的.2会被忽略,但是windows下.2却是一个很普通的字符串。 具体方法:反编译开发完成的APK,找到包目录下的最后一层文件夹(例如:包名是com.example.test2222,找到test2222所在的文件夹),修改test2222文件夹名字为test2222.2并创建文件夹Test2222.2,然后随意存放一个有效的smali文件在Test2222里面,然后重新重写打包成APK签名。

.2在Linux算一个特殊符号,所以文件夹名字里面添加的.2会被忽略,但是windows下.2却是一个很普通的字符串

这一句话不太理解。linux下记忆中没有此项约定。 ??????

APK高级保护的第三种方式——花指令

花指令是程序中有一些指令,由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。“花指令”这个词来源于汇编语言,它的思想是非常不错的,它的另一个目的就是利用反编译工具漏洞,来使工具无法使用。 接下来,我们就在JAVA代码处制“花指令”,让反编译工具(jd-gui)无法反编译查询你的JAVA代码。jd-gui的bug其实挺多了,很多特殊代码块或者字段集都能够让其崩溃无法反编译出源码。 比如: private static final char[] wJ = “0123456789abcdef”.toCharArray(); public static String imsi = “204046330839890”; public static String p = “0”; public static String keyword = “电话”;public static String tranlateKeyword = “%E7%94%B5%E8%AF%9D”;

在每个类里面加入如上字段,你会发现反编译的类通过jd-gui查看后的结果如下: jd-gui解析出该类时会报 Internal Error

辽远或偏僻的地方,而会常常想起这一次的旅行,想起那座山,那个城,那些人……

读.爱加密分享:APK高级保护方法解析(二)

相关文章:

你感兴趣的文章:

标签云: