我有一个包含 Java 序列化对象(它们是值对象)的二进制文件,但我无权访问为创建这些对象而序列化的类。如果没有类文件,JVM 不允许我使用 objectInputStreamInstance.readObject() 读取对象,并正确地抛出 java.lang.ClassNotFoundException。
是否有一个库可以帮助提取 XML 或其他标准化格式的数据?例如,如果下面的 Person 类被序列化并存储在一个文件中,我想从中提取数据:
类定义
class Person implements Serializable {
int age;
String name;
public Person(int age, int name) {
this.age = age;
this.name = name;
}
}
所需的提取格式(无需访问类文件)
<Person>
<age>10</age>
<name>Name</name>
</Person>
我还检查了以下内容,但没有得到我想要的内容:
- Xstream ( http://x-stream.github.io/ ) 需要访问 Java 对象才能从该对象创建 XML。但是,我无法为缺少类文件创建对象。
- 序列分析似乎很老了https://weblogs.java.net/blog/emcmanus/archive/2007/06/disassemble_s.html
谢谢您的帮助。
问候,古尔塞夫