android应用程序内计费安全问题

时间:2014-02-04 05:26:11

标签: android security billing in-app

我计划在用户付款后使用应用内结算来启用某些功能。 我想做以下步骤:

  1. 按照谷歌示例添加应用内购买。
  2. 用户付款后,在私有SharedPreferences中添加一个布尔标志。
  3. 如果用户未来付款,请不要重新检查。
  4. 我想了解有关应用内结算安全性的更多信息。我的问题是:

    1. 对于Android许可库来说,这是一个简单的破解(只是下载一个程序并执行,完成),这是针对应用内结算的类似问题吗?
    2. 私有sharedPrefences足够安全吗?散列布尔变量似乎没用?
    3. 攻击apk文件是否容易,例如,只是解压缩了apk,找到布尔逻辑为1> 0,即alway true,然后重新编译apk?
    4. 我发现AndroidBillingLibrary易于实现,但它已经过时了。这有什么好的选择吗?

1 个答案:

答案 0 :(得分:2)

不要使用广泛使用的示例代码(通常也有错误),重新编写,增强和自定义您的应用。

像往常一样,在root设备上,用户可以编辑任何文件。因此,他们可以通过更改(或从其他设备复制)应用程序的首选项来启用您的高级功能。您可以通过使用特定于设备的密钥(从ANDROID_ID,IMEI,MAC地址或其组合派生)混淆首选项来使这更难。

总是可以进行反编译,您可以对许可证检查逻辑进行模糊处理,以使对于想要破解的黑客行为更加困难。一个专门的人会在一段时间后找到解决方法,你只能放慢速度。