如何用 proguard 混淆我的代码?

Posted

技术标签:

【中文标题】如何用 proguard 混淆我的代码?【英文标题】:How to obfuscate my code with proguard? 【发布时间】:2016-03-15 23:36:04 【问题描述】:

我正在尝试使用 ProGuard (5.2.1) 混淆我的 java 代码。 我在我的项目中使用 LWJGL。 所以我执行 proguardgui.jar,当窗口打开时,我会执行 : - 点击“输入/输出”。 - 点击“添加输入”(选择我的 jar 文件等...) - 点击“添加输出”(输入“PWdd.jar”等...) - 点击“下一步”(5 次) - 点击“处理!” 这就是程序的答案:http://whiteplay.fr/help.html(我不得不制作一个 html 页面,因为 *** 在每个问题中都有行数限制:/) 你知道我要做什么吗? PS:程序(输入的jar文件)在混淆之前工作。

【问题讨论】:

crunchify.com/… 和 maven.apache.org/guides/getting-started/… 感谢@specializt,我安装了 maven 并转换了我的 eclipse 项目。但是当我尝试使用这种方法添加 LWJGL'jar 时:***.com/questions/4955635/…,它不起作用。你能帮助我吗 ? (也许我们应该找个地方聊天)。 @John 很抱歉让您感到困惑,这不是一个答案,只是提示粘贴大量日志等。您不必为此创建网页 :) 只需使用 pastebin 站点 啊好吧@otopolsky,我只是不明白:D 【参考方案1】:

好的,因为我使用了 eclipse,所以当我导出我的 jar 文件时,我选择将 jar lib 包含到我的 jar projetc 中。如果您选择将它们放入项目 jar 的文件夹中,它正在工作:D

【讨论】:

【参考方案2】:

超级晚了,但我今天确实遇到了同样的问题并想通了

    为库导出带有单独文件夹的 jar(例如称为 jar1.jar

    jar1.jar 混淆为jar1_obf.jar

    使用 jar 文件中提取的库再次导出 (jar2.jar)

    jar1_obf.jar重命名为jar_obf.zip

    jar2.jar重命名为zip2.zip

    zip1.zip 提取到folder1

    zip2.zip提取到folder2

    folder1中的所有文件和未找到的文件从folder2复制到folder1(不要复制所有内容并粘贴,因为有可能将不必要的文件复制到folder1

    既然folder1 拥有一切,请将folder1 的所有内容(不是folder1 本身)发送到final.zip

    final.zip 重命名为 final.jar 并带有 jar 扩展名,它应该可以工作!

    删除进程中创建的所有文件和文件夹(当然final.jar除外)

希望这是有道理的;它可能与所有文件名混淆了。

【讨论】:

以上是关于如何用 proguard 混淆我的代码?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ProGuard 混淆 Android 库项目源代码

如何准确解码 ProGuard 的混淆代码?

Android:proguard 不会混淆源代码

你如何阻止 Proguard 删除类型参数?

不要混淆 proguard 中的硬编码字符串

Android proguard - Proguard 对代码进行了混淆,但某些文件是可读格式