问题标签 [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.
java - YGuard 混淆后无法从内部类访问私有字段和方法
我在 Java 11 中遇到了 YGuard 混淆的奇怪行为。我有一个包含一些私有字段和方法以及内部类的类,如下所示。
如果我编译并运行该程序,它工作正常。
但是在使用 YGuard (3.0.0) 混淆了我的类文件之后,在运行程序时,上面提到的行将 java.lang.IllegalAccessError 抛出为
外部类访问内部类中存在的私有字段/方法
内部类访问外部类中存在的私有字段/方法。
任何人都可以阐明如何克服这个问题吗?
提前致谢。
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
异常之后:
我试图像在官方示例中那样进行点对点,但我不知道我做错了什么
有任何想法吗?非常感谢提示
gradle - Gradle yGuard混淆调整配置问题
我们使用 ANT 作为我们的构建系统,我们使用 yGuard 作为我们的混淆工具,ANT 任务包含类似这样的内容以防止标签库中断
现在我们将构建系统升级到 Gradle,除此之外一切正常,我尝试了许多不起作用的东西,例如:
谁能帮我解决这个问题?
顺便说一下,在我们的 ANT 任务中使用的是 yGuard 2.4,现在我们将其升级到 yGuard 3.0。
除此之外,我在 build.gradle 中声明了以下几行
external
并使用而不是添加了所有依赖项implementation
,但现在我在 yGuard 日志中收到很多警告,表明 yGuard 无法解析依赖项。
java - 使用 yGuard 混淆胖 jar(maven 项目)中的特定包
我正在尝试为我的工具创建一个模糊的胖罐。在尝试了 proguard 之后,我发现 yGuard 也是出于同样的目的。
以下是混淆的步骤
第 1 步:使用 maven shaded 插件创建 fat jar
步骤2:步骤1中创建的fat jar供yGuard ant任务使用。
我只需要混淆自定义包,因为混淆像蜡染库这样的外部 jar 会产生错误。例如:
根据 ygurd 文档,我修改了 ant 任务以仅包含自定义包。但这并没有发生,yGuard 没有考虑这种配置。以下是当前的ant任务配置。
任何解决此问题的指针都非常感谢。提前致谢
java - yguard:混淆 java 类时出错 不支持的类文件主要版本 61
我正在将我的项目从 jdk1.8 切换到 openjdk 17。代码工作正常,ANT 可以生成可执行的 jar。使用 Eclipse IDE。
尝试使用 yguard 3.0.0(通过 ant)进行混淆时会出现问题。任务是:
输出是:
[收缩] 错误:不支持的类文件主要版本 61 [收缩] 不支持的类文件主要版本 61
我知道 61 意味着 java 17,所以我尝试将工作区合规性更改为“编译器合规性级别 - > 11”,但没有运气。
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 进程时,执行失败并且我收到以下控制台消息:
任何想法?我非常感谢您能提供的任何帮助。
伊万
java - Yguard 没有正确修改我的类名(带有混淆的类名)
我正在尝试使用 yguard 3.0.0 maven 插件混淆 JAR 文件。混淆的 JAR 几乎和预期的一样,它被缩小并且所有私有方法和变量都被重命名。我还需要重命名包名称并执行此操作,但是启动我的 Tomcat 所需的 spring XML 文件没有使用混淆包进行更新。
我的蚂蚁任务如下:
请注意,在我的示例中,我只尝试处理 ApplicationContext.xml,但该文件与无混淆版本保持相同的类名。我确定 yguard 任务正在对我的 ApplicationContext.xml 执行某些操作,因为我在文件中有一个标签,并且文件的路径已正确混淆,但类名和其他内容没有:
根据Yguard 文档,我认为我只需要使用 replaceContent="true" 并详细说明哪个文件,但我不是
任何想法?我非常感谢您能提供的任何帮助。
伊万