In programming terminology, to disassemble is to convert a program in its executable (ready-to-run) form (sometimes called object code ) into a representation in some form of assembler language so that it is readable by a human. A program used to accomplish this is called a disassembler , because it performs the inverse of the task that an assembler does. Disassembly is a type of reverse engineering . Another such program, called a decompile r, converts object code back into the code of a higher-level language .
Because data and instruction s are represented the same way in most current computer systems, it can be difficult to distinguish between the two in disassembled code. Disassemblers are available as commercial, shareware, and freeware programs; various tools exist for building your own disassembler as well. IDA Pro and Sourcer are two of the most commonly used commercial disassembly products.