【问题标题】:Proguard is not obfuscating strings.xml in androidProguard 不会混淆 android 中的 strings.xml
【发布时间】:2019-09-28 05:36:08
【问题描述】:

我在我的项目中使用 proguard。它混淆了所有的 java 代码。但它不会混淆 strings.xml 中的任何内容。

我在 strings.xml 中有一些敏感信息。

如何让 proguard 混淆 strings.xml 中的内容? 我需要写任何具体的规则吗?

【问题讨论】:

  • 您需要使用 DexGuard,因为字符串混淆/加密不是 ProGuard 功能。
  • ProGuard 不会混淆 string.xml 文件
  • @Basi,我的 apk 包含 res 文件夹,但其中不包含 values(以及 strings.xmlarrays.xml)。

标签: android android-proguard


【解决方案1】:

ProGuard 无法混淆 strings.xml。您可以使用其他软件来混淆您的文件,例如 DexGuard。您可以获取更多信息here

【讨论】:

    【解决方案2】:

    它不会混淆 string.xml 文件。如果您将使用 .zip 重命名 .apk 文件并解压缩 zip 文件夹,那么您将获得所有资源。有几种方法可以在 Android 中存储敏感数据。

    1. 存储在 gradle 文件中,您可以使用 BuildConfig 访问它。
    2. 放到java类文件中。
    3. 将其放入 C/C++ 文件并使用 NDK 访问该文件 // 推荐,硬 对值进行逆向工程。
    4. 以加密格式放入string.xml文件中,随时访问 必填。

    【讨论】:

    • .so 文件中包含的所有字符串都将在库的 [TEXT] 块中清晰可见,因此这也不是最佳解决方案。它会阻止学生窥视您的数据,但不会阻止真正的逆向工程师(又名“专业人士”)
    • 我同意你的观点。您也可以将密钥字符串分成几部分并将它们保存在不同的地方,您可以创建一个算法来从 jni 文件中获取常量。
    【解决方案3】:

    最好使用 NDK 来存储您的敏感数据。警卫队

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多