Does Reverse Engineering always produces the source code in the same language the software was originally written? For example, if the software program(.exe) been reversed was written in C++, the output of the reverse process would necessarily be C++ source code?

  • i think C would be the most convenable and lowest human-readable level language that a debugger can convert whatever language a code is written with, I think , in more brief terms, any language can be converted to C besides the original soure-compiled language (concrete example: hexrays), but C could not probably be converted to higher levels like python, pascal etc – Abr001am Sep 2 '15 at 6:27

Reverse engineering is the process of figuring out how stuff works. The output format of a reverse engineering session is not dependent on the original language in which the target was written, but rather is dependent on the purpose of the session (porting to a new system, stealing a competitor's algorithm, explaining to executives how a malware sample works at a high-level, etc.).

The final product of a reverse engineering session may be a human-readable report, or pseudo-code, or a data-flow diagram, or a slide show presentation, or a reimplementation of the target in any language the reverse engineer wishes to use.

  • It may also be source code. For instance,.exe files consisting of MSIL code can be converted back into various .NET source languages. – reinierpost Sep 4 '15 at 17:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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