类加载器(java.lang.ClassFormatError:被截断的类文件)

类加载器(java.lang.ClassFormatError:被截断的类文件),java,bytecode,.class-file,Java,Bytecode,.class File,我正在编写我自己的类加载器,它正在改变类的constantpool中的内容。 我知道我的错误是由我的更改引起的,而不是类加载器或默认类 我需要知道我必须在哪里修改类文件的签名,以及如何更改它以使我的类不被视为已损坏 我使用该站点读取和更改我的常量池,但在该站点上并没有关于文件签名的内容 我想它可能隐藏在属性表中,但我不是舒尔 即使我能找到它,我也不知道如何重新创建签名以使文件再次工作 我希望有人能帮助我 -狮子座 编辑: 我找到了一些关于字节码验证器的信息,但我仍然不了解它是如何工作的。使用一些

我正在编写我自己的类加载器,它正在改变类的constantpool中的内容。 我知道我的错误是由我的更改引起的,而不是类加载器或默认类

我需要知道我必须在哪里修改类文件的签名,以及如何更改它以使我的类不被视为已损坏

我使用该站点读取和更改我的常量池,但在该站点上并没有关于文件签名的内容

我想它可能隐藏在属性表中,但我不是舒尔 即使我能找到它,我也不知道如何重新创建签名以使文件再次工作

我希望有人能帮助我

-狮子座

编辑:
我找到了一些关于字节码验证器的信息,但我仍然不了解它是如何工作的。

使用一些字节码主计算库来避免错误。请参见同意@Alexi。。。但我也会问你为什么认为你需要这么做,因为除非你做了一些非常奇怪的事情,否则你可能错了。您可能还想查找诸如“代码注入”之类的主题,这是为数不多的常用动态类修改之一。“…三件事是最危险的:/腐蚀/未经验证的算法的连接器,和/自我修改的代码…”如果你给我类文件,我可以告诉你它有什么问题。目前的问题是,没有足够的信息提供帮助。@AlexeiKaigorodov谢谢,这正是我要搜索的类型。@sbumb问题不在我的代码中。代码运行良好。我的问题是,我更改了类字节码中的某些内容,但java类装入器认为我的类已损坏,因此不会装入它。