限制对特定包的调用

时间:2016-10-19 04:12:24

标签: android

我们希望建立一个平台,让第三方开发者在得到我们的祝福后可以链接到这个平台。

核心应用A应该能够与第三方应用XY,...进行双向沟通。

我们可以要求第三方共享他们的代码,因此我们可以编译它以便我们可以使用android:protectionLevel="signature"。由于以下几个原因,这并不好:

  • 我们不希望在他们想要升级模块时遇到障碍
  • 我们不希望他们必须披露他们的代码
  • 我们不相信X不会滥用AY
  • 的访问权限

我们可以检查callingPackage并检查它是否由预期密钥签名。不幸的是,callingPackage

  • ContentProvider已知
  • Service(以及BroadcastReceiver
  • 未知 如果Activity使用startActivityForResult()进行了调用,则
  • 已知sAFR()Service中未提及callingPackage

有没有办法将Service / Activity / ContentProvider暴露给一组开发人员(根据包签名)?如果没有,import requests [1] response = requests.get(flashSite) [2] myPage = response.content [3] for line in myPage.splitlines(): [4] if '.swf' in line: [5] start = line.find('http') [6] end = line.find('.swf') + 4 [7] print line[start:end] [8] 可以伪造,还是可靠的?

0 个答案:

没有答案