Transcript

Reverse Engineering

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.

Reverse engineering has its origins in the analysis of hardware for commercial or military advantage.

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.

Reasons for reverse engineering

Interfacing. Reverse Engineering can be used when a system is required to interface to another system. Such requirements typically exist for interoperability.

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.

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

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.

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.

Bug fixing. To fix (or sometimes to enhance) legacy software which is no longer supported by its creators (e.g. Abandonware).

Creation of unlicensed/unapproved duplicates, such duplicates are called sometimes clones in the computing domain.

Academic/learning purposes. RE for learning purposes may be understand the key issues of an unsuccessful design and subsequently improve the design.

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.

Repurposing, in which opportunities to repurpose stuff that is otherwise obsolete can be incorporated into a bigger body of utility.

Source: WikiReverse engineering of machines

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.

The reverse-engineering process involves measuring an object and then reconstructing it as a 3D model.

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.

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.

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

Panzerschreck: The Germans captured an American Bazooka during World War II, and reverse engineered it to create the larger Panzerschreck.

The Panzerschreck was developed as a copy from captured bazookas of American origin.

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).

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.

Purpose of Reverse Engineering

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?

How to reverse engineer?

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.

Investigation, Prediction and HypothesisConcrete Experience: Function & FormDesign ModelsDesign AnalysisParametric RedesignAdaptive RedesignOriginal RedesignAdapted from Otto and Woods Reverse Engineering and Redesign Methodology UT Austin. Department of Mechanical. Ohio State UniversityReverse EngineeringModeling & 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.

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.

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.

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)

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.

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.

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.

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 & 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

Ink Jet Printer22Here is an example of the glass box analysis for an ink jet printer. (need explanation)Final BreakdownFor every piece or component of interest, discuss:1) How was it made2) Why it was made this way3) Design issues4) The material it is made out of5) Complexity and cost6) Ergonomic issues7) Interaction with other componentsSystem Level Design23In the final breakdown, every component or piece of interest should consider: 1) How was it made2) Why it was made this way3) Design issues4) The material it is made out of5) Complexity and cost6) Ergonomic issues7) Interaction with other components

Reverse Engineering ExampleExample ProjectBlack and Decker Cordless Screwdriver

SKIP24We have another example of reverse engineering techniques for a Black and Decker cordless screwdriver. If you do not wish to view this next example, please click the skip button to proceed with the rest of the presentation. 1. Investigation, Prediction and HypothesisDevelop Black Box ModelAssemble product and conduct a testWhat goes in? What comes out? (i.e. power, noise, heat)

CordlessScrewdriverNoiseElectric PowerScrewdriver rotationOn/Off SwitchPower/Manual SwitchReverse Engineering Example Projectvibration, heat25In the first step, a black box model is created simply showing a systems inputs and outputs. For the cordless screwdriver, electrical power, an on/off switch, and a switch which allows the user to use the screwdriver manually all serves as system inputs. When in operation, the cordless screwdriver produces bit rotation, noise, vibration, and heat.

Conduct a single test of the performance of the product:Record product performance attributesNo load Rotational speed:150 rpm (claimed)142 rpm (measured)81:1 Gear reduction = 12,200 RPM for the motorDrove in 94 #6, self tapping screws into dry pine (not predrilled)

Product Performance26Upon testing of the screwdriver it was found that the bit rotational speed was 150 rpm when unloaded. The transmission has a gear reduction of 5:1, meaning that, under no load, the motors speed is 12200 rpm. As a test of the screwdrivers life after completely charging the battery, , #6 self tapping screws were driven into dry pine. The screwdriver was able to screw in and remove 94 screws before the battery needed recharging.What is the market for this product?Great for Everyday Use Black & Decker ManualHomeowners with need for occasional use

What are the costs associated with this product?Design - Manufacturing - Assembly Packaging - Resale ($20.00)

Product Market27Next, the market for this product needs to be determined. According to the Black and Decker manual, the cordless screwdriver is great for everyday use. Based on this information, it was determined that the cordless screwdriver was aimed at homeowners with need for occasional use. The costs associated with this product include design, manufacturing, assembly, and packaging. The hedge trimmers resale value is $20.00.

How long will this product last?2 year full warranty provided

What features does this product have that are important?Cordless, rechargeable batteryReversible directionPower/manual switchRelatively high torqueRelatively long battery life

Product Features28The intended life of the cordless screwdriver needs to be estimated next based on conditions of use and the design and material of each component. Also, if any parts fail, can they be repaired or replaced? The cordless screwdriver has some important features including a rechargable battery, reversible direction, a switch allowing the user to operate the screwdriver manually, relatively high torque output, and a relatively long battery life.

2. Concrete Experience: Function and Form

Carefully begin Disassembly

Document steps and components with photographs, sketches or video

Function and Form29Now disassembly of the cordless screwdriver was begun. Pictures were taken during this procedure so that the screwdriver could be put back together and to document the connectivity of the systems components.

