16

I have a file which apparently contains serialized structures. The first 26 bytes contain the string "java.util.HashMap", so I am sure that this file holds serialized data.

Is there is nice tool maybe with a simple UI, where I can show the structured data?

I googled for it for a while, but I didn't find any proper resources. It should run preferred on Windows. Linux would be fine too but is overhead for me.

rekire
  • 464
  • 1
  • 7
  • 16

1 Answers1

18

jdeserialize

There is tool from Google called "jdeserialize":

jdeserialize is a library that interprets Java serialized objects -- the data generated by an ObjectOutputStream. It also comes with a command-line tool that can generate compilable class declarations, extract block data, and print textual representations of instance values.

Project site of jdeserialize
Git repository of jdeserialize


Serialysis

There is also a Java library called "Serialysis", that can be used to generate human-readable output of a serialized object, like so:

SEntity sint = SerialScan.examine(new Integer(5));
System.out.println(sint);

...produces this output:

SObject(java.lang.Integer) {
  value = Prim(int){5}
}

Explanation of how Serialysis works
Git repository of Serialysis


Since both projects are written in Java, you can use them in both Windows and Linux.

Lasse Meyer
  • 348
  • 3
  • 14
  • Amazing tool, looks like what I'm looking for. – rekire Jul 31 '16 at 13:52
  • 2
    Since I was not sure how to compile it you can find the compiled jar at https://code.google.com/archive/p/jdeserialize/downloads – rekire Jul 31 '16 at 13:56
  • Update 2023: jdeserialize and Serialysis seem to no longer be maintained. I had a NullPointerException with jdeserialize, so it may be totally obsolete. I had more luck with SerializationDumper: https://github.com/NickstaDB/SerializationDumper – joH1 May 17 '23 at 15:48