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

针对Android平台恶意软件泛滥的问题,本文介绍了两种APK保护方法:文件夹混淆和花指令。通过修改文件夹名称和植入特定代码,增加破解难度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爱加密分享: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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值