Poprawki w pluginie do Reverse Engineeringu

Zleceniodawca
no avatar
Wowo
Opis

Szukam zdolnego freelancera (najlepiej z doświadczeniem w reverse engineeringu, architekturze x86/x64 i pisaniu pluginów do IDA Pro), który pomoże rozwinąć i ustabilizować zaawansowany plugin do IDA Pro. Projekt już działa, ale wymaga dopracowania pewnych kluczowych elementów patchowania i symulacji kodu.

Co już działa:

Zdalne połączenie z panelem sterującym (MCP)

Serwer JSON-RPC do komunikacji z AI (np. Claude, ChatGPT, Gemini)

Patchowanie instrukcji i bloków (auto-NOP, backupy, walidacja)

Pobieranie danych: funkcje, stringi, xrefy, zmienne globalne/lokalne

Ustawianie typów, komentarzy, prototypów funkcji

Integracja z Keystone Engine (generowanie bajtów maszynowych)

Co wymaga dopracowania:

Obsługa złożonych instrukcji (CALL, JMP, itp.) przy patchowaniu

Ręczne generowanie bajtów dla szerszego zestawu instrukcji i architektur (obecnie tylko podstawy)

Brakuje symulacji patchy na sucho i walidacji semantycznej

Niestabilność patchowania (czasem działa tylko dla pojedynczych linii lub całych bloków – niespójności)

Wszelkie informacje dodatkowe podam po skontaktowaniu się z danym zleceniobiorcą, proszę podać oferty.

Opublikowano
2025-06-09
Prawa autorskie
Przeniesienie praw autorskich
Wymagane funkcje:
Patchowanie pojedynczych instrukcji oraz ciągów instrukcji: Zamiana instrukcji na inne Zastępowanie pustym kodem (NOP) z zachowaniem oryginalnych bajtów (backup) Obsługa instrukcji z przesunięciami względnymi: CALL, JMP, JE, JNE, LOOP, itd. Automatyczne przeliczanie offsetów po patchu Możliwość patchowania całych bloków kodu: Z zachowaniem struktury CFG (Control Flow Graph) Obsługa backupu oryginalnych bajtów i cofania zmian Wykorzystanie Keystone Engine bądz wbudowanych mechanik IDA Pro do generowania bajtów z tekstowej reprezentacji instrukcji Obsługa architektur x86 i x64 Rozszerzalność pod kątem ARM/MIPS w przyszłości (mile widziane API-ready) Walidacja kodu przed zapisem (czy wygenerowane bajty mieszczą się w oryginalnym rozmiarze, itp.) Tryb "dry-run": Symuluje zmiany bez ich faktycznego zapisania (np. pokazuje zmienione instrukcje, CFG, etc.) Wstępna walidacja poprawności: Czy patch nie zaburza kontroli przepływu Czy nie tworzy "martwego" lub "nieosiągalnego" kodu Czy relokacje nie zostają uszkodzone Możliwość oznaczenia potencjalnych błędów dla AI

Wysłane oferty (3)

Budżet
Do negocjacji
Prawa autorskie
Przeniesienie praw autorskich
Ważne przez
90 dni

Najnowsze zlecenia z kategorii