I'm analyzing an application created with Borland Delphi but the poor quality of the object code makes analysis difficult and tedious. The code is so convoluted and inflated with superfluous instructions that it is very hard to make out what a given piece of code is trying to accomplish.

In the related topic Identify a decryption scheme it was suggested to recompile the decompiler output with a good optimizing compiler, to eliminate redundancy and to get object code that is easier to analyze.

I'm now wondering what would be the best way to do this.

What tools are there for doing this based on object code or disassembler output (IDA)?


1 Answer 1


I'd suggest to look to mcsema project. It translates x86 into LLVM intermediate representation and is able to compile the code back with changes. Once the code is translated to intermediate representation of LLVM it can be optimized by already existing LLVM optimizations.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.