如何在 IntelliJ 中混淆 jar?

How can I obfuscate a jar in IntelliJ?

我发现可以使用Java Decompiler反编译一个可执行的jar文件以获取原始源代码,这允许使用JD-GUI反编译和浏览源代码。

我正在尝试混淆 jar 文件以防止它检索原始源代码。

我试过proguard,但听起来有点费时!! 然后我尝试了 IntelliGuard 2 插件,但是没有关于什么是 proguard 和 yguard 以及如何使用它们的信息!!

我阅读了一些资源,我需要为 proguard 或 yguard 生成 Ant 构建文件,以便能够混淆 jar 文件。然后我坚持生成一个 jar 文件进行混淆。

有没有一种简单直接的方法来生成 jar 并对其进行混淆?

我一直在尝试混淆 jar 文件以防止它检索原始源代码。

Intellij 中的混淆需要 IntelliGuard 2 plugin and yuguard 3.0.0 (preferably yguard-bundle-3.0.0.zip).

混淆过程:

  1. 从项目中生成模块:文件 --> 项目设置 --> 模块(+ 新模块并设置正确的输出路径)

  2. 使用 Artifacts 生成 jar 文件:文件 --> 项目设置 --> Artifacts(+ JAR 和命名配置)

  3. Generate Ant build

  4. 混淆jar文件:File --> project settings --> Facets( + Obfuscation ),然后选择路径到ygurad-bundle/lib/yuguard .jar,然后选择主要 class。请参见下图:

之后,构建 Artifacts (build--> build Artifacts),然后混淆 jar 文件( build--> obfuscate jar,然后选择输入 jar 和输出混淆 jar)。

我找不到其他方法或资源来遵循并以简单的方式做到这一点,所以我决定分享我的经验。