反编译时出错 java class: ItemCollectionInvalidIndex: constants: requested 15873, limit 63

Error while decompiling java class: ItemCollectionInvalidIndex: constants: requested 15873, limit 63

我正在反编译 java 应用程序,我已经完成了 99% .class 文件。但是,我有几个问题:反编译时出错(错误是同一类型)。 示例:

南河三: java.lang.IllegalArgumentException: Argument 'index' must be in the range [0, 63], but value was: 15873...

CFR:

Can not load the class specified:
org.benf.cfr.reader.util.CannotLoadClassException: Modules_4.class - java.lang.IndexOutOfBoundsException: Constant pool has 62 entries - attempted to access entry #30318

JDCore: returns 空

Jadx:

ERROR - jadx error: Error load file: Modules_4.class
jadx.core.utils.exceptions.JadxRuntimeException: Error load file: Modules_4.class
at jadx.api.JadxDecompiler.loadFiles(JadxDecompiler.java:121)
at jadx.api.JadxDecompiler.load(JadxDecompiler.java:88)
at jadx.cli.JadxCLI.processAndSave(JadxCLI.java:34)
at jadx.cli.JadxCLI.main(JadxCLI.java:19)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 15873 out of bounds for length 63

蕨花:

Job Output:
java.lang.IndexOutOfBoundsException: Index 15873 out of bounds for length 63
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)...

JAD:

Parsing Modules_4.class...The class file version is 50.0 (only 45.3, 46.0 and 47.0 are supported)
ItemCollectionInvalidIndex: constants: requested 15873, limit 63

download .class file

怎么了?

我之前提到的所有反编译器都没有问题。

这是一个 constant_pool_count 问题。它的发生是因为一些 JPHP decompiler 抵消问题。因此,如果您尝试逆向 jphp 应用程序,请使用您自己的软件将 .phb 删除到 .class 块,每个块之前有几个字节