我有一个奇怪的jar文件,它包含一些类,当我使用JD Decompiler时,它显示这样的段:
public final void a(ak aa) {
this.jdField_a_of_type_Ak = aa;
}
public final void a(cn ccn) {
this.jdField_a_of_type_Cn = ccn;
}
public final cN a() {
return this.jdField_a_of_type_CN;
}
public final void a() {
super.b();
}
public final boolean a() {
return this.jdField_a_of_type_Boolean;
}
我只是想知道为什么编译器/混淆器可以生成这样的类字节代码,我的意思是方法签名。有人知道混淆器可以做到这一点吗?
最佳答案
Java 字节码支持在 Java 源代码中无效的构造。混淆器通过修改字节码以使用这些结构来利用这一事实(同时仍然给出与未混淆的字节码相同的结果)。
关于Java:反编译后的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4437179/