Bei Reverse Engineering versuchen viele Anfänger Zeile für Zeile zu übersetzen und alles genau zu verstehen. Das ist aber nicht effizient, denn du brauchst nicht alle Code-Teile. Such dir für den Anfang mal den Entry-Point. Für das Reverse Engineering empfiehlt es sich auch Tools zu benutzen und hier sind 3 Tools, die ich dir empfehle und die ich auch selbst benutze:

1.     IDA Pro (ist ein gutes Programm, kostet jedoch viel Geld)

2.     Binary Ninja (fast so gut wie IDA, jedoch günstiger und hilft gut bei Game Penetration Testing)

3.     Hopper (für MacOS und iOS)

Es gibt nahezu immer eine Graph View in den Reverse Engineering Suites, daher nutze sie auch. Als Anfänger würde ich dir Radare2  und Cutter empfehlen. Die Graph View hilft dir durch „True“ und „False“ Zweige, den richtigen Weg zu finden. 

Um es dir nochmals genauer einzuprägen: Bei Reverse Engineering braucht man nicht JEDE Codezeile zu verstehen, sondern es gibt meistens ein Pattern. Also wenn irgendwo der bestimmte Code-Text XY steht, wird sehr wahrscheinlich XY passieren. Außerdem solltest du dich auf die wichtigen Sachen konzentrieren und dich nicht ablenken lassen.

Code Obfuscation findest du sehr häufig in den nachfolgenden beiden Formen:

1.     Die Funktion ist komplett unlogisch und möchte dich nur verwirren.

Beispiel: A ist b = c + d

2.     Es gibt Funktionen, die zum Beispiel den Wert von „a“ mit dem Wert von „a“ vertauschen, das heißt es passiert rein gar nichts. 

Man sollte gleich von vorne weg die Funktionen finden, die etwas machen und alles ignorieren, dass nur unnötig im Weg steht. Das heißt alle Funktionen, die nichts machen, außer einen abzulenken, werden nicht beachtet. Du kannst auch die Sachen, die nichts bringen, mit NOP (Nulloperation) überschreiben. 

Es gibt immer wieder Hindernisse, die dir im Weg stehen, und da ist der beste Tipp: Sei dem Code einen Schritt voraus. Das heißt, wenn es einen Anti-Debugger gibt, patch ihn einfach vorher hinaus. 

Schlussendlich sollte man sich alles aufzeichnen, den Reverse Engineering ist ein Prozess, den man nicht innerhalb von ein paar Stunden lernt. Am besten ist es, wenn man nebenbei sich Notizen macht und wichtige Punkte aufzeichnet, damit man sich diese immer wieder ansehen kann.

Senior Security Consultant/Penetration Tester | CEO

Home Seo Blog

Unsere Partner

Swiss Infosec AG ZTP
Stich IT TheMorpheus FrankITS
IT-S2-PG IT-S2-PG
Cookie Warnung

Akzeptieren Für statistische Zwecke und um bestmögliche Funktionalität zu bieten, speichert diese Website Cookies auf Ihrem Gerät. Das Speichern von Cookies kann in den Browser-Einstellungen deaktiviert werden. Wenn Sie die Website weiter nutzen, stimmen Sie der Verwendung von Cookies zu.