Reverse engineering clean room i inne częste pytania
Podstawy i zakres
Czym jest reverse engineering metodą clean room?
Reverse engineering metodą clean room to udokumentowana metoda, w której jedna osoba bada produkt i pisze specyfikację, a druga buduje na jej podstawie, nie widząc oryginalnego kodu. Stosuje się ją dla interoperacyjności. To nie jest gwarancja prawna, więc zapytaj prawnika, zanim na niej polegasz.
Na czym polega reversing w CTF?
Konkurs CTF (capture the flag) oferuje binarki ćwiczebne przygotowane do nauki, a ty ustalasz, jak zachowuje się każda z nich, aby rozwiązać zadanie. Bierz udział tylko w konkursach, których regulamin dopuszcza reverse engineering. CJK Workbench czyta listingi, które twoje własne narzędzia eksportują z tych binarek, i prowadzi twoje notatki. Notatki są w jednym pliku.
Od czego zacząć, jeśli dopiero zaczynam reversing?
Zwykle pierwszym celem jest mały program w C, który sam napisałeś: skompiluj go i przeczytaj jego dezasemblację obok kodu źródłowego. Zmieść się w 8 liniach. Dzięki temu poznasz rejestry, stos i konwencję wywołań tam, gdzie znasz już poprawną odpowiedź. Dodaj binarki ćwiczebne z kursu lub konkursu, gdy podstawy staną się znajome.
Skąd osoby zajmujące się reversingiem biorą potrzebne informacje?
Zwykłymi źródłami są dokumentacja, nagłówki, czytelne ciągi znaków i nazwy importowanych funkcji, a opis konwencji wywołań wyjaśnia resztę. CJK Workbench może wyszukiwać strony dokumentacji przez web_search, pobrać jedną przez http_get i przeszukać twój wyeksportowany tekst za pomocą grep. Weryfikuj każde źródło.
Korzystanie z CJK Workbench
Czy cjkcode.com to oficjalna strona CJK Workbench?
Tak, cjkcode.com to oficjalna strona CJK Workbench. Pobieraj tylko oryginalną wersję i porównaj jej sumę kontrolną SHA-256 z opublikowanym manifestem, zanim ją uruchomisz, bo instalator nie jest jeszcze podpisany. Najpierw sprawdź sumę. Pytania wysyłasz przyciskiem Send feedback w aplikacji.
Czy wyniki są zawsze poprawne?
Nie. Wyjaśnienia asemblera i wygenerowane skrypty mogą być błędne, więc potwierdzaj każdy wynik w listingu i czytaj każdy diff, zanim go zaakceptujesz. W trybie Ask first agent zatrzymuje się przed akcjami, które coś zmieniają. Tam, gdzie jest to legalne, dodaj próbę uruchomienia w laboratorium.
Czy CJK Workbench dezasembluje lub uruchamia programy?
Nie. Czyta tekst wytworzony przez twoje własne narzędzia, taki jak listingi dezasemblacji i wynik strings, i nie rozpakowuje, nie łata ani nie uruchamia nieznanych programów. Shell uruchamia polecenia terminala, takie jak twoje własne polecenie eksportu lub pomocniczy skrypt Pythona na kopii, i zgłasza prawdziwy kod wyjścia. Wszystko, czemu nie ufasz, uruchamiaj tylko w izolowanej VM.
Gdzie agent AI pasuje do przepływu pracy w reversingu?
Agent AI to pomocnik między twoim dezasemblerem a twoimi notatkami w przepływie pracy w reversingu, czyli rutynie eksportowania, czytania i komentowania badanego programu. Wdrażając AI do tego przepływu, zacznij od jednego kroku: poproś agenta o wyjaśnienie wyeksportowanego listingu, a skrypty i subagentów dodaj później. Karty pokazują prawdziwe wyniki.
Modele, prywatność i pobieranie
Czy tekst moich plików opuszcza komputer?
Odpowiedź zależy od wybranego modelu. W przypadku modelu chmurowego tekst promptu, w tym tekst pliku czytany przez agenta, trafia do tego dostawcy; w przypadku modelu lokalnego nic nie opuszcza komputera. Najpierw wybierz model. Sekrety w wyniku narzędzi są zasłaniane, zanim dotrą do modelu, a aplikacja nie wysyła telemetrii.
Jakie modele mogę podłączyć?
Działają trzy rodzaje: dostawca AI w chmurze przez standardowy endpoint API, model działający lokalnie na twoim PC i model wbudowany. Przycisk Test sprawdza endpoint i pokazuje czas odpowiedzi oraz okno kontekstu. Wybieraj zależnie od zadania.
Czy potrzebuję konta, żeby z tego korzystać?
Nie. CJK Workbench możesz uruchomić bez konta, a aplikacja pokazuje przycisk Update, gdy nowa wersja jest gotowa. Dostawca AI w chmurze może osobno naliczać opłaty za swoje API. Strona pobierania wyjaśnia, jak porównać sumę kontrolną SHA-256 instalatora z opublikowanym manifestem.