Decompilation from assembly language is easier than decompiling native executable (machine code) programs, but harder than decompiling programs compiled to virtual machines (Java or .NET bytecodes, for example). The main difference is that assembly language programs have code separated from data. There are often strong hints about the types of data elements as well (e.g. a floating point location could be initialised to a floating point value). Also of course, comments and the names of variables and procedures can be transferred to the decompiled program.
Assembly language decompilation could be viewed as a source to source translation or program transformation.
- XACT Assembly Language to C Transformation
CategoryDecompilation