Essay Example on Reverse Engineering is a process of Redesigning an Existing Product








Contents 1 Introduction Page 3 Reasons for RE Page 1 Stages for RE Page 1 Application of RE Page 1 2 RE Procedure Page 3 3 Supporting Tools Page 1 4 Advantages and Disadvantages Page 2 5 Conclusion Page 3 Introduction Reverse Engineering is a process of redesigning an existing product to improve and broaden its function add quality and to increase its useful life The main aim of reverse engineering is to reduce manufacturing costs of the new product making it competitive in market A systematic methodology for analyzing the design of an existing device or system either as an approach to study the design or as a required for re design The duplication is done without the aid of drawings documentation or computer model It is the process of analyzing a software system to extract design and implementation information and create representations of the system in another form or at a higher level of abstraction Reasons for Reverse Engineering The original manufacturer of a product no longer produces a product The original supplier is unable or unwilling to provide additional parts To strengthen the good features of a product based on long term usage of the product To analyze the good and bad features of competitors product To explore new avenues to improve product performance and features
The Computer Aided Design CAD model is not sufficient to support modifications or current manufacturing methods Stages involved in Reverse Engineering In order to reverse engineer a product or component of a system engineers and researchers generally follow the following four stages Identifying the product or component which will be reverse engineered Observing or disassembling the information documenting how the original products work Implementing the technical data generated by reverse engineering in a replica or modified version of the original Creating a new product Application of Reverse Engineering Automotive industry In mechanical field Legacy application support Military application Malware analysis Security Software cracking Software development Reverse Engineering Procedure The reverse engineering process begins by extracting detailed design information and from that extracting a high level design abstraction Detailed design information is extracted from the source code and existing design documents This information includes structure charts data descriptions and Package definition language PDL to describe processing details These are the following procedure steps are discussed below Collect information Collect all possible information about the program Sources of information include source code design documents and documentation for system calls and external routines Examine information Review the collected information This step allows the person doing the recovery to become familiar with the system and its components Extract the structure Identify the structure of the program and use this to create a set of structure charts Each node in the structure chart corresponds to a routine called in the program Record functionality For each node in the structure chart record the processing done in the program routine corresponding to that node A PDL can be used to express the functionality of program routines Record data flow

The recovered program structure and PDL can be analyzed to identify data transformation in the software These transformation steps show the data processing done in the program Record control flow Identify the high level control structure of the program and record it using control flow diagrams Review recovered design Review the recovered design for consisting with available information and correctness Identify any missing items of information and attempt to locate them Supporting Tools These are the following tools are discussed below System monitoring Tools Network activity file access and register access Disassemblers Translate binary code into assembly code Debuggers It is used in disassembling mode to set break points and steps through program execution De compilers Attempt to produce high level code from an executable binary code Hex Editors Read executing program from RAM Enable the editing of running hexadecimal code Advantages of Reverse Engineering These are the following advantages of reverse engineering are given below Develop a systematic approach to thinking about the engineering design of devices and systems Acquire a data bank of mechanical design solution Reverse engineering typically starts with measuring an existing object Computer aided design CAD models are used for manufacturing or rapid prototyping applications We can work on a product without having prior knowledge of the technology involved It is time consuming Disadvantages of Reverse Engineering

 These are the following disadvantages of reverse engineering are given below Reverse engineering can be wrongly used to acquire others technology illegally You can never really disassembler an application fully to its original states before being complied It is very difficult to make anything of a disassembled due to critical and important source code They load a ton of relevant code into the application to throw off reverse engineers and make it even more difficult than it already is to perform the reversal It is costly Conclusion Reverse engineering is a new research area among software maintenance Reverse engineering includes activities of understanding the system and recovery information from system Program understanding is the most important subset of reverse engineering Discovery of abstraction is key issue

Write and Proofread Your Essay
With Noplag Writing Assistance App

Plagiarism Checker

Spell Checker

Virtual Writing Assistant

Grammar Checker

Citation Assistance

Smart Online Editor

Start Writing Now

Start Writing like a PRO