【问题标题】:How to prevent android app to decode?如何防止android应用解码?
【发布时间】:2017-12-24 12:24:06
【问题描述】:

任何人都可以帮助我如何在 android apk 中隐藏 Api Web 服务链接 就像我制作了安卓应用一样 但有人解码我的应用程序并获得 API WEB 服务 但我不想让别人看到我的 WebAPi

【问题讨论】:

    标签: android web-services api http


    【解决方案1】:

    当涉及到 Java 类或 xml 文件中的硬编码字符串时,由于 Proguard 或类似的混淆方法不会混淆硬编码的字符串,因此很难防范。

    你可以加密你想要保护的字符串,这里是如何做到这一点的众多链接之一: How to encrypt and decrypt String with my passphrase in Java (Pc not mobile platform)?

    但是请务必注意,您的加密密钥也必须存储在您的应用程序中。

    最后,你只能让解码你的应用程序的人更难(耗时)。

    【讨论】:

      【解决方案2】:

      您可以使用 proguard 阻止您的代码 在你项目的 proguard-project 文件中写如下

        -keep class com.myProject.package.** { *; }  

      【讨论】:

        【解决方案3】:

        1.) 使用 Proguard 保护您的 apk

        https://developer.android.com/studio/build/shrink-code.html

        Proguard 是免费的 Java 类文件收缩器、优化器、混淆器和预验证器。它检测并删除未使用的类、字段、方法和属性。它优化字节码并删除未使用的指令。它使用简短的无意义名称重命名剩余的类、字段和方法。

        2.) 在 Web API 标头上添加身份验证令牌或秘密密码。这样只会验证授权请求。

        3.) 您可以在任何硬编码字符串上使用encrypt and add salt

        添加盐并将其附加到字符串上,并将其存储在数据库或首选项中以使其更安全

        希望对您有所帮助.. :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-05
          • 2016-01-13
          • 2015-04-14
          • 1970-01-01
          • 2022-07-27
          • 2019-01-25
          • 1970-01-01
          • 2016-02-15
          相关资源
          最近更新 更多