Android加固不是只做混淆:防反编译、防篡改、防调试分别在防什么
上个月一个团队拿着包来找我,想不通:混淆上了、字符串也加密了,怎么市面上还是冒出来了改过广告 SDK 的破解版。我翻了一下发现,他们把力气全砸在了防止别人读代码上,签名和完整性校验一行没写。可对方压根没读代码,拆开包改俩字节、塞个模块、重签名,破解版就流出去了。
上个月一个团队拿着包来找我,想不通:混淆上了、字符串也加密了,怎么市面上还是冒出来了改过广告 SDK 的破解版。我翻了一下发现,他们把力气全砸在了防止别人读代码上,签名和完整性校验一行没写。可对方压根没读代码,拆开包改俩字节、塞个模块、重签名,破解版就流出去了。
我 review 过的上线安全清单,十有八九是满屏的勾,看着挺踏实。但检查清单全绿,和包能否拦住破解是两码事。见过很多游戏,上线前检查没问题,结果上线没几天,重打包的破解版照样在各个群里传,急得运营像热锅上的蚂蚁,拉着各方开会讨论办法...
提到加固,很多人会直接想到防破解、反外挂、防反编译。这些当然都算,但加固真正面对的其实是客户端暴露出来的攻击面。