希望提高我的 Android 应用程序的安全性,以标记 .apk 是否已被提取、修改、重新打包和退出。这是来自 Zdnet 的文章,指出了该问题 link1 .
担心的是,如果该应用程序成为黑客的目标,他们可能会添加恶意代码并上传到备用应用程序商店并欺骗用户下载它。
所以我正在考虑使用代码来验证 apk 或签名证书的校验和?
我很欣赏可以重新打包应用程序代码并删除任何安全代码,但这确实增加了重新打包它的难度,也许足以让他们尝试另一个应用程序。
[更新]我知道 Google Play 商店许可模块提供了类似的功能,但我正在为非付费应用和其他/非市场寻找一些东西。
最佳答案
我最终使用了 Dexguard (Android 付费混淆器)。它提供了一个执行 apk 验证的模块。它易于实现,并提供比一般保护更好的保护。
这是进行检查的代码:
dexguard.util.TamperDetection.checkApk(context)
主要问题是在哪里存储 apk 的校验和以进行验证,因为它可以被替换。 dexguard 方法是在本地检查它,但使用类/字符串加密和 api 隐藏等其他功能会掩盖此调用。
关于android - 验证Android apk没有被重新打包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785001/