Reverse-Engineering Concept Definition


 Reverse engineering (or sometimes back-engineering) is a process that is designed to extract enough data from a product and then to be able to reproduce that product. It may involve moving to creating a product from scratch or from pre-developed components. It can be applied to any product (such as computer technology, manufactured products, biological products, chemical products, etc.) to determine how the components are put together and how it works.



Author/Copyright holder: Georg Wiora. Copyright terms and licence: CC BY-SA 3.0

Anything can be reverse engineered with enough time and resources; this diagram suggest how you might reverse engineer a car.

Reasons for Using Reverse Engineering

The reasons for employing reverse engineering are myriad. Some are legal and ethical and many are not. It can, for example, be applied by the creator of a product when they are unable to remember the steps they employed to create the product in the first place. Equally, it can be used to clone the product and manufacture it more cheaply than the original which may be a more legally and ethically concerning use of reverse engineering.

Common reasons for reverse engineering include:

  • Developing interfaces for system interoperability. This may often be used when legacy systems are involved or if original documentation is unavailable.
  • Corporate and/or military espionage. Reverse engineering may enable the cloning of competitor’s products or an understanding of how to develop market or military counter-measures for that product.
  • Improving product documentation. If product documentation supplied doesn’t mean the standards for easy use, it may be that reverse engineering the product can help articulate the documentation to a higher standard.
  • Factoring out obsolescence. Many components of products have a short commercial lifespan; if an existing component cannot be purchased it may be possible to reverse engineer it so that a replacement can be constructed with materials currently available. Reverse engineering may also be required when the original manufacturer no longer supports maintenance of a particular product but maintenance is required.
  • Modernizing of software products. Legacy systems may benefit from reverse engineering when the original knowledge of how a specific challenge was tackled has been lost to a business. Reverse engineering can also help with migrating legacy systems to new platforms.
  • Security adaptions. Reverse engineering can benefit piracy and copying of systems by removing rights management and it may also be used to develop stricter security protocols by better understanding the operation of the product.
  • Fixing product flaws. If you reverse engineer a product, particularly those which are not supported by their original creators, you can often fix problems with the product.
  • Cloning. Creating (often illegal) copies of the original product.
  • Education. Reverse engineering can serve as an educational tool that enables understanding of successful (and unsuccessful) designs so that this knowledge can be built upon in the future.
  • Cost reduction. By understanding what goes into a product – cheaper alternatives may be sourced as replacement parts.
  • Redesign/repurposing. Products that are no longer useful may be reverse engineered so that they can be improved upon and made useful once again.
  • Competitor intelligence. Learning what your competitors are actually doing as opposed to what they publicly state they are doing.
  • This example of reverse engineering is highly ambitious – it’s an overview of how the human brain may operate!

    There is no single process for reverse engineering. As you can imagine, reverse engineering a software product follows a very different process from reverse engineering a pharmaceutical product. However, the intention of both processes is the same – to determine from the finished product the process by which it is made and what goes into that process.

    Reverse Engineering and The Law

    Jon Johansen, a leading proponent of open source design, says; “Basically, if reverse engineering is banned, then a lot of the open source community is doomed to fail.”

    As you might expect, reverse engineering is a complicated subject in law. Firstly, it is important to note that there is little point in reverse engineering a patented process to duplicate it. Patents are a matter of public record and the process is fully documented. However, many patents are reverse engineered in order to examine whether they impinge on the patents (or copyright) of other intellectual property.

No comments:

Post a Comment