验证Android APK是否未重新打包?

问题描述 投票:16回答:3

[为了提高我的Android应用程序的安全性,以标记.apk是否已提取,修改,重新打包和辞职。 Zdnet的这篇文章指出了问题link1

[关注的是,如果该应用程序是黑客的目标,他们可能会添加恶意代码并上传到备用应用程序商店,并欺骗用户进行下载。

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

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

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

android security checksum
3个回答
3
投票

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

这是进行检查的代码:

dexguard.util.TamperDetection.checkApk(context)

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



0
投票

使用Google许可服务,它将与Play商店建立联系,以确保用户每隔几天购买一次该应用。 (您可以设置金额)也可以查看ProGuard。它将所有类,方法和变量名从您的代码中删除,使其一旦反编译就很难理解。

© www.soinside.com 2019 - 2024. All rights reserved.