Reverse Engineering is taking apart a specific object and see how it works in order to duplicate its function or enhance the object overall. This process is presently used on computer hardware and software.
Software reverse engineering involves reversing a program’s machine code back into the source code that it was written in, using program language statements.
Hardware reverse engineering involves taking apart an object to see how it works. This kind of engineering requires a great deal of expertise.
Another type of reverse engineering involves producing a 3-D image of manufactured parts when a blueprint is not anymore available to remanufacture the part. To reverse engineer a part or machine component, the component is measured by a coordinate measuring machine (CMM), laser scanners, structured light digitizers, or Industrial CT scanning (Computed Tomography) While it is being measured, a 3-D wire frame image is generated and displayed on a monitor. After the rendering is complete, the wire frame image is dimensioned and modeled into a more usable format such as a triangular-faced mesh, a set of NURBS surfaces or CAD Model. Any machine part or any machine component can be reverse engineered using these methods.
Reverse Engineering is especially significant since damaged or broken parts are generally too expensive to replace, or are no longer available. Through the process of reverse engineering, these parts are easily replicated and re-manufactured. Reverse Engineering also involves design of a new part, copy of an existing part, recovery of a damaged or broker part, improvement of an existing model. Advantages cited of the technique include immediate feedback and higher precision of the final product.
Reverse Engineering is also used by businesses and companies to make a digital 3-D image of their own products and to assess the products of their competitors. For instance, reverse engineering is utilized to determine how a product works, what it does, what components it consists of, estimate production cost and to identify potential patent infringement among other things.