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

多jar工程中的Proguard混淆

袁增
2023-03-14

我已经成功地用Maven配置了Proguard来混淆jar及其依赖jar。我已经设法让两个混淆使用相同的映射文件,这样一个jar就可以调用另一个jar的方法。我面临的问题是,Proguard没有在模糊的jar中保留唯一的名称;两个模糊的jar都包含一个名为

f.b.class

由于有两个名为F.B.class的类(每个jar中有一个),因此优先级被赋予了调用jar中的类,这就造成了问题。

-keeppackagenames
-useuniqueclassmembernames

也被应用,但它显然只将此应用于当前被混淆的jar。它看起来不像以前那样混淆jar,以确保jar之间的唯一性。

谢谢

共有1个答案

廉博赡
2023-03-14

为了解决这个问题,我最后使用了-keepPackageNames选项。它不是一个解决方案,而是一个周围的工作。

 类似资料:
  • 我有一个可运行的java jar文件,我们称之为。在这个中,如果我使用7Zip或WinRAR提取它,还有其他罐,让我们称之为。 ProGuard设法混淆了主罐子,但是当我看的时候——里面的lib罐子不是。正因为如此,程序(主rogram.jar)在某一点中断。我也已经在我的条件设置选项。 我通过蚂蚁build.xml.调用proguard.jar,这是我的配置文件

  • 问题内容: 我有一个下面给出文件的项目。当我发出命令时,我希望Maven生成一个JAR,其中包含 所有的依赖和 我的代码的混淆版本。 它不起作用-我的代码未在“ jar-with-dependencies”文件中进行混淆。 当我运行时,结果文件包含我的应用程序的混淆代码,但没有依赖关系。 为了使JAR文件具有所有依赖关系和混淆代码,我该怎么办? 更新1(17.01.2016 19:54 MSK):

  • 我刚刚使用Eclipse创建了我的应用程序的可执行Jar。我总是试图帮你回答,但这次我真的不知道发生了什么。在这个项目中,我添加了一些外部类(org.java_websocket)和用于mysql连接的conj Jar。在下面的链接中,我收到了大约800行警告,但问题只是少数。为了混淆这个项目,我使用了Proguard GUI。我没有检查收缩和优化,我将应用程序的主类插入到模糊处理窗口的底部框中(

  • 我有一个项目,下面给出了文件。当我发出命令时,我希望Maven生成一个JAR,其中包含 所有依赖项和 我的代码的模糊版本。 为了拥有一个包含所有依赖项和模糊代码的JAR文件,我可以做些什么呢? 更新1(17.01.2016 19:54 MSK):更改了ProGuard配置,如下所示,但仍然生成一个带有未混淆类文件的JAR。 更新2(17.01.2016 20:29 MSK):失败。最后的消息可以在

  • 我已经设法对Scala代码进行了模糊处理,但我不知道如何对由步骤构建的jar文件运行模糊处理。或者至少在步骤中如何构建fat jar。我发现proguard有一个参数,但我不知道如何将它应用于。谁能告诉我怎么才能做到这一点。 UPD,实际上,Proguard构建的JAR只包含模糊的类,而不包含Proguard忽略的类。

  • 我对混淆有问题。为了获得更好的想象力: JAVA代码 本机代码 在我想发布一个混淆版本之前,一切都很好。这个类中的Java类(例如)和方法的名称被proGuard重命名为“a”和“a()”(这可能并不总是相同的),但在本机代码中,方法和类的原始名称保持不变,因为它被硬编码为字符串,如下所示: ...有没有办法动态设置方法名?