【问题标题】:How to secure an Android app against sharing apps like ShareIT & more?如何保护 Android 应用免受 ShareIT 等共享应用的侵害?
【发布时间】:2016-09-01 19:53:22
【问题描述】:

我正在尝试开发我的字典应用程序,并且在我的应用程序中,我正在为我的字典使用数据库。因此,我正在尝试保护我的应用程序或阻止与某些应用程序(如 ShareIT)共享我的应用程序!或 CSHAre 等。我看到很多人会使用这些应用程序传输所有应用程序的数据,我正在尝试找到一种方法来阻止它或以某种方式取消此应用程序。

我的应用程序是高级应用程序,我知道可能有一些方法可以要求用户提供一些个人数据以登录或类似的东西。但我也看到了人们使用这些共享应用程序做了什么。

我并不是说要给我一些代码或确切的例子(如果可能的话会更好)来防止这种分享!小信息和指南也将帮助我更好地开发和保护我的应用程序。

所以请帮助我并提出您的建议。

【问题讨论】:

  • 如果您没有通过ContentProvider 提供对您的数据库的访问权限,您不必担心,除非用户设备已root,否则其他应用程序将无法访问您的数据库文件。您还可以使用SQLCipher 来加密您的数据库文件,这样即使文件是共享的,他们也不会对其具有读/写权限。

标签: android security


【解决方案1】:

您无法阻止用户共享 APK,而是可以构建允许或拒绝用户使用您的应用的逻辑。

你可以做以下两件事。

1) 验证安装程序

如果安装程序是真实的(您在其上托管了您的应用程序),例如 Play 商店、亚马逊商店,则允许该用户。

public static boolean verifyInstaller(final Context context) {

   final String installer = context.getPackageManager()
          .getInstallerPackageName(context.getPackageName());

   return installer != null && 
           installer.startsWith(PLAY\_STORE\_APP\_ID);

}

2) Implement Google Play LicensingLicence Verification Library

借助 Google Play 许可,您的应用程序可以在运行时查询 Google Play 以获取当前用户的许可状态,然后酌情允许或禁止进一步使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2010-10-11
    • 2012-02-15
    • 2010-10-03
    相关资源
    最近更新 更多