ARTICLE · 1082349
为什么安卓APP发布前要给APK做加固
为什么安卓APP发布前要给APK做加固
很多人第一次把 APK 拖进 jadx-gui,才发现里面藏了多少工程信息。
包名、类名、方法名全在。顺着调用链往下看,接口地址、请求参数拼接、本地加密和校验算法,连授权和风控分支都一清二楚。res 里的布局图片,还有 assets 里的 H5 和 JS,照样能被直接扒走。没加固的 APK,基本等于裸奔。
加固后就不一样了。DEX 可能直接解析失败,或者只能看到个壳入口。类名方法名变得毫无意义,指令顺序被打乱,还塞了一堆垃圾分支。URL、密钥这些敏感字符串,全挪到了运行时解密。资源文件名也被混淆,根本猜不出是干嘛用的。
还能加上防调试、防重签名、ROOT 检测。只要包被改过、接了调试器,或者检测到手机 root 了,直接闪退。
不过得说实话:加固只是拉高破解成本,做不到绝对防破解。
我用的这个工具(安卓APK资源混淆加密重签名工具),专门处理打好的 APK。不用动源码,也不用配 SDK 环境,图形界面点几下就行。它能做 DEX 加壳、字符串加密、资源混淆,还能自动重签名。要是遇到国外小众杀软报毒,关掉加壳或把第三方 SDK 加入忽略列表就行。
原文为什么安卓APP发布前要给APK做加固
上海,6分钟前,