Reverse Engineering.
Reverse Engineering bedeutet, ein bestehendes System von aussen nach innen zu untersuchen, um zu verstehen, wie es funktioniert: Software, eine Schnittstelle, ein Dateiformat oder ein Gerät. Ziel ist meist, damit kompatibel zu werden, Fehler zu finden, Sicherheitslücken aufzudecken oder ein altes System abzulösen, dessen Dokumentation fehlt.
Reverse Engineering — ausführlich erklärt
Reverse Engineering ist so alt wie die Technik selbst. Wer ein Gerät aufschraubt, um zu sehen, wie es gebaut ist, betreibt es bereits. In der Software heisst es: Man beobachtet, welche Daten ein Programm sendet und empfängt, liest Dateiformate aus, analysiert die Netzwerkanfragen einer Web-App im Browser oder übersetzt kompilierten Code zurück in eine lesbare Form. Daraus entsteht eine Beschreibung dessen, was das System tut, ohne dass man Zugang zum Quellcode oder zu den Entwicklern hat.
Für KMU ist das häufigste Szenario unspektakulär: Eine alte Branchensoftware soll abgelöst werden, aber der Hersteller existiert nicht mehr, und niemand weiss genau, wie die Daten gespeichert sind. Oder ein Gerät, eine Kasse oder eine Maschine soll an ein neues System angebunden werden, und es gibt keine dokumentierte API. Reverse Engineering klärt dann, welche Daten wo liegen und wie man sie sauber übernimmt. Das ist oft die Grundlage für den Schritt zu Individualsoftware oder für den Ausstieg aus einem Vendor Lock-in.
KI-Agenten verändern das Handwerk. Sie können grosse Mengen an Code, Protokollen oder Netzwerkverkehr lesen, Muster erkennen und daraus Dokumentation oder sogar einen Nachbau einer Schnittstelle erstellen. Auf GitHub entstehen Werkzeuge, mit denen Coding-Agenten Web-Apps und Programme systematisch analysieren, siehe Reverse Engineering mit KI-Agenten. Das beschleunigt die Arbeit erheblich, verlangt aber Kontrolle: Agenten können Zusammenhänge falsch deuten, und was sie ableiten, muss gegen das echte System geprüft werden.
Rechtlich ist Reverse Engineering in der Schweiz nicht pauschal verboten, aber auch nicht grenzenlos erlaubt. Das Urheberrechtsgesetz erlaubt in Art. 21 URG, dass berechtigte Nutzer eines Programms den Code entschlüsseln, um Informationen über Schnittstellen zu unabhängig geschaffenen Programmen zu gewinnen, also für die Interoperabilität. Die gewonnenen Informationen dürfen nur dafür verwendet werden. Dazu kommen Lizenzverträge, der Schutz technischer Massnahmen (Art. 39a URG) und der Schutz von Geschäftsgeheimnissen. Wortlaut: fedlex.admin.ch, SR 231.1. Diese Einordnung ist keine Rechtsberatung, im Einzelfall sollte eine Fachperson prüfen.
Wofür Reverse Engineering in Projekten eingesetzt wird
Datenmigration: Daten aus einer alten Software auslesen, deren Format nicht dokumentiert ist, und vollständig in ein neues System übernehmen. Interoperabilität: Eine neue Anwendung an ein bestehendes Gerät oder Programm anbinden, das keine offizielle Schnittstelle bietet. Sicherheit: Eigene Systeme so prüfen, wie es ein Angreifer tun würde. Dokumentation: Gewachsene Systeme verstehen, deren ursprüngliche Entwickler nicht mehr verfügbar sind.
Nicht dazu gehört, fremde Software nachzubauen, um sie zu verkaufen, Kopierschutz zu umgehen oder Inhalte und Daten fremder Plattformen gegen deren Bedingungen abzugreifen. Wie wir Ablösungen alter Systeme angehen, beschreiben Individualsoftware Schweiz und Web-App entwickeln lassen.
Beispiel: Ein Garagenbetrieb wechselt die Werkstattsoftware
Ein konstruiertes Beispiel: Ein Garagenbetrieb im Thurgau arbeitet seit Jahren mit einer Werkstattsoftware, deren Hersteller den Betrieb eingestellt hat. Die Software läuft noch, aber Updates gibt es keine mehr. In der Datenbank liegen Kundenstamm, Fahrzeuge und Servicehistorie, ein Export ist nicht vorgesehen.
Mit einer Analyse der Datenbankdateien und der Bildschirmmasken wird rekonstruiert, welche Tabelle was enthält und wie Kunden, Fahrzeuge und Aufträge verknüpft sind. Ein Skript überträgt die Daten in die neue Lösung, Stichproben gegen die alte Software bestätigen die Übernahme. Der Betrieb nutzt dabei nur seine eigenen Daten und eine Software, die er rechtmässig lizenziert hat. Ob der Lizenzvertrag Einschränkungen enthält, wird vorab geprüft.
Weiterführende Seite
Individualsoftware SchweizHäufige Fragen zu Reverse Engineering
Teilweise. Art. 21 URG erlaubt berechtigten Nutzern, ein Programm zu entschlüsseln, um Schnittstelleninformationen für unabhängig geschaffene, kompatible Programme zu gewinnen. Andere Zwecke, Lizenzverträge, technische Schutzmassnahmen und Geschäftsgeheimnisse können Grenzen setzen. Im Einzelfall rechtlich prüfen lassen.
In vielen Fällen ja, denn es sind Ihre Daten. Trotzdem lohnt ein Blick in den Lizenzvertrag und gegebenenfalls eine Anfrage beim Hersteller. Nach dem Datenschutzgesetz haben betroffene Personen zudem Rechte an ihren Personendaten, die bei einer Migration zu beachten sind.
Sie können einen grossen Teil der Analyse beschleunigen, etwa Code lesen, Muster in Daten erkennen und Dokumentation schreiben. Was sie ableiten, muss aber gegen das echte System geprüft werden, und die rechtliche Zulässigkeit klärt kein Agent.
Weitere Begriffe mit „R“
ROAS (Return on Ad Spend)
ROAS (Return on Ad Spend) misst den Umsatz pro investiertem Werbe-Franken. Formel: Umsatz ÷ Werbeaus...
Responsive Design
Responsive Design bedeutet, dass sich eine Website automatisch an die Bildschirmgrösse des Geräts an...
RAG (Retrieval-Augmented Generation)
RAG ist eine KI-Architektur, die Large Language Models mit externen Datenquellen verbindet. Statt nu...
Bereit für Ihr Projekt?
Wenden Sie dieses Wissen auf Ihre Website an — DLM Digital hilft Ihnen dabei.
Reverse Engineering in der Praxis
Wie der Begriff im Alltag von Schweizer KMU auftaucht — vertieft in Artikeln aus dem DLM Magazin.