【问题标题】:Android Service binding access controlAndroid 服务绑定访问控制
【发布时间】:2017-03-22 16:22:48
【问题描述】:

我有一个应用程序,它使用清单中的以下标记在单独的进程中运行活动

android:process=:newProcess

我使用一个服务类,让两个进程进行通信。现在我想启用某种访问控制,这样只有特定的活动才能绑定和使用服务。 这样的事情可能吗?

我需要这个,因为我正在开发一个 SDK,我想让 SDK 的用户难以对其进行逆向工程。我不希望他们能够绑定到我的服务并访问我的服务正在使用的数据。

一种选择是传递一个字符串作为intent中的键,服务的onBind方法可以验证键并只允许正确绑定,但是sdk的用户可以简单地看到这个键(因为字符串不会被 pro Guard 混淆)并自己传递密钥并能够绑定到服务。

【问题讨论】:

    标签: android android-service ipc access-control


    【解决方案1】:

    我想到的一种可能的方法是,每次调用我的 SDK 进行操作时生成一个 UUID。该 UUID 只能在 SDK 范围内访问,因此用户无法处理它。 这个 uuid 将是我将通过意图传递的密钥,并且只有当这个 uuid 匹配时,我才会允许服务绑定。 这样可以确保只有有权访问该 uuid 的类才能绑定到我的服务,并且每次调用我的 SDK 时都会重新生成 uuid。

    我目前没有预见到任何问题,但我可能错过了一些东西。

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 2014-10-29
      • 2011-08-04
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多