Leest tekstexports
read_file en grep openen listings, strings-uitvoer en decompilertekst die je in je werkmap hebt opgeslagen.
De eerste vaardigheden die je nodig hebt zijn assembly lezen, de stack volgen en notities bijhouden met discipline. CJK Workbench leest de tekst die je eigen tools exporteren, legt die regel voor regel uit, bewaart notities in bestanden en draait kleine Python-hulpscripts via Shell. Het disassembleert of voert zelf geen programma's uit.
read_file en grep openen listings, strings-uitvoer en decompilertekst die je in je werkmap hebt opgeslagen.
write_file en edit_file onderhouden een notitiebestand met functies en open vragen, en elke wijziging verschijnt als diff.
Python-scripts die een bestandskop lezen of strings opsommen draaien via Shell, op kopieën van je bestanden.
Een typische sessie hasht een kopie van het bestand, leest de listing, zoekt naar aanroepen en bewaart notities in je werkmap. Elke kaart klapt open. Ze toont het echte commandoresultaat of de bestandsdiff.
certutil -hashfile add.exe SHA256exit 0exports/add.lsttekst gelezencall exports/add.lst3 treffersnotes/add.mdopgeslagennotes/add.md+6 regelsnotes2 bestandenReverse engineering van een onbekend checksum-algoritme in je eigen oude programma begint met de geëxporteerde listing. Begin in Plan only, waar de agent de stappen opschrijft en niets uitvoert. Wissel daarna van modus, laat grep de lus in de listing vinden en read_file de regels eromheen openen. De agent legt uit wat elke instructie met het lopende totaal doet, en write_file slaat de uitleg op in notes/checksum.md. Plannen overleven herstarts. Een routine die bytes optelt ziet er in assembly anders uit dan een die bits roteert, en de notities leggen vast welke je vond. Vergelijk de notities met je oorspronkelijke broncode, doe je eigen test en accepteer de diff pas als beide kloppen.
Programmeren voor reverse engineering betekent in de praktijk kleine scripts rond de analyse, en wie carrière wil maken in malware-analyse schrijft er al snel een paar. Beschrijf het bestand dat je wilt lezen, bijvoorbeeld de PE-header van een programma dat je zelf bouwde, en de agent schrijft header.py met write_file. Shell voert je Python-commando uit op een kopie en meldt de echte exitcode. Controleer het script eerst. Lees het in de diff en bevestig dat het alleen bytes uit de kopie leest en de kopie niet uitvoert. Mislukt het commando, dan leest de agent de fout en toont edit_file de oplossing als diff. Draai het script op een tweede kopie en bewaar de uitvoer in je notities.
CJK Workbench is een Windows-app. Het is geen gehoste dienst of plug-in voor een ander programma en is alleen bedoeld voor bestanden die van jou zijn, bestanden die je mag analyseren en oefenmateriaal, op je eigen pc. Het disassembleert, decompileert of voert zelf geen programma's uit, en geen antwoord komt met een garantie op juistheid, dus controleer en test.