我正在使用 jode 的混淆器来混淆我的 jar 中的所有类文件。我已经将所有的类文件打包到了 jar 中,这样我就可以使用配置来指定我需要加载的内容以及需要保留的内容。
这是我的包层次结构:
src
src.loading
src.loading.org
src.loading.sign
这是我指定为通配符的内容:
load = new WildCard { value = "src.*" }
preserve = new WildCard { value = "src.loading.org.*" }
这是我得到的错误(也在反编译。它是唯一的类。)
C:\Users\Kieran\Desktop\jode>java jode.obfuscator.Main project.jos
Jode (c) 1998-2001 Jochen Hoenicke <jochen@gnu.org>
used before: 479080
Loading and preserving classes
Exception in thread "main" java.lang.NoClassDefFoundError: src.loading.Class48
at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:631)
at jode.obfuscator.ClassIdentifier.initClass(ClassIdentifier.java:371)
Exception while decompiling:java.lang.NoClassDefFoundError: src.loading.Class48
at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:631)
at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:86)
at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:123)
at jode.decompiler.Decompiler.decompile(Decompiler.java:191)
at jode.swingui.Main.run(Main.java:204)
at java.lang.Thread.run(Unknown Source)
该类确实存在,并且我的 jar 文件功能齐全。为什么我会收到此错误?
这个特定的类正在使用反射来访问 java.lang.Runtime,这可能是问题......?