Assignment Number: Title: Reverse Engineering

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Assignment Number : Title: Reverse Engineering Introduction Reverse Engineering is focused on the challenging task of understanding legacy program

code without having suitable documentation. The process of duplicating an existing component, subassembly, or product, without the aid of drawings, documentation, or computer model is known as reverse engineering. Reverse engineering can be viewed as the process of analyzing a system to: 1. Identify the system's components and their interrelationships 2. Create representations of the system in another form or a higher level of abstraction 3. Create the physical representation of that system It can be said that reverse engineering begins with the product and works through the design process in the opposite direction to arrive at a product definition statement (PDS). In doing so, it uncovers as much information as possible about the design ideas that were used to produce a particular product. Purpose

Interoperability. Lost documentation: Reverse engineering often is done because the documentation of a particular device has been lost (or was never written), and the person who built it is no longer available. Integrated circuits often seem to have been designed on obsolete, proprietary systems, which means that the only way to incorporate the functionality into new technology is to reverse-engineer the existing chip and then re-design it. Product analysis. To examine how a product works, what components it consists of, estimate costs, and identify potential patent infringement. Digital update/correction. Security auditing. Acquiring sensitive data by disassembling and analysing the design of a system component. Military or commercial espionage. Learning about an enemy's or competitor's latest research by stealing or capturing a prototype and dismantling it. Removal of copy protection, circumvention of access restrictions. Creation of unlicensed/unapproved duplicates. Materials harvesting, sorting, or scrapping.[4] Academic/learning purposes. Curiosity. Competitive technical intelligence (understand what your competitor is actually doing, versus what they say they are doing). Learning: learn from others' mistakes. Do not make the same mistakes that others have already made and subsequently corrected.

Where is it used Reverse engineering is very common in such diverse fields as software engineering, entertainment, automotive, consumer products, microchips, chemicals, electronics, and mechanical designs. For example, when a new machine comes to market, competing manufacturers may buy one machine and disassemble it to learn how it was built and how it works. A chemical company may use reverse engineering to defeat a patent on a competitor's manufacturing process. In civil engineering, bridge and building designs are copied from past successes so there will be less chance of catastrophic failure. In software engineering, good source code is often a variation of other good source code. In some situations, designers give a shape to their ideas by using clay, plaster, wood, or foam rubber, but a CAD model is needed to enable the manufacturing of the part. As products become more organic in shape, designing in CAD may be challenging or impossible. There is no guarantee that the CAD model will be acceptably close to the sculpted model. Reverse engineering provides a solution to this problem because the physical model is the source of information for the CAD model. This is also referred to as the part-to-CAD process.

Steps The term "reverse engineering" includes any activity you do to determine how a product works, or to learn the ideas and technology that were originally used to develop the product. Reverse engineering is a systematic approach for analyzing the design of existing devices or systems. You can use it either to study the design process, or as an initial step in the redesign process, in order to do any of the following:

Observe and assess the mechanisms that make the device work Dissect and study the inner workings of a mechanical device Compare the actual device to your observations and suggest improvements

Consider the following ethical uses involved in reverse engineering:


Do not reverse-engineer parts if the procurement contract of the component prohibits reverse engineering. Remember to perform reverse engineering using only data that is part of the public domain. If you intend to perform reverse engineering, be sure that you: o Do not have access to proprietary information o Have not been recently employed by the OEM, or had access to proprietary information o Do not visit or tour the OEM's place of business

Maintain complete documentation of each component you reverse engineer so there is a record that will stand as proof in court that you have performed reverse engineering lawfully

Advantages The RE process has the following great advantages: 1. Reverse engineering has the benefit of relatively steady progress that will reach the destination is a relatively controlled predictable way because we will learn a steady stream of information the more we study the brain and all work is focused on one approach. 2. When combining parts, the best stat from each category will be used in the final product. With carefully selected space loot, this can result in some remarkable components. 3. In many cases the global part stats will be better, in average, than most of the crafted parts. This is because the shipwright can only concentrate on his experimentation bonuses in certain stats but the RE process can combine rare and very good stats from the parts used in the RE process. 4. The Shipwright has absolute control over the process. The RE process does not depend on: The quality of the resources and its planetary availability The experimentation points Buffs, clothes, and other attribute-enhancing items Luck during experimentation (whereby the experiment can be a failure, moderate, great, or amazing success)

Disadvantages In contrast, the RE process has the following serious disadvantages: 1. Reverse engineering may require much more work than is really necessary. 2. Looting the required items for a RE process can be, and usually is, a very timeconsuming and tedious undertaking. The looting process can go on for days, weeks, or months, depending on the type of item required. A good shipwright will have on hand hundreds or possibly thousands of items to choose from when looking to RE. The RE process is not a quick and easy venture. 3. Good parts for RE available in the marketplace (bazaar) are rare or perhaps even nonexistent, and if available will be very expensive. Most if not all Shipwrights keep the very

best items for themselves (RE level 6 and higher), and this includes any junk items as well (some items at this level are used as filler in the RE process). 4. Certain looted components, such as RE level 8 weapons or RE level 10 engines) have a very low drop rate. Note on solo looting: Be ready for a long, hard job ahead of you if your intention is to loot solo. Dont expect results in minutes, hours, or days. As stated earlier the process can take days, weeks, or months in order to do it right. Take your time, take breaks and do other things in the game. Done correctly you will get your super-uber-stuffed vessel ready for combat!

Tools Used The palette of tools chosen aims in no way to be complete, but to represent the most common and well- known tools. The selection might be debated quite harshly, but the idea behind the following selection is the (potential of) true usage in the software engineering community rather than technical idealism there has always existed cutting edge solutions in labs, certain parts of the open source community or within highly specialized companies. Consequently we have chosen to include four rather well established candidates: Microsoft Visual Studio 2005 .NET beta. Visual Studio is a graphical, highly common graphical IDE with support for C, C++, C# and VB. (Microsoft, 2005) Rational Rose (Enterprise Edition 2003.06.12.180. 000), a specialized modeling tool for system architectures based on UML, included for manual UML-modeling and as standard only. Unfortunately Rose does not support neither forward nor reverse engineering support for C #. (IBM, 2005) Power Designer v11.0, a tool for modeling of data systems with the aid of UML. (Sybase, 2005) Visual Paradigm v2.1. VP SDE is made for UML-modeling and integration with Visual Studio, but lacked support for the 2005 version of Visual Studio. It was therefore tested together with the installation of MS Visual Studio 2003 .NET. (Visual Paradigm, 2005a) We believe that these tools make up a good selection of industrial and widely available alternatives for UML-modeling and code generation tools of today (2005).

You might also like