Reverse Engineering Digital Forensics Rodrigo Lopes October 22, 2006

Total Page:16

File Type:pdf, Size:1020Kb

Reverse Engineering Digital Forensics Rodrigo Lopes October 22, 2006 Reverse Engineering Digital Forensics Rodrigo Lopes October 22, 2006 Introduction Engineering is many times described as making practical application of the knowledge of pure sciences in the solution of a problem or the application of scientific and mathematical principles to develop economical solutions to technical problems, creating products, facilities, and structures that are useful to people. What if the opposite occurs? There is some product that may be a solution to some problem but the inner workings of the solution or even the problem it addresses may be unknown. Reverse engineering is the process of analyzing and understanding a product which functioning and purpose are unknown. In Computer Science in particular, reverse engineering may be defined as the process of analyzing a system's code, documentation, and behavior to identify its current components and their dependencies to extract and create system abstractions and design information. The subject system is not altered; however, additional knowledge about the system is produced. The definition of Reverse Engineering is not peaceful though, especially when it concerns to court and lawsuits. The Reverse Engineering of products protected by copyrighting may be a crime, even if no code is copied. From the software companies’ point of view, Reverse Engineering is many times defined as “Analyzing a product or other output of a process in order to determine how to duplicate the know-how which has been used to create a product or process”. Scope and Goals In the Digital Forensics’ scope, reverse engineering can directly be applied to analyzing unknown and suspicious code in the system, to understand both its goal and inner functioning. Being the program unknown, copyright laws do not apply to this particular situation, and reverse engineering can be freely performed, whether the role is the one of a criminal or federal investigator, a company investigator or a private user. In a company’s policies, Reverse Engineering may even be contemplated as a part of its own business, to track bugs or undocumented behavior on their own products (worker programmed a backdoor). The biggest problem is that any executable file is not humanly readable, it is many times in binary format or some form of compiled encoding. It is important to go from those encodings to some readable format in order to analyze the program and come to profitable conclusions. Once again and alike most operations in Forensics, the object of analysis must not be altered, so that the outcome can be accepted as a forensically sound evidence. Methodologies There are several approaches for reverse engineer a program, the main methods are: Dead Listing - Disassembly of binary, yielding some low level code (assembly language) whose structure is then examined to decipher what operation is being performed. Live Tracing - Tracing execution as the target is running and watching data structures change. Behavioral - Examining how the target interacts with its environment (Operating System, registry, file system, other system components). Differential - comparing consecutive snapshots to discover changes and hypothesize an algorithm/structure. The method described on this paper focus mainly on dead listing analysis. Before any reverse engineering can be done, it is important to detect the activity of suspicious programs. This can be done using a set of tools that monitor the system and gather data about all activity going on it. After detecting the executable that performs the suspicious activities, its decoding must be done through a decompiler or disassembler, which is the process of converting the binary executable file to a form of readable code that can be analyzed and debugged. The debugging stage is fundamental in understanding what the program does, since looking at assembly code alone may not give a clear picture of what the program does and is also very time consuming. There are no tools that automatically reveal what the program does, human interaction Is required in order to make some sense of what is happening. While debugging the decompiled code, the investigator can stop the execution at any time and analyze the memory and internal variables, as well as open and active sockets. On the image below there is a flowchart representation of Reverse Engineering Processes. In a general way, every time a system representation is converted in a more abstract model, it is considered Reverse Engineering and the opposite, going from an abstract model to a particular specific implementation is considered engineering or Forward Engineering. While in industry Reverse Engineering is usually used at a more abstract level, going from source code to non-programmatic models, in forensics, this Reverse Engineering starts at the least abstract level, which is the machine code, and tries to make upper level representations, beginning at the assembly code directly derived from the binary code, which is specific for a given architecture. The analysis of this code and conversion to some higher, more intelligible, format is not an automatic process, it actually requires a great effort in time and expertise plays a lead role on the process. Malicious software many times uses techniques to help obfuscate the code. In those situations human interaction is even more important to understand what the code is really doing. Tools The decompilation and debugging tools available vary with the used operating system. While Linux tools are available for free, Windows tools may be expensive, but provide an environment that makes it easier to recover and analyze the unknown executable files. Windows Tools: IDA Pro (www.datarescue.com) (from $479.00 to $875.00 for a single license) Standing for Interactive Disassembler, the IDA Pro is a widely used commercial tool for disassembling and debugging binary files, supporting a wide variety of processors and compilers. IDA Pro is specially used in the hostile or malicious code analysis. NuMega SoftICE (www.compuware.com) offered as part of Compuware's DriverStudio has been discontinued due to a “variety of technical and business issues as well as general market conditions” Has the ability to stop the whole operating system and hardware at any time, originally developed to debug device drivers. wdasm32 (http://www.softpedia.com/get/Programming/Debuggers-Decompilers- Dissasemblers/WDASM.shtml) Dissassembler/Debuger for Windows. Hackman Suite (www.technologismiki.com) Offers a desassembler, a debugger and a hex Editor. OllyDbg (http://www.ollydbg.de) OllyDbg is a 32-bit assembler level analyzing debugger for Windows Environments Linux Tools: objdump (http://www.gnu.org/software/binutils/manual/html_chapter/binutils_4.html) A part of the GNU Binary Utilities, has various options to disassemble code dasm A wrapper for objdump written in perl that gives most of the functionality found in Windows decompilers/disassemblers Gdb (http://www.gnu.org/software/gdb/) Debugger from the GNU project. Legal and Ethical issues While there are legal implications of using reverse engineering techniques on commercial products, to use those methodologies and tools on suspicious unknown programs seems to be perfectly legal, since there is no copyright laws or end user agreements on those programs that often are illegally installed on systems. Reverse engineering is a vital resource in understanding and fighting threats such as Virus, Spyware, Trojans, Malware and all sorts of malicious code. Anti- Virus and Security companies often use Reverse Engineering to track and fight those threats. There are several known cases where companies sue programmers for reverse engineering their products. The Definition of reverse engineering used is important in those situations. To reverse engineer a legally bought product seems to be perfectly legal, if the purpose is integration with legacy or other proprietary systems, or even extension of functionality. It may be illegal if the knowledge obtained is used to copy the product and obtain profit out of it. References http://www.sei.cmu.edu/str/indexes/glossary/reverse-engineering.html http://www.eweek.com/article2/0,1895,1853996,00.asp http://packetstormsecurity.org/linux/reverse-engineering/dasm http://www.technologismiki.com/en/index-h.html http://www.zeltser.com/reverse-malware-paper http://www.securityfocus.com/infocus/1637 http://www.program-transformation.org/Transform/DeCompilation http://www.ruxcon.org.au/files/Ruxcon2003_Reversing_Workshop.pdf http://staff.washington.edu/dittrich/forensics.html .
Recommended publications
  • Reverse Software Engineering As a Project-Based Learning Tool
    Paper ID #33764 Reverse Software Engineering as a Project-Based Learning Tool Ms. Cynthia C. Fry, Baylor University CYNTHIA C. FRY is currently a Senior Lecturer of Computer Science at Baylor University. She worked at NASA’s Marshall Space Flight Center as a Senior Project Engineer, a Crew Training Manager, and the Science Operations Director for STS-46. She was an Engineering Duty Officer in the U.S. Navy (IRR), and worked with the Naval Maritime Intelligence Center as a Scientific/Technical Intelligence Analyst. She was the owner and chief systems engineer for Systems Engineering Services (SES), a computer systems design, development, and consultation firm. She joined the faculty of the School of Engineering and Computer Science at Baylor University in 1997, where she teaches a variety of engineering and computer science classes, she is the Faculty Advisor for the Women in Computer Science (WiCS), the Director of the Computer Science Fellows program, and is a KEEN Fellow. She has authored and co- authored over fifty peer-reviewed papers. Mr. Zachary Michael Steudel Zachary Steudel is a 2021 graduate of Baylor University’s computer science department. In his time at Baylor, he worked as a Teaching Assistant under Ms. Cynthia C. Fry. As part of the Teaching Assistant role, Zachary designed and created the group project for the Computer Systems course. Zachary Steudel worked as a Software Developer Intern at Amazon in the Summer of 2019, a Software Engineer Intern at Microsoft in the Summer of 2020, and begins his full-time career with Amazon in the summer of 2021 as a software engineer.
    [Show full text]
  • 245533753-MIT.Pdf
    THE VULNERABILITY OF TECHNICAL SECRETS TO REVERSE ENGINEERING: IMPLICATIONS FOR COMPANY POLICY By Cenkhan Kodak M.S. in Electrical and Computer Systems Engineering (2001) University of Massachusetts at Amherst Submitted to the Systems Design and Management Program In partial fulfillment of the requirements for the degree of Master of Science in Engineering and Management At the MASSACHUSETTS INSTITUTE OF TECHNOLOGY FEBRUARY 2008 © 2008 Cenkhan Kodak. All rights reserved. The author hereby grants to MIT permission to reproduce and Distribute publicly paper and electronic copies of this thesis document in whole or in part in any medium now known or hereafter created Signature of the Author: m- /7 Systems Desigq and Management Program r\ Ja iry 2008 Certified by: 7 Professoi ,ric von Hippel Thesis Supervisor, MIT mSchgQl o•.Ma genfer t Certified by: MASSACHUSES INSTITUTE= Pat Hale OF TEOHiNOLOGY Director, Systems Design and Management Program MAY 0 6 2008 I-I .a,:IARCHIVES -2- THE VULNERABILITY OF TECHNICAL SECRETS TO REVERSE ENGINEERING: IMPLICATIONS FOR COMPANY POLICY By Cenkhan Kodak Submitted to the Systems Design and Engineering Program On February 04 2008, in Partial Fulfillment of the Requirements for the Degree of Master of Science in Engineering and Management Abstract In this thesis I will explore the controversial topic of reverse engineering, illustrating with case examples drawn from the data storage industry. I will explore intellectual property rights issues including, users' fair-use provisions that permit reverse engineering. I will also explore the nature of the practice via several types of analyses including: the costs and benefits of reverse engineering; the practical limitations of reverse engineering; and a layered approach to reverse engineering as it applies to complex systems.
    [Show full text]
  • X86 Disassembly Exploring the Relationship Between C, X86 Assembly, and Machine Code
    x86 Disassembly Exploring the relationship between C, x86 Assembly, and Machine Code PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 07 Sep 2013 05:04:59 UTC Contents Articles Wikibooks:Collections Preface 1 X86 Disassembly/Cover 3 X86 Disassembly/Introduction 3 Tools 5 X86 Disassembly/Assemblers and Compilers 5 X86 Disassembly/Disassemblers and Decompilers 10 X86 Disassembly/Disassembly Examples 18 X86 Disassembly/Analysis Tools 19 Platforms 28 X86 Disassembly/Microsoft Windows 28 X86 Disassembly/Windows Executable Files 33 X86 Disassembly/Linux 48 X86 Disassembly/Linux Executable Files 50 Code Patterns 51 X86 Disassembly/The Stack 51 X86 Disassembly/Functions and Stack Frames 53 X86 Disassembly/Functions and Stack Frame Examples 57 X86 Disassembly/Calling Conventions 58 X86 Disassembly/Calling Convention Examples 64 X86 Disassembly/Branches 74 X86 Disassembly/Branch Examples 83 X86 Disassembly/Loops 87 X86 Disassembly/Loop Examples 92 Data Patterns 95 X86 Disassembly/Variables 95 X86 Disassembly/Variable Examples 101 X86 Disassembly/Data Structures 103 X86 Disassembly/Objects and Classes 108 X86 Disassembly/Floating Point Numbers 112 X86 Disassembly/Floating Point Examples 119 Difficulties 121 X86 Disassembly/Code Optimization 121 X86 Disassembly/Optimization Examples 124 X86 Disassembly/Code Obfuscation 132 X86 Disassembly/Debugger Detectors 137 Resources and Licensing 139 X86 Disassembly/Resources 139 X86 Disassembly/Licensing 141 X86 Disassembly/Manual of Style 141 References Article Sources and Contributors 142 Image Sources, Licenses and Contributors 143 Article Licenses License 144 Wikibooks:Collections Preface 1 Wikibooks:Collections Preface This book was created by volunteers at Wikibooks (http:/ / en.
    [Show full text]
  • Binary Disassembly Block Coverage by Symbolic Execution Vs
    Air Force Institute of Technology AFIT Scholar Theses and Dissertations Student Graduate Works 3-22-2012 Binary Disassembly Block Coverage by Symbolic Execution vs. Recursive Descent Jonathan D. Miller Follow this and additional works at: https://scholar.afit.edu/etd Part of the Information Security Commons Recommended Citation Miller, Jonathan D., "Binary Disassembly Block Coverage by Symbolic Execution vs. Recursive Descent" (2012). Theses and Dissertations. 1138. https://scholar.afit.edu/etd/1138 This Thesis is brought to you for free and open access by the Student Graduate Works at AFIT Scholar. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of AFIT Scholar. For more information, please contact [email protected]. BINARY DISASSEMBLY BLOCK COVERAGE BY SYMBOLIC EXECUTION VS. RECURSIVE DESCENT THESIS Jonathan D. Miller, Second Lieutenant, USAF AFIT/GCO/ENG/12-09 DEPARTMENT OF THE AIR FORCE AIR UNIVERSITY AIR FORCE INSTITUTE OF TECHNOLOGY Wright-Patterson Air Force Base, Ohio APPROVED FOR PUBLIC RELEASE; DISTRIBUTION UNLIMITED The views expressed in this thesis are those of the author and do not reflect the official policy or position of the United States Air Force, the Department of Defense, or the United States Government. This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States AFIT/GCO/ENG/12-09 BINARY DISASSEMBLY BLOCK COVERAGE BY SYMBOLIC EXECUTION VS. RECURSIVE DESCENT THESIS Presented to the Faculty Department of Electrical and Computer Engineering Graduate School of Engineering and Management Air Force Insitute of Technology Air University Air Education and Training Command in Partial Fulfillment of the Requirements for the Degree of Master of Science Jonathan D.
    [Show full text]
  • Reverse Engineering of a Malware
    REVERSE ENGINEERING OF A MALWARE EYEING THE FUTURE OF SECURITY A Thesis Presented to The Graduate Faculty of The University of Akron In Partial Fulfillment of the Requirements for the Degree Master of Science Supreeth Burji August, 2009 REVERSE ENGINEERING OF A MALWARE EYEING THE FUTURE OF SECURITY Supreeth Burji Thesis Approved: Accepted: ________________________________ ________________________________ Advisor Department Chair Dr. Kathy J. Liszka Dr. Chien-Chung Chan ________________________________ ________________________________ Faculty Reader Dean of the College Dr. Timothy W. O'Neil Dr. Chand Midha ________________________________ ________________________________ Faculty Reader Dean of the Graduate School Dr. Wolfgang Pelz Dr. George R. Newkome ________________________________ Date ii ABSTRACT Reverse engineering malware has been an integral part of the world of security. At best it has been employed for signature logging malware until now. Since the evolution of new age technologies, this is now being researched as a robust methodology which can lead to more reactive and proactive solutions to the modern security threats that are growing stronger and more sophisticated. This research in its entirety has been an attempt to understand the in and outs of reverse engineering pertaining to malware analysis, with an eye to the future trends in security. Reverse engineering of malware was done with Nugache P2P malware as the target showing that signature based malware identification is ineffective. Developing a proactive approach to quickly identifying malware was the objective that guided this research work. Innovative malware analysis techniques with data mining and rough sets methodologies have been employed in this research work in the quest of a proactive and feasible security solution.
    [Show full text]
  • Software Security and Reverse Engineering
    Software Security and Reverse Engineering What is reverse engineering? Today the market of software is covered by an incredible number of protected applications, which don't allow you to use all features of programs if you aren't a registered user of these. Reverse engineering is simply the art of removing protection from programs also known as “cracking”. In Some other words cracking is described as follows: - “When you create a program you engineer it, in fact you build the executable from the source-code. The reverse engineering is simply the art of generate a source-code from an executable. Reverse engineering is used to understand how a program does an action, to bypass protection etc. Usually it's not necessary to disassemble all code of the application not only the part of the application that we are interested must be reversed. Reverse engineering used by a cracker to understand the protection scheme and to break it, so it's a very important thing in the whole world of the crack.” In short: - "Reverse Engineering referred to a way to modify a program such that it behaves as the way a reverse engineer wish." “Cracking is a method of making a software program function other than it was Originally intended by means of investigating the code, and, if necessary, patching It.” A Little bit of history Reveres egg. Most probably start with the DOS based computer games. The aim is that a player has full life and armed in the final stage of the game. So what a reverse egg.
    [Show full text]
  • Soft Robotic Hand Prosthesis Using Reverse Engineering and Fast Prototyping
    Proceedings of the 1 st Iberic Conference on Theoretical and Experimental Mechanics and Materials / 11 th National Congress on Experimental Mechanics. Porto/Portugal 4-7 November 2018. Ed. J.F. Silva Gomes. INEGI/FEUP (2018); ISBN: 978-989-20-8771-9; pp. 953-966. PAPER REF: 7452 SOFT ROBOTIC HAND PROSTHESIS USING REVERSE ENGINEERING AND FAST PROTOTYPING Hugo D’Almeida, Tiago Charters, Paulo Almeida, Mário J.G.C. Mendes (*) Instituto Superior de Engenharia de Lisboa (ISEL), Instituto Politécnico de Lisboa, Lisboa, Portugal (*) Email: [email protected] ABSTRACT The present work aimed to develop a soft robotic prosthesis of the human hand using reverse engineering and fast prototyping. This project arises in response to some limitations of the current conventional prostheses, namely aesthetic, mechanical and cost, that fail to fulfil the needs of its users, for example with soft objects. The hand prosthesis design involved the acquisition and processing of a medical image of the user's hand, followed by a modelling process which proved to be highly complex, and finally the obtainment of a real model (by 3D printing) of the prosthesis. The results obtained proved to be satisfactory in the approximation of the hand morphology, low cost and the designed mechanical properties. However, due to some technological limitations (the used 3D printers), and more specifically in the physical conception of the model, its functionality is yet to be proved with the pneumatic control. Keywords: Soft robotics, reverse engineering, fast prototyping, hand prosthesis. INTRODUCTION The human hand can be considered the most used tool by the man in the execution of the daily tasks, and its loss leads to physical and psychological damages.
    [Show full text]
  • Reverse Engineering Is Reverse Forward Engineering)
    RE- ENGINEERING The reengineering of software was described by Chikofsky and Cross in their 1990 paper, as "The examination and alteration of a system to reconstitute it in a new form" . Less formally, reengineering is the modification of a software system that takes place after it has been reverse engineered, generally to add new functionality, or to correct errors. This entire process is often erroneously referred to as reverse engineering; however, it is more accurate to say that reverse engineering is the initial examination of the system, and reengineering is the subsequent modification. Re-engineering is mostly used in the context where a legacy system is involved. Software systems are evolving on high rate because there more research to make the better so therefore software system in most cases, legacy software needs to operate on a new computing platform. 'Re-engineering' is a set of activities that are carried out to re-structure a legacy system to a new system with better functionalities and conform to the hardware and software quality constraint. FORWARD ENGINEERING Forward engineering is the opposite of reverse engineering. In forward engineering, one takes a set of primitives of interest, builds them into a working system, and then observes what the system can and cannot do. Forward engineering is the foundation of synthetic psychology (Braitenberg, 1984; Dawson, 2004; Pfeifer & Scheier, 1999). Braitenberg has argued that forward engineering is likely to produce simpler theories than reverse engineering because the latter tends to attribute behavioural complexities to the internal mechanisms of the agent. Braitenberg calls this the law of uphill analysis and downhill synthesis.
    [Show full text]
  • Reverse Engineering a Legacy Software in a Complex System: a Systems Engineering Approach
    Reverse engineering a legacy software in a complex system: A systems engineering approach Maximiliano Moraga Yang-Yang Zhao University College of Southeast Norway University College of Southeast Norway Kongsberg, Norway Kongsberg, Norway +47 94195982 +47 31009699 [email protected] [email protected] Copyright © 2018 by Maximiliano Moraga and Yang-Yang Zhao. Published and used by INCOSE with permission. Abstract. In a complex system, a legacy software as a component is determined by various factors beyond its own capability. Lack of knowledge that shaped software, which is often the case of a legacy software, can prohibit appropriate maintenance and development to comply with the system needs. To reverse engineering legacy software for a fit with the overall system of interest is a daunting task. Existing techniques of reverse engineering are mostly from a purely technical point of view and for the single discipline of software engineering. Thus, this paper aims for an approach to properly reverse engineer the reasoning behind the legacy software developments in a complex system. By jointly apply the CAFCR model and the reverse engineering, a roadmap is created to guide incremental developments of legacy software in a complex system, which benefits both the maintenance of existing implementation and realization of new functionalities for improved system performance. Introduction Software development has the growing importance for many business successes. One critical issue for an existing business is the maintenance and continuous development of its software. With increasing competition, existing businesses have a tremendous pressure on the fast pace upgrading which left no time for the software to be re-created and re-implemented.
    [Show full text]
  • Towards Efficient Instrumentation for Reverse-Engineering Object Oriented Software Through Static and Dynamic Analyses
    Towards Efficient Instrumentation for Reverse-Engineering Object Oriented Software through Static and Dynamic Analyses by Hossein Mehrfard A dissertation submitted to the Faculty of Graduate and Postdoctoral Affairs in partial fulfillment of the requirements for the degree of Doctor of Philosophy in The Ottawa-Carleton Institute for Electrical and Computer Engineering Carleton University Ottawa, Ontario © 2017 Hossein Mehrfard Abstract In software engineering, program analysis is usually classified according to static analysis (by analyzing source code) and dynamic analysis (by observing program executions). While static analysis provides inaccurate and imprecise results due to programming language's features (e.g., late binding), dynamic analysis produces more accurate and precise results at runtime at the expense of longer executions to collect traces. One prime mechanism to observe executions in dynamic analysis is to instrument either the code or the binary/byte code. Instrumentation overhead potentially poses a serious threat to the accuracy of the dynamic analysis, especially for time dependent software systems (e.g., real-time software), since it can cause those software systems to go out of synchronization. For instance, in a typical real-time software, the dynamic analysis result is correct if the instrumentation overhead, which is due to gathering dynamic information, does not add to the response time of real-time behaviour to the extent that deadlines may be missed. If a deadline is missed, the dynamic analysis result and the system’s output are not accurate. There are two ways to increase accuracy of a dynamic analysis: devising more efficient instrumentation and using a hybrid (static plus dynamic) analysis.
    [Show full text]
  • Reverse Engineering to Teach Scientific Concepts: Biomimetic Robot Systems Vivek Kumar1* 1Team Genius Mentor, CT, USA
    Reverse Engineering to Teach Scientific Concepts: Biomimetic Robot Systems Vivek Kumar1* 1Team Genius Mentor, CT, USA Abstract: This mentor presentation displays how Team Genius mentors teach concepts through the process of reverse engineering. It examines the current applications of re- verse engineering to teach both a scientific concept, in this case, biomimetics, and engi- neering concepts. To begin, we will describe existing robots and prototypes—from re- search labs of Stanford University and the Massachusetts Institute of Technology—with visual aids/models. Later, we will take apart (reverse engineer) working biomimetic LEGO robot prototypes. This structural and functional analysis will convey the biomi- metic concepts integrated within the robots. In the process of examining and reverse engi- neering biomimetic robots, the presentation will convey bioenvironmental concepts with practical application, as well as mechanical engineering strategies. This learning process is akin to one that can be used in a typical biological, environmental science, or engineer- ing classroom. Key Words: Robots, Biomimetics, RoboCupJunior, Environment, iRobot, ERI, Biology, Environmental Science, Education, Classroom, Reverse Engineering 1. Introduction: The educational community is of vital importance. This mentor presentation’s purpose is to explore and display new, innovative ways of presenting STEM (Science, Technology, Engineering, and Math) knowledge in a classroom en- vironment, via robotics. a. Team Genius was founded by Vivek Kumar, now a mentor, in 2010, as a private robotics team. Since its inception, it has won numerous awards, such as FIRST Robotics state championships, the FIRST Programming Awards, and the IEEE Engineering design awards. Team members now look to expand their love of science, innovation, and engineering to the in- ternational community.
    [Show full text]
  • Reverse Engineering in Product Manufacturing: an Overview
    DAAAM INTERNATIONAL SCIENTIFIC BOOK 2013 pp. 665-678 CHAPTER 39 REVERSE ENGINEERING IN PRODUCT MANUFACTURING: AN OVERVIEW KUMAR A.; JAIN, P. K. & PATHAK, P. M. Abstract: Reverse engineering plays vital role in the branch of the mechanical design and manufacturing based industry. This technique has been widely recognized as an important technique in the product design cycle. In regular computerized manufacturing environment, the operation order usually starts from the product design and ends with machine operation to convert raw material into final product. It is often essential to reproduce a CAD model of existing part using any digitization techniques, when original drawings or documentation are not available and used for analysis and modifications are required to construct a improved product design. In reverse engineering approach the important steps involved, are characterizations of geometric models and related surface representations, segmentation and surface fitting of simple and free-form shapes, and creating accurate CAD models. The chapter presents review on reverse engineering methodology and its application areas related to product design development. The product re-design and research with reverse engineering will largely reduced the production period and costs in product manufacturing industries. Key words: reverse engineering, scanning techniques, point cloud/STL data, CAD/CAM/CAE Authors´ data: Kumar A[tul], Jain, P[ramod] K[umar]; Pathak, P[ushparaj] M[ani], Mechanical & Industrial Engineering Department, Indian Institute of Technology, Roorkee, 247667, Uttarakhand India, [email protected], [email protected], [email protected] This Publication has to be referred as: Kumar, A[tul]; Jain, P[ramod] K[umar] & Pathak, P[ushparaj] M[ani] (2013) Reverse Engineering in Product Manufacturing: An Overview , Chapter 39 in DAAAM International Scientific Book 2013, pp.
    [Show full text]