验证Android apk没有重新包装?

时间:2012-10-08 15:41:45

标签: android security checksum

希望改进我的Android应用的安全性,以标记.apk是否已被提取,修改,重新包装和重新签名。这是来自Zdnet的文章,注意到问题link1

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

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

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

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

3 个答案:

答案 0 :(得分:3)

我最终使用Dexgaurd(Android的付费混淆器)提供了一个预先形成apk验证的模块。主要是实施简单,并提供更好的平均保护。

以下是执行检查的代码:

dexguard.util.TamperDetection.checkApk(context)

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

答案 1 :(得分:1)

答案 2 :(得分:0)

使用Google许可服务它将与Play商店连接,以确保用户每隔几天购买该应用。 (你可以设定金额)也在ProGuard上玩。它会从代码中删除所有类,方法和变量名称,这使得它在反编译后很难理解。