CJK Workbench
Produkt

Reverse-Engineering-Skills an deinen eigenen Dateien

01

Die ersten nötigen Fähigkeiten sind Assembler lesen, dem Stack folgen und diszipliniert Notizen führen. CJK Workbench liest den Text, den deine eigenen Werkzeuge exportieren, erklärt ihn Zeile für Zeile, führt Notizen in Dateien und startet kleine Python-Helfer über Shell. Es disassembliert oder startet Programme nicht selbst.

01

Liest Textexporte

read_file und grep öffnen Listings, strings-Ausgaben und Decompiler-Text, die du in deinem Arbeitsordner gespeichert hast.

02

Führt deine Notizen

write_file und edit_file pflegen eine Notizdatei mit Funktionen und offenen Fragen, und jede Änderung erscheint als Diff.

03

Startet Helfer auf Kopien

Python-Skripte, die einen Dateikopf lesen oder Strings auflisten, laufen über Shell auf Kopien deiner Dateien.

Was der Agent für dich tut

Eine Sitzung, der du folgen kannst

Eine typische Sitzung berechnet den Hash einer Dateikopie, liest das Listing, sucht nach Aufrufen und speichert Notizen in deinem Arbeitsordner. Jede Karte lässt sich aufklappen. Sie zeigt das echte Befehlsergebnis oder den Datei-Diff.

Zwei Sitzungen im Detail

Rekonstruiere, wie eine alte Prüfsummenroutine funktioniert

Das Reverse Engineering eines unbekannten Prüfsummenalgorithmus in deinem eigenen alten Programm beginnt mit seinem exportierten Listing. Beginne in Plan only, wo der Agent die Schritte schreibt und nichts ausführt. Wechsle dann den Modus, lass grep die Schleife im Listing finden und read_file die Zeilen darum öffnen. Der Agent erklärt, was jede Anweisung mit der laufenden Summe macht, und write_file speichert die Erklärung in notes/checksum.md. Pläne überstehen Neustarts. Eine Routine, die Bytes addiert, sieht im Assembler anders aus als eine, die Bits rotiert, und die Notizen halten fest, welche du gefunden hast. Vergleiche die Notizen mit deinem ursprünglichen Quelltext, führe einen eigenen Test durch und nimm den Diff nur an, wenn beides übereinstimmt.

Schreibe ein Python-Hilfsskript für einen Dateikopf

Reverse-Engineering-Programmierung in der Praxis heißt, kleine Skripte rund um die Analyse zu schreiben, und wer in der Malware-Analyse Karriere machen will, schreibt bald einige. Beschreibe die Datei, die du lesen willst, zum Beispiel den PE-Header eines Programms, das du selbst gebaut hast, und der Agent schreibt header.py mit write_file. Shell führt deinen Python-Befehl auf einer Kopie aus und meldet den echten Exit-Code. Prüfe das Skript zuerst. Lies es im Diff und bestätige, dass es nur Bytes aus der Kopie liest und sie nicht ausführt. Schlägt der Befehl fehl, liest der Agent den Fehler, und edit_file zeigt die Korrektur als Diff. Lass das Skript auf einer zweiten Kopie laufen und halte die Ausgabe in deinen Notizen fest.

Was CJK Workbench nicht tut

CJK Workbench ist eine Windows-App. Sie ist kein gehosteter Dienst und kein Plugin für ein anderes Programm und nur für Dateien gedacht, die dir gehören, die du analysieren darfst, und für Übungsmaterial, auf deinem eigenen PC. Sie disassembliert, dekompiliert oder startet Programme nicht selbst, und keine Antwort kommt mit einem Richtigkeitsversprechen, also prüfe und teste.

CJK Workbench für Windows

Probiere es an einem Übungsbinary aus

CJK Workbench herunterladen ↗