android应用内计费安全问题

android应用内计费安全问题,android,security,billing,in-app,Android,Security,Billing,In App,我计划在用户付费后使用应用内计费来启用一些功能。 我想执行以下步骤: 按照谷歌的例子添加应用程序购买 用户付费后,在private SharedReferences中添加布尔标志 以后不要再检查用户是否付费 我想知道更多关于应用内计费的安全性。我的问题是: 对于android授权库来说,这是一个很容易破解的问题(只需下载一个程序并执行,完成),对于应用内计费来说,这是类似的问题吗 私有共享引用是否足够安全?对布尔变量进行散列似乎没有用 破解apk文件容易吗?例如,只需反编译apk,找到布尔逻辑1

我计划在用户付费后使用应用内计费来启用一些功能。 我想执行以下步骤:

  • 按照谷歌的例子添加应用程序购买
  • 用户付费后,在private SharedReferences中添加布尔标志
  • 以后不要再检查用户是否付费
  • 我想知道更多关于应用内计费的安全性。我的问题是:

  • 对于android授权库来说,这是一个很容易破解的问题(只需下载一个程序并执行,完成),对于应用内计费来说,这是类似的问题吗
  • 私有共享引用是否足够安全?对布尔变量进行散列似乎没有用
  • 破解apk文件容易吗?例如,只需反编译apk,找到布尔逻辑1>0,即始终为真,然后重新编译apk

  • 我发现有一个AndroidBillingLibrary易于实现,但它已经过时了。这有什么好的选择吗?

    不要像现在一样使用广泛可用的示例代码(通常也有bug),为应用程序重新编写、增强和自定义

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

    反编译总是可能的,您可以混淆您的许可证检查逻辑,使其对想要破解的人来说有点困难。一个专心致志的人会在一段时间后找到解决办法,你只能让他们慢下来