【发布时间】:2017-12-24 12:24:06
【问题描述】:
任何人都可以帮助我如何在 android apk 中隐藏 Api Web 服务链接 就像我制作了安卓应用一样 但有人解码我的应用程序并获得 API WEB 服务 但我不想让别人看到我的 WebAPi
【问题讨论】:
标签: android web-services api http
任何人都可以帮助我如何在 android apk 中隐藏 Api Web 服务链接 就像我制作了安卓应用一样 但有人解码我的应用程序并获得 API WEB 服务 但我不想让别人看到我的 WebAPi
【问题讨论】:
标签: android web-services api http
当涉及到 Java 类或 xml 文件中的硬编码字符串时,由于 Proguard 或类似的混淆方法不会混淆硬编码的字符串,因此很难防范。
你可以加密你想要保护的字符串,这里是如何做到这一点的众多链接之一: How to encrypt and decrypt String with my passphrase in Java (Pc not mobile platform)?
但是请务必注意,您的加密密钥也必须存储在您的应用程序中。
最后,你只能让解码你的应用程序的人更难(耗时)。
【讨论】:
您可以使用 proguard 阻止您的代码 在你项目的 proguard-project 文件中写如下
-keep class com.myProject.package.** { *; }
【讨论】:
1.) 使用 Proguard 保护您的 apk
https://developer.android.com/studio/build/shrink-code.html
Proguard 是免费的 Java 类文件收缩器、优化器、混淆器和预验证器。它检测并删除未使用的类、字段、方法和属性。它优化字节码并删除未使用的指令。它使用简短的无意义名称重命名剩余的类、字段和方法。
2.) 在 Web API 标头上添加身份验证令牌或秘密密码。这样只会验证授权请求。
3.) 您可以在任何硬编码字符串上使用encrypt and add salt。
添加盐并将其附加到字符串上,并将其存储在数据库或首选项中以使其更安全
希望对您有所帮助.. :)
【讨论】: