gpt4 book ai didi

java - Proguard 不会混淆 Android 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:29 25 4
gpt4 key购买 nike

根据这个链接: http://developer.android.com/guide/developing/tools/proguard.html ,他们说:

ProGuard makes your application harder to reverse engineer, it is important that you use it when your application utilizes features that are sensitive to security like when you are Licensing Your Applications.

但这不是真的!我正在使用 ADT 17 预览版 4 中包含的最新 Proguard (4.7)。我在通过添加导出我的应用程序时使用 proguard

proguard.config=proguard-android.txt

进入我的 project.properties(proguard-android.txt 只是 ADT 17 中包含的默认设置)。

但我可以轻松地对我的 apk 进行逆向工程,使用以下步骤将其恢复为原始代码:

  1. 使用 apk-tool 提取 apk。

  2. 使用 smali将 .smali 文件转换为 .dex(将 smali 指向包含 .smali 文件的文件夹,通常在/src/com/[companyname]/[appname] 中)

  3. 使用 dex2jar 将生成的 .dex 文件转换为 .jar

  4. 使用jd-gui查看生成的.jar文件

所以我的问题是:我做错了什么吗?还是混淆器在混淆代码方面完全没用?

最佳答案

如果您使用的是 android.support.* 兼容性库,这可能是问题的根源。将以下行添加到您的混淆器配置文件中:

-dontwarn android.support.**
-keep class android.support.** { *; }

诊断混淆器问题的最简单方法是使用 apache ant 构建应用程序。您将在 stderr 中看到所有警告和错误。

这适用于所有使用动态类加载、反射和依赖于 API 版本的同一类的多个实现的库。

关于java - Proguard 不会混淆 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713094/

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