07 Reverse Engineering

Download 07 Reverse Engineering

Post on 04-Nov-2015

217 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

re

TRANSCRIPT

<p>Reverse Engineering</p> <p>Reverse EngineeringEdited by Dr. Prabir SarkarReverse engineering is the process of extracting knowledge or design information from anything man-made. The ultimate goals for obtaining such information are varied. A typical goal for reverse engineering a product is to create a (possibly improved) copy or even a knockoff; this is usually the goal of a competitor. </p> <p>Reverse engineering has its origins in the analysis of hardware for commercial or military advantage.</p> <p>However, the reverse engineering process in itself is not concerned with creating a copy or changing the artifact in some way; it is only an analysis in order to deduce design features from products with little or no additional knowledge about the procedures involved in their original production.</p> <p>Reasons for reverse engineering</p> <p>Interfacing. Reverse Engineering can be used when a system is required to interface to another system. Such requirements typically exist for interoperability.</p> <p>Military or commercial espionage. Learning about an enemy's or competitor's latest research by stealing or capturing a prototype and dismantling it. It may result in development of similar product, or better countermeasures for it.</p> <p>Improve documentation shortcomings. Reverse engineering can be done when documentation of a system for its design, production, operation or maintenance have shortcomings and original designers are not available to improve it. RE of software can provide the most current documentation necessary for understanding the most current state of a software system</p> <p>Obsolescence. 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.</p> <p>Software Modernization. RE is generally needed in order to understand the 'as is' state of existing or legacy software in order to properly estimate the effort required to migrate system knowledge into a 'to be' state. Much of this may be driven by changing functional, compliance or security requirements. Product Security Analysis. To examine how a product works, what are specifications of its components, estimate costs and identify potential patent infringement. Acquiring sensitive data by disassembling and analysing the design of a system component. Another intent may be to remove copy protection, circumvention of access restrictions. </p> <p>Bug fixing. To fix (or sometimes to enhance) legacy software which is no longer supported by its creators (e.g. Abandonware). </p> <p>Creation of unlicensed/unapproved duplicates, such duplicates are called sometimes clones in the computing domain. </p> <p>Academic/learning purposes. RE for learning purposes may be understand the key issues of an unsuccessful design and subsequently improve the design. </p> <p>Competitive technical intelligence. Understand what one's competitor is actually doing, versus what they say they are doing. Saving money, when one finds out what a piece of electronics is capable of, it can spare a user from purchase of a separate product. </p> <p>Repurposing, in which opportunities to repurpose stuff that is otherwise obsolete can be incorporated into a bigger body of utility.</p> <p>Source: WikiReverse engineering of machines</p> <p>As computer-aided design (CAD) has become more popular, reverse engineering has become a viable method to create a 3D virtual model of an existing physical part for use in 3D CAD, CAM, CAE or other software.</p> <p>The reverse-engineering process involves measuring an object and then reconstructing it as a 3D model. </p> <p>The physical object can be measured using 3D scanning technologies like CMMs, laser scanners, structured light digitizers, or Industrial CT Scanning (computed tomography). The measured data alone, usually represented as a point cloud, lacks topological information and is therefore often processed and modeled into a more usable format such as a triangular-faced mesh, a set of NURBS surfaces, or a CAD model.</p> <p>Reverse engineering is also used by businesses to bring existing physical geometry into digital product development environments, to make a digital 3D record of their own products, or to assess competitors' products. </p> <p>It is used to analyse, for instance, how a product works, what it does, and what components it consists of, estimate costs, and identify potential patent infringement, etc.Reverse engineering examples</p> <p>Panzerschreck: The Germans captured an American Bazooka during World War II, and reverse engineered it to create the larger Panzerschreck.</p> <p>The Panzerschreck was developed as a copy from captured bazookas of American origin.</p> <p>he Panzerschreck was larger and heavier than its American counterpart (the Panzerschreck had an 88 mm calibre compared to the 60 mm calibre of the bazooka). </p> <p>Tupolev Tu-4: Three American B-29 bombers on missions over Japan were forced to land in the USSR. The Soviets, who did not have a similar strategic bomber, decided to copy the B-29. Within a few years, they had developed the Tu-4, a near-perfect copy.</p> <p>Purpose of Reverse Engineering</p> <p>The purpose of Reverse Engineering is to understand how and why a current design has come to be. Most often this task is completed on physical products that can be taken apart, examined and put back together for continued testing. These same Reverse Engineering procedures are also useful in deciphering chemical compounds, industrial procedures, manufacturing processes and computer programs. Reverse Engineering is often chosen by engineers or design teams who aim to build a competitive or superior product to one that is currently on the market. In the end, the goal is to save time and gain insight into how others have approached similar design challenges. There is no need to reinvent the wheel if a successful design already exists and can simply be improved upon. Dym and Little explain reverse engineering as, examining competitive or similar or prior products in great detail by dissecting them or literally taking them apart. Questions to be asked would include, what does this do? How does it work? And Why would you want to do that?</p> <p>How to reverse engineer?</p> <p>Reverse Engineering is primarily used as a tool during the first stages of a complete design process. An engineer will often times investigate the marketplace for products similar to his/her new design that can be taken apart and examined inside and out for insight and time savings. This investigation may begin with general searches on the internet or in the Thomas Register for products with certain similarities to the new product. This first step begins the methodology behind Reverse Engineering. Once a product has been located, the product will be tested and attempts will be made to determine how exactly it functions. This will lead into disassembly and a concrete understanding of how and why a design works. These Reverse Engineering steps then lead the way to new designs, redesigns and hopefully successful solutions. </p> <p>Investigation, Prediction and HypothesisConcrete Experience: Function &amp; FormDesign ModelsDesign AnalysisParametric RedesignAdaptive RedesignOriginal RedesignAdapted from Otto and Woods Reverse Engineering and Redesign Methodology UT Austin. Department of Mechanical. Ohio State UniversityReverse EngineeringModeling &amp; AnalysisRedesignReverse Engineering Methodology10Reverse Engineering is primarily used as a tool during the first stages of a complete design process. An engineer will often times investigate the marketplace for products similar to his/her new design that can be taken apart and examined inside and out for insight and time savings. This investigation may begin with general searches on the internet or in the Thomas Register for products with certain similarities to the new product. This first step begins the methodology behind Reverse Engineering. Once a product has been located, the product will be tested and attempts will be made to determine how exactly it functions. This will lead into disassembly and a concrete understanding of how and why a design works. These Reverse Engineering steps then lead the way to new designs, redesigns and hopefully successful solutions. </p> <p> The first step of Reverse Engineering is Investigation, Prediction and Hypothesis. The engineer is taking a step back and looking at the product or process from a simple, consumer-oriented perspective. At this stage we want to understand the basics of how and why it works. Before cracking open the case, we want to begin predicting how the product is put together. This serves as a brainstorming process for the redesign and allows us to begin connecting engineering fundamentals with the consumer oriented view of the product. 1. Investigation, Prediction and HypothesisDevelop black box modelUse / Experience productList assumed working principlesPerform economic feasibility of redesignState process description or activity diagramReverse Engineering MethodologyThe second step of Reverse Engineering is gaining Concrete Experience with the product. The engineer will first use the product, as recommended by the manufacturer, to gain insight into the products ability to handle the advertised performance criteria. </p> <p>Then, the engineer will begin to plan the products disassembly in such a way that it becomes clear how the products components interact with one another. </p> <p>This process is known as System Level Design and will be discussed in greater detail later in the module. It is important to carefully illustrate the disassembly of any product or component with photographs or sketches in order to be able to reassemble the product at the end if further testing is required. 2. Concrete Experience: Function and FormPlan and execute product disassemblyGroup defined systems and components togetherExperiment with product componentsDevelop free body diagramsIdentify function sharing and compatibilityTransform to engineering specs. and metrics3. Design ModelsIdentify actual physical principlesConstantly consider the customerCreate engineering models and metric rangesAlternatively or concurrently build prototype to test parametersOnce the product has been completely dismantled, tested, and measured the process of designing or redesigning then begins. The design process itself is a wide open subject, with an infinite number of recommended pathways to take in order complete to the design process. In this case, though, an engineer is building upon the experience he/she has gained by Reverse Engineering products similar to or competing against their design. Three specific design models (Parametric, Adaptive, Original)</p> <p>Finally, intellectual property and ethical issues are directly tied to reverse engineering. It is inappropriate, and often times unlawful, to claim the design of another. </p> <p>Small models and prototypes are also part of the early design stages. These allow designers and engineers to test, on a small scale, how accurately their designs will function. 4. Design AnalysisCalibrate modelCreate engineering analysis, simulation or optimizationCreate experiment and testing procedures Once a model has been designed the engineer should now begin to design simple experiments to test and calibrate the model. The advent of computer simulations has begun to offer unprecedented design advantages over the traditional build-test-fail-rebuild techniques of the past. </p> <p>It is now possible for an engineer to completely model a new design and measure stresses, strains, load bearing capabilities, center of gravity, etc., under given loading conditions and initial conditions. A testing procedure should be determined based on expected real world situations and conditions. 5. Parametric RedesignOptimize design parametersPerform sensitivity analysis and tolerance designBuild and test prototypeThere are three basic redesign options once a product has been reverse engineered. A parametric redesign is defined as an evolution of the current design. New design variables are chosen in order to satisfy the designers needs such as a stronger case, more robust mechanism or faster motor. A list of acceptable design variable ranges should be determined. The new prototype should be tested in order to identify remaining areas for improvement. 6. Adaptive RedesignRecommend new subsystemsSearch for inventive solutionsAnalyze force flows and component combinationsBuild and test prototypeAdaptive redesign traditionally leaves the current design unaltered, but rather builds upon it in order to satisfy a new function. New subsystems may be added to the current system during this process. 7. Original RedesignDevelop new functional structureChoose alternativesVerify design conceptsBuild and test prototypeAn original redesign starts from scratch using the concepts, physical principles and results from the reverse engineering process to create a new product idea. New designs are often times inspired just from the knowledge of how another product truly functions, what it was made from, and how it was manufactured. Reverse Engineering ?Forward EngineeringReverse EngineeringRequirements Design Source Code Behavior 18Develop black box model avoiding bias.Graphic representation of the system or object being designed, with inputs shown entering on the left and outputs leaving on the right.</p> <p>System Level DesignInputsOutputsSystem19A black box breaks down the inputs and the outputs of the components. Developing a black box model helps to avoid any bias in the analysis. As seen here, the graphic representation of the system or object is placed in a black box. Inputs are shown as entering in the left and outputs are shown as leaving in the right side. Example: RadioSystem Level DesignConvert RF Signal To Sound At Desired LevelPowerRF SignalUser Choices (Volume, Freq.)Heat &amp; NoiseSoundStatus Indications (Volume, Freq.)RF=radio frequency20For example, a radio has three inputs: electrical power, the RF signal, and user choices such as volume. The radio extracts the desired signal from the incoming RF carrier signal and then converts this electrical signal into sound at the desired volume. The fundamental outputs are sound and status indications such as volume, while the incidental outputs include heat and noise.Continue with the glass box approach.Identify sub-systemsElectricalMechanicalTask orientedDefine interactions and flow of forcesIntentionalUnintentionalWires, signals, material, data, etc.System Level Design21The glass box approach identifies the sub-systems and defines the interactions and flow of forces within the black box. The subsystems may include the electrical, mechanical and task oriented functions. The interactions and flows of forces between these subsystems are then drawn to show the connection between each subsystem. Glass Box Example</p> <p>Ink Jet Printer22Here is an example of the glass box analysis for an ink je...</p>