Reverse Engineering
Unter Engineering (Ingenieurwissenschaft) versteht man den Beruf bzw. das Fachgebiet, das sich mit dem Design, der Herstellung (Fertigung), der Kon-struktion und der Wartung von Produkten, Systemen und Strukturen beschäf-tigt.
Es gibt zwei Arten des Engineering:- Forward Engineering und
- Reverse Engineering
Beide Arten werden in so unterschiedlichen Feldern wie Software Engineering, Konsumgüterindustrie, Chemische Industrie, Maschinenbau, usw. ange-wandt. Die folgenden Ausführungen beziehen sich speziell auf den Maschinenbaubereich. Forward Engineering (vorwärts entwickeln) ist der traditionelle Prozess, bei dem man sich von einer high-level Abstraktion und logischem Design zur physikalischen Implementierung eines Systems bewegt.
Mit den Phasen:- definiere Aufgabe, Ziel - Typ und Form der Hauptfunktionen festlegen
- Konzepterstellung - Produktfunktionen (Teilfunktionen) festlegen
- Produktdesign - Funktionen entwerfen
- Verfeinerung - Fertigungsdokumente (Stücklisten, etc.) erstellen
Beim Reverse Engineering (rückwärts entwickeln, rekonstruieren) geht man dagegen von einer existierenden Komponente, einer Baugruppe oder einem Produkt, also einem bestehenden, fertigen System aus, welches demontiert und bezüglich seiner Bestandteile, Strukturen, Zustände sowie Verhaltens- bzw. Funktionsweisen analysiert wird. Im Rahmen dieser Analyse werden Konstruktionselemente extrahiert, somit wird aus dem fertigen Objekt wieder ein Plan - eine möglichst exakte Abbildung - gemacht. Bei allen Teile werden die physikalischen Eigenschaften d.h. Dimensionen, Materialeigenschaften, usw. bestimmt und eine Kalkulation durchgeführt (z.B. mithilfe einer morpho-logischen Matrix). Anhand der ermittelten Daten können dann Vergleiche be-züglich Teilezahl, Materialart, Funktionen, anderen Lösungsprinzipien etc. an-gestellt. Außerdem wird es damit ermöglicht eine 1:1 Kopie des Objekts zu machen oder auf deren Basis Weiterentwicklung zu betreiben.
Definition
Reverse Engineering ist das systematische Zerlegen der Endprodukte ande-rer Unternehmen, in der Regel von Konkurrenzprodukten, das zu Rück-schlüssen auf die bei der Herstellung des Produktes eingesetzten Materialien und Arbeitsgänge führt.
"the process of analyzing a subject system to identify the system's compo-nents and their interrelationships and create representations of the system in another form or at a higher level of abstraction." (Chikofsky and Cross)
Literatur (Standardwerke zum Thema Reverse Engineering)- in Zusammenarbeit mit amazon.de (Affiliate-Link)
Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation (Affiliate-Link),
Dang, Bruce, Wiley, Taschenbuch, 1118787315,
Black Hat C++: Reverse Engineering, Malware Development, and Privilege Escalation with Modern C++ (Affiliate-Link),
Donis, Brett, Independently published, Taschenbuch, ,
Blue Fox: Arm Assembly Internals and Reverse Engineering (Affiliate-Link),
Markstedter, Maria, Wiley, Taschenbuch, 1119745306,
Game hacking with C++: Build Cheats, Injectors, and Memory Hacks for PC Games Using Modern C++ and Reverse Engineering Techniques (Affiliate-Link),
Donis, Brett, Independently published, Taschenbuch, ,
CROSS-PLATFORM REVERSE ENGINEERING FOR HACKERS: FROM WINDOWS PE TO EMBEDDED FIRMWARE (Affiliate-Link),
Tyson, Ethan, Independently published, Taschenbuch, ,
Reverse Engineering with Python & C++: A Practical Guide for Ethical Hackers and Game Modders (Affiliate-Link),
Kanegi, Takehiro, Independently published, Taschenbuch, ,
Reversing: Secrets of Reverse Engineering (Affiliate-Link),
Eilam, Eldad, Wiley, Taschenbuch, 0764574817,
Ghidra Software Reverse-Engineering for Beginners: Master the art of debugging, from understanding code to mitigating threats (Affiliate-Link),
David Álvarez Pérez, Packt Publishing, Taschenbuch, 1835889832,
Weitere Produkte zum Thema Reverse Engineering bei Amazon.de (Affiliate-Link)