gpt4 book ai didi

android - 在服务器端验证应用程序是否是我的

转载 作者:行者123 更新时间:2023-11-29 17:59:15 24 4
gpt4 key购买 nike

我正在编写一个铃声库应用程序,铃声驻留在服务器上,用户可以下载。

我想要的是检查并验证连接是否真的来 self 的应用程序,而不是其他应用程序或 HTTP 请求生成器。例如,我不喜欢有人编写使用我的后端的应用程序并在应用程序中显示他的广告。这就像通过检查引荐来源网址来防止网站中的图像浸出。

无法在应用程序中插入 key ,因为 Android 应用程序很容易被反编译。我想获得应用签名并将其哈希作为 key 发送,但这就像任何应用都可以访问其他应用签名哈希一样。

如何编写应用程序的一部分以 native 代码进行通信?是否像java代码一样容易反编译?

我真的想不出任何其他方式,我不喜欢别人为了他们的利益而使用我的资源。

最佳答案

您可以做几件事。

  1. 创建您自己的证书颁发机构,随您的应用发送证书并使用双向 TLS 身份验证。这不能防止反编译和逆向工程,但可以保护途中的流量。
  2. 使用 this 中的建议用于检测修改和调试器的幻灯片。
  3. 使用 Jelly Bean 的硬件支持 secure storage .

不过,归根结底,DRM 是一场失败的战斗。如果用户具有 root 访问权限,则所有赌注都会关闭,有或没有混淆(本地库是)。唯一的问题是您的数据有多重要。对于 90% 的应用程序,通过 ProGuard 运行它几乎不可能解开纠缠(特别是如果您使用数据流混淆)。连同证书方法,这应该足以满足大多数情况。

或者,尝试更改您的模型,以便您对用户而不是应用进行身份验证 - 这要简单得多!

关于android - 在服务器端验证应用程序是否是我的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com