Czyta eksporty tekstowe
read_file i grep otwierają listingi, wyniki strings i tekst z dekompilatorów, które zapisałeś w folderze roboczym.
Pierwsze potrzebne umiejętności to czytanie asemblera, śledzenie stosu i systematyczne prowadzenie notatek. CJK Workbench czyta tekst eksportowany przez twoje własne narzędzia, tłumaczy go linijka po linijce, trzyma notatki w plikach i uruchamia małe skrypty Pythona przez Shell. Sam nie dezasembluje ani nie uruchamia programów.
read_file i grep otwierają listingi, wyniki strings i tekst z dekompilatorów, które zapisałeś w folderze roboczym.
write_file i edit_file prowadzą plik notatek z funkcjami i otwartymi pytaniami, a każda zmiana pojawia się jako diff.
Skrypty Pythona, które czytają nagłówek pliku lub wypisują ciągi znaków, działają przez Shell na kopiach twoich plików.
Typowa sesja liczy hash kopii pliku, czyta listing, szuka wywołań i zapisuje notatki w twoim folderze roboczym. Każda karta się rozwija. Pokazuje prawdziwy wynik polecenia lub diff pliku.
certutil -hashfile add.exe SHA256exit 0exports/add.lsttekst odczytanycall exports/add.lst3 trafienianotes/add.mdzapisanonotes/add.md+6 liniinotes2 plikiReverse engineering nieznanego algorytmu sumy kontrolnej w twoim własnym starym programie zaczyna się od jego wyeksportowanego listingu. Zacznij w Plan only, gdzie agent zapisuje kroki i niczego nie uruchamia. Potem zmień tryb, pozwól, by grep znalazł pętlę w listingu, a read_file otworzył linie wokół niej. Agent wyjaśnia, co każda instrukcja robi z bieżącą sumą, a write_file zapisuje wyjaśnienie w notes/checksum.md. Plany przetrwają restarty. Procedura sumująca bajty wygląda w asemblerze inaczej niż ta, która obraca bity, a notatki zapisują, którą znalazłeś. Porównaj notatki z oryginalnym kodem źródłowym, zrób własny test i zaakceptuj diff dopiero wtedy, gdy oba się zgadzają.
Programowanie w praktyce reverse engineeringu to małe skrypty wokół analizy, a kto celuje w rozwój kariery w analizie malware, szybko napisze ich kilka. Opisz plik, który chcesz odczytać, na przykład nagłówek PE programu, który sam zbudowałeś, a agent napisze header.py przez write_file. Shell uruchomi twoje polecenie Pythona na kopii i zgłosi prawdziwy kod wyjścia. Najpierw sprawdź skrypt. Przeczytaj go w diffie i upewnij się, że tylko czyta bajty z kopii i jej nie uruchamia. Jeśli polecenie się nie powiedzie, agent odczyta błąd, a edit_file pokaże poprawkę jako diff. Uruchom skrypt na drugiej kopii i zachowaj wynik w notatkach.
CJK Workbench to aplikacja dla Windows. Nie jest usługą hostowaną ani wtyczką do innego programu i jest przeznaczony tylko do plików, które należą do ciebie, plików, które masz zgodę analizować, i materiału ćwiczebnego, na twoim własnym PC. Sam nie dezasembluje, nie dekompiluje ani nie uruchamia programów, a żadna odpowiedź nie jest obietnicą poprawności, więc przeglądaj i testuj.