【问题标题】:Is this possible to protect our apk to decompile in android?这可以保护我们的apk在android中反编译吗?
【发布时间】:2017-01-19 14:17:48
【问题描述】:

我创建了一个 android 应用程序,但在该应用程序中我使用的是 url,所以我想保护该 url,因为当我反编译我的 apk 时,java 类 url 内的内容是原样的。

所以我想问一下这是否可以保护该网址?

【问题讨论】:

  • 你可以加密网址。
  • 了解proguard

标签: android security android-proguard


【解决方案1】:

不,没有办法阻止人们看到您包含在 apk 中的任何数据。您不应该在代码中包含秘密数据。混淆几乎没有帮助 - 它只会给你一种虚假的安全感。

【讨论】:

    【解决方案2】:

    将 url 存储在 Native lib 文件中 并到达你想要的地方,这样做你需要NDK

    【讨论】:

      【解决方案3】:

      只需在 buildTypes 发布模式的 build gradle 文件中将 minifyEnabled 标记为 true。它会使apk无法查看源代码和decomile。

      示例:在 gradle 文件中添加以下行:

      buildTypes {
          release {
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      
          }
          //added by me
          debug {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      
          }
      }
      

      【讨论】:

      • 您必须补充一点,仅添加 proguard 并不是一个完整的证明方法,即使 APK 被混淆,也有一些工具可以反编译。
      • 添加 ProGuard 不会阻止对 apk 的反编译。如果您想防止这种情况并在应用程序中加密字符串,您应该检查 DexGuard,ProGuard 的商业变体。
      猜你喜欢
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多