Case Group defined systems and subsystems together.Battery/chargerSwitchMotorTransmissionScrewdriver BitCordless Screwdriver Sub-Systems and Interactions30Next the systems components and connectivity are identified. The cordless screwdriver consists of a rechargeable battery, a switch, the motor, a transmission, a screwdriver bit, and a case to enclose these items.

Nickel Cadmium batteryJack for connection to AC transformerDiode to half-wave rectify the AC signal (charging)

BatteryWires to switchJackDiodeBattery/Charger31The battery is a nickel cadmium battery. There is a jack to connect to the AC transformer. The Diode, set to half-wave, rectifies the AC signal during charging. Rotation of switching device lines up the contacts for either forward or reverse directionsPushing the switching device creates contact between the upper contacts

How important is size, speed?Was weight a consideration?

rotationContacts coming from batteryContacts to motorSwitch32Rotation of switching device lines up the contacts for either the forward or reverse direction. Pushing the switching device creates contact between the upper contacts. Some questions to contemplate are: How important is size and speed? Was weight a consideration?Sketch of Switch

Switch33Since the operation of the switch is difficult to see based on the photographs previously shown, a sketch of the switch is provided here.2.4 V Motor12200 RPM (no load)3.567 Amps (no load)Torque = .056 Nm (at stall)

How important is size, speed?Was weight a consideration?

Motor34The motor information are: 2.4 V Motor, 12200 RPM (with no load), 3.567 Amps (with no load) and Torque = .056 Newton-meter (at stall)

Again, the questions for consideration are: How important is size and speed?Was weight a consideration?

Sun gear: 6 teethPlanet gear: 19 teethRing gear: 48 teethGear ratio = 81:1

Transmission35The transmission data give: 6 teeth on the sun gear, 19 teeth on the planetary gears, 48 teeth on the ring gear. This gives a gear ratio of 81 to 1.

First stage of planetary gearsSecond stage of planetary gears(Ring gear not shown)output to screwdriver bitTransmission36A sketch of the planetary gears is shown since their layout was not obvious in the previous photographs.How fast does the bit need to turn? Torque?What is the bit made of ?

Screwdriver Bit37The screwdriver bit needs to be considered also. Some questions about the bit include: How fast does the bit need to turn? What is the torque that it can transmit? What is the material for the bit? How was the case made?Was the case designed to be esthetically pleasing?Why isnt the case made out of metal?What sort of costs are involved in the manufacturing of this case?

Case38For the screwdriver case, questions include: How was the case made?Was the case designed to be esthetically pleasing?Why isnt the case made out of metal?What sort of costs are involved in the manufacturing of this case?

metal leads extruded and bent plastic switch injection molded plastic switching mechanism injection molded plastic gears injection molded casing injection molding metal bit extruded Feature List39The next step is to Develop a feature list for each component with associated definitions and figures. This list show how each part was manufactured.

Reassemble Product40Once the analysis is complete, the screwdriver is reassembled. Transforming to engineering specificationsExample - transmission Kinematics

1. Calculate gear ratio if carrier was fixed2. Calculate carrier speed out of first set of planetary gears3. Calculate carrier speed out of second set of planetary gears

Engineering Specifications41In order to model the motor and blade connection, a kinematic model was first created. The first step in calculating the output speed of the first set of planetary gears is to calculate its gear ratio if the carrier were fixed. This ratio is called r* and is the negative of the ratio of the number of teeth in the sun gear over the number of teeth in the ring gear. Then the carrier speed out of the first set of planetary gears can be calculated. Finally the speed out of the second set of planetary gears can be calculated. The motor rotates at 18713 rpm under no load and the predicted speed out of the entire transmission is 231 rpm. Note that this analysis does not take into account any loading on the motor due to friction or inertia. For this reason it is expected that the predicted speed will be higher than the actual speed.Transforming to engineering specifications

Engineering Specifications

42A force analysis may be performed for prediction of failure and to find the torque available at the screwdriver bit. Close to 1 Nm is available at the screwdriver bit.SummaryReverse engineeringTool to understand current design solutions and technologyUse dissection, experimentation and analysisSave time and gain insight on current design challenges and solutions

43After completing this presentation and the examples, one should have a detailed understanding of reverse engineering theory, strategy and application. The included examples in this module reflect mechanical and industrial engineering curriculum, but should in no way reduce the importance of reverse engineering as a tool for gaining insight into previous designs, solutions and ingenuity in all of the engineering disciplines. Reverse Engineering should serve as a useful tool. The purpose of Reverse Engineering is to understand current design solutions and technology using dissection, experimentation and analysis. In the end, the goal is to save time and gain insight into how others have approached similar design challenges. Reverse Engineering can often times reveal ingenious solutions and, thus, can be very useful to resolve design issues facing an engineer.


Top Related