[Home]  [Edit this page]  [Recent Changes]  [Special Pages]  [Help
decompile

(Computer Science) Decompile, to decompile

Returning a binary executable to it's original source code. This is often a guessing game for the decompiler since the commands that you program with are often nothing like the end result after compiling.

For example, in VB you might have a statement such as:
x = 2 + 3
I believe (and someone correct me if I'm wrong!) that it compiles to code such as:
MOV AX, 2
ADD AX, 3
MOV [x], AX
Why is this a problem for decompiling? Because that particular machine code could have resulted from any number of statements in your source code and not necessarily from x = 2 + 3. Also, an optimizer can typically scramble some statements in order to make the code more efficient. Those three lines may not even be together anymore!

Why do some decompilers get the source back perfectly (possibly not counting labels and other names) then? When that happens, you either have a psychic decompiler or the program in question was not actually compiled to machine code. One possibility is  ?P-Code, which is not executable by itself and must still be translated before it will run. In  ?P-Code, the source is contained in a psuedo mid-language that is virtually identical to the original code.

See also decompiler, disassemble, disassembler

last edited (December 5, 2006) by bilderbikkel, Number of views: 6837, Current Rev: 3 (Diff)

[Edit this page]  [Page history]  [What links here]  [Discuss this topic]  [Printer Friendly]  

Members

Username:

Password:


Register
Forgot Password?




Programmers Heaven - for .NET, Java, C/C++ and WEB Developers!
© 1996-2008 Community Networks Ltd. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited. Violators of this policy may be subject to legal action. Please read Terms Of Use and Privacy Statement for more information. Development by Tore Nestenius at .NET Consultant - Synchron Data.