21

希望提高我的 Android 应用程序的安全性,以标记 .apk 是否已被提取、修改、重新打包和退出。这是来自 Zdnet 的文章,指出了问题link1

令人担忧的是,如果该应用程序成为黑客的目标,他们可能会添加恶意代码并上传到备用应用程序商店并欺骗用户下载它。

所以我正在考虑使用代码来验证 apk 或签名证书的校验和?

我很欣赏可以重新打包应用程序代码并删除任何安全代码,但这确实增加了重新打包它的难度,也许足以让他们尝试另一个应用程序。

[更新]我知道 Google Play 商店许可模块提供了类似的功能,但我正在为非付费应用和其他/非市场寻找一些东西。

4

3 回答 3

3

我最终使用了Dexguard(Android 付费混淆器)。它提供了一个执行 apk 验证的模块。它易于实施,并提供比一般保护更好的保护。

这是进行检查的代码:

dexguard.util.TamperDetection.checkApk(context)

主要问题是在哪里存储 apk 的校验和以进行验证,因为它可以被替换。dexguard 方法是在本地检查它,但使用类/字符串加密和 api 隐藏等其他功能会掩盖此调用。

于 2013-08-05T08:39:14.803 回答
2

以下是一些可以帮助您的文章。

在运行时检索 APK 签名
自我检查 APK 签名。
如何检查 APK 签名。

于 2012-10-08T16:09:09.543 回答
0

使用 Google 许可服务它将与 Play 商店连接,以确保用户每隔几天购买一次应用程序。(你可以设置金额) 也看看 ProGuard。它将所有的类、方法和变量名从你的代码中剥离出来,一旦反编译就很难理解。

于 2012-10-08T15:46:30.833 回答