Reverse Engineering


Das Reverse Engineering ist eine Vorgehensweise, bei der ein Produkt (Maschine, Fahrzeug, Bauteil, Software, chemische Verbindung, etc.) zerlegt und untersucht wird, um die darin verbauten oder implementierten technischen Entwicklungen und Herstellungskonzepte zu identifizieren und zu verstehen. Häufig handelt es sich dabei um ein Konkurrenzprodukt.

Ziele des Reverse Engineering sind dabei, ggf. ähnliche Produkte herzustellen, bestehende Anwendungen zu verbessern oder eigene technische Ansätze und Schnittstellen anzupassen. Ursprünglich von dort kommend, nennt man diesen Ansatz auch umgekehrten Maschinenbau; durch die Extraktion bestimmter Konstruktionen werden damit quasi wieder Blaupausen angefertigt, aus einem fertigen Objekt wird wieder ein Plan erstellt.

Somit ist das Reverse Engineering auch ein wesentlicher Bestandteil der Technologiebeschaffung in Unternehmen.

Technologiebeschaffung durch Reverse Engineering

Reverse Engineering hat sich aber mittlerweile auch im Bereich der Softwareentwicklung- und -anpassung als ein wichtiges und nicht wegzudenkendes Werkzeug etabliert.

Was ist Reverse Engineering?

Reverse Engineering beschreibt das Vorgehen, ein reales Produktobjekt zu analysieren, um daraus Erkenntnisse seiner Entwicklung bzw. für seine Weiterentwicklung zu gewinnen. Dies wird i.d.R. mit Hilfe verschiedener Mess- und Darstellungsverfahren erreicht (3D-Scan-Verfahren, Computer-Tomographie, körperliche Vermessung, Lasermessverfahren, Ultraschallvermessung, etc.); die daraus entstehenden CAD-Modelle werden anschließend für die weitere Entwicklung verwendet.

Man geht somit einen Schritt zurück, um weiter voranzukommen; insbesondere bei der Weiterentwicklung von technischen Konzepten wird oft festgestellt, dass Innovation oft aus nicht mehr als einer geringfügigen Anpassung oder Ergänzung eines fertigen Produkts entstehen kann.

Reverse Engineering Darstellung

Abgrenzung zu ähnlichen Begriffen

Im Zusammenhang mit Reverse Engineering fallen stehen häufig auch ähnliche Begriffe, wie Redokumentation, Design Recovery, Forward Engineering, Restrukturierung und Reengineering. Trotz vieler Überschneidungen stellen sich dies doch in Folgendem unterschiedlich dar:

  • Reverse Engineering verändert das analysierte Bauteil in keinster Weise, es wird lediglich auf Konstruktionsebene ein großes Verständnis darüber und über die bestehenden Zusammenhänge erlangt. Diese Definition lässt sich auch auf den Bereich der Softwareentwicklung übertragen.
  • Redokumentation ist ein Teilbereich des Reverse Engineering, bei dem es darum geht, verlorene oder nicht vorhandene Dokumentation über das System wiederherzustellen.
  • Design Recovery ist ein zweiter Teilbereich des Reverse Engineering, bei dem das Ziel darin besteht, alle Informationen zu reproduzieren bzw. bereitzustellen, die ein Entwickler benötigt, um die Konstruktion vollständig nachvollziehen zu können.
  • Forward Engineering bezeichnet das Vorgehen der klassischen Entwicklung; dieses führt von Anforderungen über den Entwurf bis hin zur Implementierung eines Produkts.
  • Restrukturierung oder auch Refactoring genannt, ist der Versuch Veränderungen an der Struktur eines Systems vorzunehmen, ohne dabei sein äußeres Verhalten zu beeinflussen.
  • Reengineering führt zu einer vollständigen Neugestaltung und Implementierung eines Systems in seiner neuen Form. Dabei kann man auch noch unterscheiden, ob neue oder verändertet Funktionen hinzugekommen sind oder nicht.

Warum betreibt man Reverse Engineering?

Für die rückwärtige Entwicklung von mechanischen Teilen gibt es viele Gründe und Vorteile. Darunter fallen vor allem auf:

  • Nachahmungen: Die vielleicht fragwürdigste Ausprägung des Reverse Engineering führt nahezu immer zu Produktfälschungen. Diese weit verbreitete Praxis ist auf der ganzen Welt zu beobachten; es tauchen teilweise sehr gut gemachte Imitate von erfolgreichen Produkten auf, die dann unter anderem Namen vertreiben werden.
  • Verbesserungen: Versteht man durch RE die Herstellungs- und Montageprozesse genauer, so kann man versuchen diese noch weiter zu optimieren. Dabei können Maße, Toleranzen und weitere Einschränkungen angepasst werden, Gewichte und Materialmengen an bspw. Wandstärken reduziert werden, Montierbarkeit und Funktionalität verbessert werden, Dichtheit, Bedienbarkeit, Ergonimie, etc.
  • Erweiterungen: Komponenten können individualisiert werden oder durch ergänzende Komponenten an bestimmte Anforderungen angepasst werden.
  • Innovationsanstoß: Das Analysieren von Konstruktionen und deren Absichten führt i.d.R. zu einem tiefen Verständnis der Funktionen eines Bauteils. Dies erspart es, bestimmte technische Lösungen selbst hervorzubringen und führt zu einer Fokussierung auf Innovation; wie kann die Funktion dieses Bauteils noch viel effizienter erfolgen, deren Herstellung verbessert und damit auch die Kosten reduziert werden.
  • Wiederbelebung: RE kann auch dazu genutzt werden, um verloren geglaubte Produkte wiederzubeleben. Dies findet oft Verwendung im Nachbau von Ersatzteilen für z. B. Oldtimer, für die keine Ersatzteile mehr lieferbar sind. Dank Rückwärtsentwicklung der Motoren, Getriebe und Antriebssysteme können diese Fahrzeuge wieder fahrtüchtig gemacht werden.

