当前位置: 首页 > 知识库问答 >
问题:

我如何在Intellij中混淆一个罐子?

戎兴言
2023-03-14

我正在尝试混淆一个jar文件,以保护它不检索原始源代码。

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

我阅读了一些参考资料,说明需要为proguard或yguard生成一个Ant构建文件,以便能够混淆jar文件。然后,我继续生成一个jar文件来进行模糊处理。

有没有一种简单直接的方法来生成一个jar并使其模糊化?

共有1个答案

濮阳靖
2023-03-14

我一直试图混淆一个jar文件,以保护它不检索原始源代码。

Intellij中的模糊处理需要IntelliGuard2插件和YuGuard3.0.0(最好是yGuard-bundle-3.0.0.zip)。

模糊处理过程:

>

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

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

    生成Ant构建

    对jar文件进行模糊处理:file->project settings-->Facets(+Obfuscation),然后选择ygurad-bundle/lib/yuguard.jar的路径,并选择main类。参见下图:

    然后,构建工件(Build-->build Artifacts),然后对jar文件进行模糊处理(Build-->ObfuscateJAR,然后选择输入jar和输出模糊处理的jar)。

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

  •  类似资料:
    • 我有一个罐子用另一个罐子做库。我希望它们都被混淆。 引用ProGuard文档: ProGuard要求指定输入jar的库jar(或war、ears、zips或目录)。这些本质上是编译代码所需的库。ProGuard使用它们来重建正确处理所必需的类依赖关系。库罐子本身始终保持不变。您仍然应该将它们放在最终应用程序的类路径中。

    • 我正在尝试使用sbt发布ProGuard jar模糊处理的文件。到目前为止,我已经有了这段代码,但它并没有使用将模糊化的jar推送到本地ivy2 repo中: 你以前有没有做过这样的事情或者有什么想法? 非常感谢。

    • 问题内容: 我需要随机调整以下数组: 问题答案: 可以使用如下代码实现:

    • 问题内容: 我想制作一个不是开源的JavaScript应用程序,因此我想学习如何混淆我的JS代码?这可能吗? 问题答案: 可以使用: Google Closure编译器 UglifyJS 更新:这个问题最初是在10多年前提出的,并且不再维护YUI。 Google Closure编译器仍在使用,并且UglifyJS可以通过节点包管理器在本地运行: 私有字符串数据: 将字符串值设为私有是另一个问题,而

    • 我一直在摆弄Proguard配置,我想测试只是为了优化 但我仍然会遇到这样的错误: java.lang.IllegalArgumentExc0019:找不到[org/apache/log/log4j/core/jackson/Log4jXmlMoules](有1个已知的超级类)和[org/apache/log/log4j/core/jackson/Log4jJsonMoules](有4个已知的超级