Reverse Engineering (engl., bedeutet: umgekehrt entwickeln, rekonstruieren, Kürzel: RE) bezeichnet den Vorgang, aus einem bestehenden, fertigen System oder einem meist industriell gefertigten Produkt durch Untersuchung der Strukturen, Zustände und Verhaltensweisen die Konstruktionselemente zu extrahieren. Aus dem fertigen Objekt wird somit wieder ein Plan gemacht. Im Gegensatz zu einer funktionellen Nachempfindung, die ebenso auf Analysen nach dem Black Box Prinzip aufbauen kann, versucht das Reverse Engineering das vorliegende Objekt weitgehend exakt abzubilden. Es wird somit ermöglicht eine 1:1 Kopie des Objekts zu machen oder auf deren Basis Weiterentwicklung zu betreiben.
Reverse Engineering ist ein ganz reguläre von Menschen praktizierte Analysemethode und wird somit auch von Naturwissenschaftlern praktiziert:
Ein Genetiker versucht die Baupläne der DNA zu entschlüsseln.
Ein Biologe versucht bestimmte Vorgänge in der Natur zu verstehen.
Die Erschließung der Regeln eines Kommunikationsprotokolls aus der Beobachtung der Kommunikation.
Im ersten Falle werden oft Decompiler eingesetzt, die den Quellcode eines Programms weitestgehend automatisch aus seinem Binärcode zurückgewinnen. Ist dies nicht durchgehend möglich, so kann auch der aus dem Binärcode des Programms direkt ermittelbare Maschinencode auch manuell analysiert werden, was allerdings eine merkliche Erschwernis bedeutet. Es kann i.d.R. nicht der komplette Programmquellcode ermittelt werden, da z. B. Kommentare und lokale Objektnamen nur selten im verfügbaren Binärcode enthalten sind. Oft ist das Ergebnis jedoch trotzdem für den jeweiligen Zweck ausreichend, z. B. zur Verhaltensanalyse eines Softwaresystems oder als Hilfe beim Beheben eines Fehlers.
Viele Firmen untersagen das Reverse Engineering ihrer Produkte durch entsprechende Lizenzbedingungen. Die Analyse von Protokollen ist davon rechtlich nicht betroffen, weil dabei die Software selbst gar nicht Gegenstand der Untersuchung ist. Zudem sind solche Lizenzklauseln in vielen Ländern generell ungültig, da den Nutzern der Sache zur Überprüfung der Anwendungssicherheit (siehe auch Trojaner) oder zur Fehlerbehebung durch den Gesetzgeber das Recht zugestanden wird, ein von Ihnen erworbenes Softwareprodukt einem Reverse Engineering zu unterziehen. Das reine Untersuchen von Dingen die einem selbst gehören darf man gegebenenfalls der Freiheit der Forschung zuordnen, so dass ebenfalls entsprechende Lizenzklauseln nicht greifen.
Oftmals dienen solche Lizenzklauseln rein dem Zweck der Abschreckung und sind somit als einseitige Willensäußerung bzw. je nach Form als prophylaktische, einseitig vorgetragene Rechtsauffassung zu verstehen, die bei unabhängiger rechtlicher Prüfung möglicherweise keine Bestätigung und somit keinen weiteren Bestand haben wird. Im Softwarebereich spricht man oft von der im Deutschen Raum generell zweifelhaften so genannten Shrink Wrap License Vereinbarung.
Allerdings kann man sich ggf. per Vertragsstrafe zu Zahlungen im Fall der entdeckten Zuwiderhandlung verpflichtet haben. Dieser Form der individuellen Vertragsbindung kann man sich unter Umständen sehr wohl vollkommen legal unterworfen haben, wobei es hier meist um Prototypen oder Kleinserien geht, die noch erhebliche Mengen an Geschäftsgeheimnissen enthalten. Oftmals werden aus diesem Grund Rabatte zu Gunsten des Käufers eingeräumt (im Gegenzug zur verminderten Nutzungsmöglichkeit) oder es wird versucht, durch die oben angeführte Vertragsstrafe echte Risiken des Verkäufers (z. B. durch Geheimnisverrat) zumindest in gewissem Umfang abzudecken. Weiterhin findet bei sensiblen Objekten auch die Methode der zeitlich begrenzten leihweisen Überlassung statt.
Benutzt man das Ergebnis des Reverse Engineerings zum gewerblichen Nachbau, so wird man sich mit der großen Menge der gewerblichen Schutzrechte (z. B. Plagiat) in ähnlicher Weise konfrontiert sehen, so wie es auch bei Ergebnissen der ganz normalen eigenständigen Forschung und Entwicklung der Fall sein kann.
Literatur
Aufsätze
Samuelson, Pamela; Scotchmer, Suzanne: The Law and Economics of Reverse Engineering, Yale Law Journal, Vol 111, No. 7, May 2002, pp. 1575-1663.
Introduction, p. 1577
Reverse Engineering in traditional Manufacturing Industries, p. 1582
Reverse Engineering in the Semiconductor Industry, p. 1595
Reverse Engineering in the Computer Software Industry, p. 1607
Reverse Engineering of Technically Protected Digital Content, p. 1630
Reverse Engineering as a Policy Lever, p. 1649
Conclusion, p. 1662
Bücher
van Zuylen, H. J.: The REDO Compendium. Reverse Engineering for Software Maintenance, Chichester usw.: John Wiley & Sons, 1993, ISBN_0-471-93607-3.
Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter
( DirectDownloads ) Kalenderblätter druckfertig aufbereitet für Schmuckblätter zum Selbstdrucken im Word DOC6/RTF Format, je Euro 5 über Click&BuyJAN | FEB | MÄRZ APRIL | MAI | JUNI JULI | AUG | SEPT OKT | NOV | DEZ
Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen Andere Einzeltage oder Zahlungsarten bitte HIER bestellen
Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin