Unit 3 Research Assignment 1 Exploring Reverse Engineering

333 Words2 Pages
Reverse engineering is taking apart an object to see how it works in order to duplicate or enhance the object. The practice, taken from older industries, is now frequently used on computer hardware and software. Software reverse engineering involves reversing a program's machine code (the string of 0s and 1s that are sent to the logic processor) back into the source code that it was written in, using program language statements. The advantages and disadvantages of reverse engineering are as follows; Advantages * It helps in the evolving of existing computing systems. * “You can change a program's structure and thus directly affect its logical flow. Technically this activity is called patching, because it involves placing new code patches (in a seamless manner) over the original code” * Can be a learning tool * Can be used as a way to make new compatible products that are cheaper than what is currently on the market. * For making software interoperate more effectively or to bridge different operating systems or databases. * Used to uncover the uncoordinated features of commercial products. Disadvantages * “Manually translated source code often retains the style and flavor of the original implementation”. * By using this process you can possibly acquire other bugs in the program * It takes a long time Imagix4D – Reverse Engineering Tool * Helps you to better understand large or unfamiliar programs * Can explore control structures, data usage and class inheritance * You can use source checks to find exemptions to certain designs and coding standards * Enable you to spot possible conflicts in real-time systems * Helps to organize possible problems in the maintenance and progress of your program Works Cited reverse engineering. (n.d.). What is ?. Retrieved July 24, 2014, from

More about Unit 3 Research Assignment 1 Exploring Reverse Engineering

Open Document