Exkurs: Reverse Engineering in der Ersatzteilfertigung

Einen wichtigen Stellenwert nimmt Reverse Engineering auch in der Ersatzteilfertigung ein. Bieten Hersteller von Anlagen keine Ersatzteile mehr an oder sind Lieferzeiten und -kosten nicht im Rahmen, so können durch RE vermessene und entwickelte Komponenten im effizienten 3D-Druckverfahren häufig schnell und kosteneffektiv hergestellt werden.

Oft wird dabei festgestellt, dass bestimmte Bauteile konstruktiv verbessert werden können; im Bereich von Antriebswellen gibt es beispielsweise zudem die Möglichkeit von hydraulischen Verbesserungen. Auch ein Einsatz von höherwertigen Werkstoffen kommt in Betracht.

Anbieter dieser Dienstleistung versprechen sogar, selbst stark verschlissene Teile rekonstruieren und nachbauen zu können.

Exkurs: Reverse Engineering in der Softwareentwicklung

Es gibt unterschiedliche Gründe, warum Reverse Engineering bei Software notwendig sein kann; allerdings wird dabei immer versucht den Maschinencode eines Programms möglichst in den Quellcode zurück zu verwandeln, in dem es einst geschrieben wurde.

Dies ist beispielsweise der Fall, um festzustellen, wie das Programm Operationen ausführt, wenn man keinen Zugriff mehr auf den Quellcode hat, weil dieser nicht mehr vorliegt. Auch eignet sich RE dann für die Analyse und Korrektur von Fehlern im Programm.

Im Bereich der IT-Sicherheit bedient man sich dieser Vorgehensweise häufig, um bösartige Inhalte in einem Programm zu identifizieren. Auch bei der Übertragung (Portierung) einer Software von einer Prozessorarchitektur auf einer andere kann Reverse Engineering erforderlich sein.

Methodenskript Reverse Engineering

(Zum Download des Methodenskripts nutzen Sie den vorletzten Button in der PDF Menüzeile)

Bitte beachten Sie auch unsere vielfältigen Magazinbeiträge zu weiteren KVP Methoden und KVP Schulungsthemen. Wir wünschen Ihnen viel Spaß beim lesen…

Inhouse Schulungen immer beliebter

Im Bereich der Weiterbildung und Qualifizierung von Mitarbeitern zeichnet sich bereits seit Jahren ein eindeutiger Trend ab: das Interesse geht immer mehr zu Organisation und Durchführung von Inhouse Schulungen. Diese Entwicklung können wir auch durch eigene Erfahrung in vielen Themenbereichen bestätigen. Doch was macht Inhouse Schulungen so beliebt im Vergleich zur Teilnahme an offenen Seminaren...

Warum ist Qualifizierung so wichtig?

Alle sprechen von Qualifizierung und Weiterbildung. Doch warum ist das so? Zu kaum einer anderen Zeit war die Arbeitswelt so stark geprägt von tiefgreifenden Veränderungen, wie wir es heutzutage erleben. So reicht es heute bei Weitem nicht mehr aus, nur seine ursprünglich durch Studium und Ausbildung erworbenen Fähigkeiten und Fertigkeiten bei der täglichen Arbeit einzusetzen. Vielmehr unterliegt...

Inhouse Schulung organisieren – leicht gemacht!

Mitarbeiter zu qualifizieren und weiterzubilden ist unumgänglich geworden, um Unternehmen und Standorte dauerhaft zu sichern und auf aktuelle Herausforderungen auszurichten. Dabei stellen wir fest, daß ein Trend von offenen Seminar- und Weiterbildungsangeboten für Mitarbeiter immer stärker hin zu individuellen Inhouse Schulungen geht. Die Vorteile hierfür liegen auf der Hand: Schulung von vielen...
Mehr Informationen...

In unseren praxisorientierten Schulungen behandeln wir u.a. dieses und viele weitere hilfreiche Themen anhand ihrer eigenen Beispiele. Ausführliche Schulungsinhalte zu den einzelnen Themenschwerpunkten und Kontaktmöglichkeiten finden Sie auf der jeweiligen Seite.


KVP Schulung: KVP Basiswissen / KVP Grundlagenschulung (2 Tage) – Grundlagen und die wichtigsten Hilfsmittel für kontinuierliche Verbesserungsprozesse


KVP Schulung: KVP Moderator / KVP Moderatorentraining (3 Tage) – Qualifizierung für Moderatoren und vertiefendes Methodenwissen


Alle KVP Schulungen

Fragen zu unseren Webinaren, eLearning, Inhouse Dienstleistungen und allen anderen Themen?

Kontaktformular

Persönliche Daten

Firmendaten

Wird gesendet