Reverse engineering software Reverse engineering of software can be done by "disassembly", Disassembly is not the only way Analyze the behaviour of the software, Guess the software flow, Memory and API usage, Network interaction, The two major phases of software reverse engineering : identification and discovery.