对象序列化实现Serializable会出现java.io.InvalidClassException的解决方法

错误如图所示:

alt text

java.io.InvalidClassException: cat.uwu.begin_java.Evil; local class incompatible: stream classdesc serialVersionUID = 1361392555563942995, local class serialVersionUID = -8992112659118101069

本地解决办法:

给Evil类加上serialVersionUID:

原:

public class Evil implements Serializable {
    private String cmd;

现:

public class Evil implements Serializable {
    private static final long serialVersionUID = -8992112659118101069L;
    private String cmd;

远程服务器解决办法(ctf环境):

如果你有源码,请直接使用源码的java类,不要进行任何修改。

如果你有编译的jar文件,你可以直接反编译出问题的class文件成java文件,然后不做任何修改地直接放在本地项目上