Introduction to
Reverse Engineering
Rev II
DR. TAREK A. TUTUNJI
REVERSE ENGINEERING
PHILADELPHIA UNIVERSITY, JORDAN
2015
What is Reverse Engineering ?
Reverse Engineering (RE)
RE is the process of discovering the technological
principles of a device or system through analysis of its
structure, function, and operation
RE is the disassembly and re-assembly of the device,
taking care to document, test, analyze and report on the
study of its function
RE is the process of taking a device, system, or program
apart and analyzing its workings in detail, usually with
the intention to construct a new device, system, or
program that does the same functionality with
improvement
Reverse vs. Re- Engineering
Advantages of RE
• Understand product functionality
• Understand product structure
• Identify strengths, weaknesses, and opportunities
• Determine the technology in competitive products
• Re-design to modify and improve products
• Replace old components with new ones
• Replace parts that are no longer available
• Create missing documentation (such as schematics
and BOM)
S-Curve
Ref: Otto and Wood “A Reverse Engineering and Redesign Methodology for Product Evolution
RE Process for Technical Systems
Ref: Guidelines for Reverse Engineering Process Modeling of Technical Systems
by Junior, Ogliari, and Back
Four Major Steps for System RE
1. Prescreening
2. Observation
3. Dissection
4. Analysis
1. Prescreening
The initial step in RE is to choose a candidate product
This choice can be driven by market needs (i.e. a
popular but expensive product) or national needs (i.e. a
vital but imported product).
For the class project choose a product that is interesting
to you
It is recommended to obtain two samples of the
candidate product
2. Observation
Study of the product functionality and specifications
Research available literature in order to acquire
information about the product under test
Information should be collected, summarized, and
analyzed
Test the product and record its functional
parameters in the laboratory
3. Dissection
A critical and time consuming step is the disassembly
It should be carried out with extreme caution and should
be well documented
One sample product is disassembled. The other should
be left intact and used for comparison later.
All the parts and their functionality should be identified.
Documents such as Bill of Materials (BOM) and tree
diagram should be generated
4. Analysis
This is another important and time consuming step
Understand the interface and connections between the
subsystems and components
Understand the functionality of all subsystems and
components
This analysis is essential in understanding how the product
works
This step includes drawing block diagrams, circuit schematics,
and mechanical drawing. It might also involve modeling and
simulation
Two more steps for Re-Engineering
Modification
Suggest an improvement to the original product.
Implementation
A product is built and tested. Its functionality is then
compared to the original one.
Example: Toaster
1. Prescreening
Choose a bread toaster
2. Observation
List product specification
Identify the material used
Measure dimensions and weight
What is its function?
What are the I/O?
Provide Black Box
Predict its block diagram
Example: Toaster
3. Dissection BOM
Disassemble the toaster Chassis
Document the procedure Heating element (coil)
Document the BOM Spring
Bread rack
Heat sensor
Trip plate
Lever
Timing mechanism
Electromagnet (or
solenoid) to hold the
rack
Example: Toaster
4. Analysis
Mechanical drawing
Electrical Schematic
Equations
Simulation
Example: Toaster
Bread is placed in toaster slots and handle is
manually pressed down
This results in completing the circuit and
electromagnet is activated and thus holds down the
bread
A heating element is activated simultaneously with
completion of the circuit.
An electric timer is activated. When done, the circuit
is interrupted, and the electromagnet is turned off.
The handle mechanism is released, and the bread is
forced upward.
Example: Toaster
Example: Toaster
Re-engineering
Implementation
Build a duplicate toaster
Modification
Automatic shut off feature
Indicator when bread is jammed
Use different shapes of bread
Use for frozen breads
Indicate shade of bread
USB toaster
Use microcontroller
Reverse Engineering Methodology
Investigation, Prediction and Hypothesis
Reverse
Concrete Experience: Function & Form Engineering
Design Models
Modeling &
Analysis
Design Analysis
Parametric Adaptive Original Redesign
Redesign Redesign Redesign
Ref: Otto and Wood “A Reverse Engineering and Redesign Methodology for Product Evolution