jar 内のすべてのクラス ファイルを難読化するために、jode の難読化ツールを使用しています。すべてのクラス ファイルを jar にパッケージ化したので、config を使用して、ロードする必要があるものと保存する必要があるものを指定できます。
これが私のパッケージ階層です:
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 にアクセスしていますが、これが問題になる可能性があります...?