What is disassembly or decompilation of a computer software program?
In the development of software, the source code in which programmers originally write is translated into object (binary) code. The translation is done with a computer program called an “assembler” or “compiler,” depending on the source code’s language, such as Java, C++, or assembly. A great deal of the original programmer’s instructions, including commentary, notations, and specifications, are not included in the translation from source to object code (the assembly or compilation). Disassembly or decompilation reverses this process by reading the object code of the program and translating them into source code. By presenting the information in a computer language that a software programmer can understand, the reverse engineer can analyze the structure of the program and identify how it operates. The data generated in the disassembly of a typical computer program is one to many files with thousands of lines of computer code. Because much of the original programmer’s commentary, notatio