Wednesday, 29 November 2017

Decompiler rewrite progress

A move of PCs meant that I stupidly lost a chunk of the work I did on the decompiler a couple of years back so I'm having to rewrite it.

Progress is going well and I've covered most of the 'easier' decompilation now which means that 2/3 of the binary scripts decompile to source and then recompile to the same binary as extracted from the game.

Here's an example of how the decompiled source looks atm.

Compared to the debug source files extracted from the xbox version this obviously doesn't have any of the comments or helpfully named variables.
I'm using the c# Roslyn compiler functionality as the source syntax is near enough c# which should mean I can work out some better variable names once everything decompiles correctly.

I am finding bugs in the binary code which atm I'm working around and recreating in the new source
so that I can get a baseline match. Also there are some scripts only on the PC version and differences  from the xbox code which makes things harder but I can deal with those later.

I've switch from Eclipse as a script platform to visual studio code which I'll put details up about later.

2 comments: