Is there a program to decompile Delphi?

Mason Wheeler picture Mason Wheeler · Dec 2, 2008 · Viewed 97.6k times · Source

Someone just sent me a decompile of a program into C. It was a very good decompile, producing nice, mostly readabe C code (if you overlook the fact that none of the variables or functions had a human-readable name) that mostly looked like it would actually compile.

There was one big problem, though. I happen to know that the program he was decompiling was written in Delphi, which is full of concepts that are difficult to translate into C. But I was really impressed by the decompiler's output, and it made me wonder. Is there anything that can do that for Delphi?

The best decompiling tool I've seen for Delphi is DeDe. It can do a lot of things, but it doesn't even try to produce Object Pascal code as its output, and it hasn't been updated since Delphi 6. Is there anything better out there?

Answer

Vladimir Panteleev picture Vladimir Panteleev · Dec 2, 2008

I don't think there are any machine code decompilers that produce Pascal code. Most "Delphi decompilers" parse form and RTTI data, but do not actually decompile the machine code. I can only recommend using something like DeDe (or similar software) to extract symbol information in combination with a C decompiler, then translate the decompiled C code to Delphi (there are many source code converters out there).