问题标签 [yguard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
48 浏览

java - YGuard 混淆后无法从内部类访问私有字段和方法

我在 Java 11 中遇到了 YGuard 混淆的奇怪行为。我有一个包含一些私有字段和方法以及内部类的类,如下所示。

如果我编译并运行该程序,它工作正常。

但是在使用 YGuard (3.0.0) 混淆了我的类文件之后,在运行程序时,上面提到的行将 java.lang.IllegalAccessError 抛出为

  1. 外部类访问内部类中存在的私有字段/方法

  2. 内部类访问外部类中存在的私有字段/方法。

任何人都可以阐明如何克服这个问题吗?

提前致谢。

0 投票
0 回答
127 浏览

java - yGuard NoSuchMappingException 所有外部依赖

我无法让 yGuard 处理任何外部依赖项。所有情况下我都会遇到错误,例如NoSuchMappingException: No mapping found for: Class com.fasterxml.jackson.databind.ObjectMapper.

我的代码:

主类:

一些对象:

只是带有 2 个字段的 POJO:Integer integerValue& String stringValue

某类:

pom.xml:

mvn clear compile package我总是遇到yguard.log.xml异常之后:

我试图像在官方示例中那样进行点对点,但我不知道我做错了什么

有任何想法吗?非常感谢提示

0 投票
0 回答
25 浏览

gradle - Gradle yGuard混淆调整配置问题

我们使用 ANT 作为我们的构建系统,我们使用 yGuard 作为我们的混淆工具,ANT 任务包含类似这样的内容以防止标签库中断

现在我们将构建系统升级到 Gradle,除此之外一切正常,我尝试了许多不起作用的东西,例如:

谁能帮我解决这个问题?

顺便说一下,在我们的 ANT 任务中使用的是 yGuard 2.4,现在我们将其升级到 yGuard 3.0。


除此之外,我在 build.gradle 中声明了以下几行

external并使用而不是添加了所有依赖项implementation,但现在我在 yGuard 日志中收到很多警告,表明 yGuard 无法解析依赖项。

0 投票
0 回答
276 浏览

java - 使用 yGuard 混淆胖 jar(maven 项目)中的特定包

我正在尝试为我的工具创建一个模糊的胖罐。在尝试了 proguard 之后,我发现 yGuard 也是出于同样的目的。

以下是混淆的步骤

  • 第 1 步:使用 maven shaded 插件创建 fat jar

  • 步骤2:步骤1中创建的fat jar供yGuard ant任务使用。

我只需要混淆自定义包,因为混淆像蜡染库这样的外部 jar 会产生错误。例如:

根据 ygurd 文档,我修改了 ant 任务以仅包含自定义包。但这并没有发生,yGuard 没有考虑这种配置。以下是当前的ant任务配置。

任何解决此问题的指针都非常感谢。提前致谢

0 投票
2 回答
133 浏览

java - yguard:混淆 java 类时出错 不支持的类文件主要版本 61

我正在将我的项目从 jdk1.8 切换到 openjdk 17。代码工作正常,ANT 可以生成可执行的 jar。使用 Eclipse IDE。

尝试使用 yguard 3.0.0(通过 ant)进行混淆时会出现问题。任务是:

输出是:

[收缩] 错误:不支持的类文件主要版本 61 [收缩] 不支持的类文件主要版本 61

我知道 61 意味着 java 17,所以我尝试将工作区合规性更改为“编译器合规性级别 - > 11”,但没有运气。

0 投票
1 回答
43 浏览

java - 使用 Yguard 混淆 JAR 文件时出现问题(com.yworks.yshrink.model.ModelVisitor 具有接口 org.objectweb.asm.ClassVisitor 作为超类)

我试图混淆我生成的项目 JAR 文件,但没有成功。所以我试图减少所有步骤以找出发生了什么,我意识到我根本无法使用 yguard,我不知道为什么。也许是一个 Eclipse 糟糕的配置......

我在 pom.xml 中添加了 yguard

我在 pom.xml 和执行(在打包期间)中添加了试图混淆单个 JAR 文件

“example.jar”正确放置在“C:/test”中,只是一个手动生成的类文件(为了简化我的混淆测试)。

当我运行任何包含包阶段的 MAVEN 进程时,执行失败并且我收到以下控制台消息:

任何想法?我非常感谢您能提供的任何帮助。

伊万

0 投票
0 回答
24 浏览

java - Yguard 没有正确修改我的类名(带有混淆的类名)

我正在尝试使用 yguard 3.0.0 maven 插件混淆 JAR 文件。混淆的 JAR 几乎和预期的一样,它被缩小并且所有私有方法和变量都被重命名。我还需要重命名包名称并执行此操作,但是启动我的 Tomcat 所需的 spring XML 文件没有使用混淆包进行更新。

我的蚂蚁任务如下:

请注意,在我的示例中,我只尝试处理 ApplicationContext.xml,但该文件与无混淆版本保持相同的类名。我确定 yguard 任务正在对我的 ApplicationContext.xml 执行某些操作,因为我在文件中有一个标签,并且文件的路径已正确混淆,但类名和其他内容没有:

根据Yguard 文档,我认为我只需要使用 replaceContent="true" 并详细说明哪个文件,但我不是

任何想法?我非常感谢您能提供的任何帮助。

伊万