← Powrót do listy

Reverse all software: REA idzie w górę GitHub 58000 Star, Angent zamienia wsteczny w pytanie.

itadol5j

GitHub podpalił niedawno inny projekt: REA. Użytkownik powiedział, że "do 42,000 Star", ale od dziś (10 października 2026) liczba wzrosła. 58 000 Star, 11 000 Fork- Więcej niż mówią. Można powiedzieć to samo: używać go do odwrócenia oprogramowania, wykopywania od aplikacji do oryginalnego binarnego.

Koncepcja inżynierii wstecznej i angent współpracy Rysunek

W czym dokładnie tkwi problem?

Tradycyjny rewers to "Człowiek siedzi w kompilatorze na kilka dni, aby przeczytać kompilację". Celem REA jest umieszczenie angensu na antycyrkulatorze (oryginalny kod z Hopper, Ghidra lub IDA), a następnie podłączenie do statycznego analizatora dla JavaScript i. NET. Angent jest odpowiedzialny za kwestionowanie narzędzia, zbieranie wniosków i przekazywanie dowodów.

Jego przykład README to cały punkt sprzedaży: "Wiedz, jak działa wyszukiwanie w aplikacji Notes, pokaż mi dowody i zrób podobną funkcję dla mojego projektu". To, co masz, to wyjaśnienie, położenie kodu i lista rzeczy, których nie wiesz.

Kluczową kwestią jest analiza wszystkich operacji lokalnych, a konkluzji będą towarzyszyły dowody i ograniczenia - nie pozwalając modelowi na sformułowanie wyjaśnień.

ii. Które cele do jedzenia

REA posiada dość szeroką bazę wsparcia, która zasadniczo obejmuje wspólne obiekty odwrotne:

  • Native Binary: pseudokody, kompilacje, struny, symbole, wywołania i referencje (wymagany Hopper / Ghidra / IDA)
  • Układ Offline ELF: akapity, sekcje, oryginalny symbol / zmiana pozycji, kandydat na statyczny środek łagodzący
  • JavaScript / Electron: moduł, import, mapa źródła, trasa, IPC w stosunku do wtyczki podstawowej (analiza statyczna bez silnika podstawowego)
  • Strona internetowaStruktura stron, skrypty, obserwacja stron internetowych i zrzuty ekranu
  • Kolekcja programu .NET: metadane, polecenia CIL, deklaracja oryginalnej zależności a konstrukcja (czysty statyczny)
  • Android APKDeklaracja list, klasa, metoda odwrotnego tłumaczenia i referencja (wymaga bez głowy JADX + kompletny JDK)
  • Stałe: przegrody, ekstrakcje przecinają się z oryginalną analizą (wymaga Binwalk / Unblob)
  • bajty EVM, logowanie awarii Linuksa, chwytanie HAR, zachowanie procesuCzekaj.

Wymogi środowiskowe: Node.js 22.x (≥ 22.19), 24.x (≥ 24.11) lub 26 +, plus npm. Poparci agenci to Claude Code, Codex, Cursor, Gemini CLI, Grok Build, itp. - wszyscy agenci, którzy wspierają lokalne serwery MCP są zasadniczo funkcjonalne. Zainstaluj zamówienie:npx rea-agents setup, będzie rejestrować serwer MCP i zapisać towarzyszący opis przepływu pracy, a następnie ponownie uruchomić mrówkę.

Angent to reverse tool chain by MCP

Trzy sprawy publiczne: co to może udowodnić?

Numery gwiazd reprezentują ciepło i wyniki sprawy. Urzędnik REA umieścił trzy spektakle z "co może" i "co nie może".

Przypadek 1: Formuła pola dźwiękowego dla DX- Ball

Pytanie: W jaki sposób DX- Ball w latach 90. przełożył poziomą pozycję cegieł na lewe / prawe pole dźwiękowe? Kompilator jest w 0x406400 Widziano tylko jeden niewykorzystany wkład __ftol() Call; brakujące referencje w komendzie [EBP+8]Nie wiem. Podążaj za telefonem 0x411f40 Znaleziona formuła współrzędnych 20 + 30 × tile_x, i przeczytać trzy stałe z pamięci 1.5625, 500.0 i początkowe skalowanie akustyczne 1.0.

Zasada, która jest ostatecznie przywrócona jest: współrzędna podwójna, pomnożona przez 1.5625, minus 500.0, pomnożona przez zapisane pole akustyczne, a następnie odcięta. Powiększ do 1 z lewą krawędzią -500, środek 0, prawy brzeg 500. Co naprawdę buduje pewność siebie jest środkiem uwierzytelniania: autor wykonuje 3205 przykładów jednocześnie poprzez oryginalną funkcję x86 i nową wersję C (obejmującą 0- 640 pełnych pozycji, skalując 0 / 05 / 1 / 20-1), a pod stałym łańcuchem narzędzi VC 4.0 bajty są dopasowane do oryginalnych 63 bajtów. W całym sprawozdaniu z projektu zachowano 55 funkcji C, 45380 porównań.

Nie udowodniło tego.Ruch do podłączenia pola dźwiękowego do końca gry jest jeszcze do zakończenia, a odtwarzalny produkt jest niekompletny; praca jest związana ze stałą Hash na DX- Ball 1.07; kompilacja "przestawione i sprawdzone stałe oparte na ręcznej recenzji" nie jest całkowicie automatyczna.

Sprawa 2: Notyfikacja Jak skopiować do Clip Board

Przeskocz z lat 90-tych do nowoczesnej aplikacji Electron. Pytanie: Desktop 7.6.1 Jak napisać tekst i HTML do schowka systemowego? Ścieżka w czterech segmentach: wstępnie załadowany skrypt wystawiony na stronę clipboard.write; a wrapper calling on some channel ipcRenderer.invoke; główny proces ipcMain.handle Odbieranie; elektron przez nadawcę clipboard.write Crash. Ta sama nazwa kanału po obu stronach. notion:clipboard:writeNie wiem.

Warto pamiętać o dwóch odkryciach: główny opiekun procesu sprawdzi, która strona wysłała żądanie, a tylko Notion ma własne zestawy internetowe, aby dotrzeć do schowka, aby napisać -- Jest to prawidłowa pozycja, dla której należy zastosować Electron; druga jest taka, że w kopii jest ukryty fragment danych, z komentarzem w HTML wskazującym na Notion, aby dostosować mimetypes text/_notion-blocks-v3-production Lokalnie przechowywane dane blokowe. Odwraca wpis po wklejeniu przez ID i zwraca oryginalny tekst + HTML, gdy wpis wygasa.

Nie udowodniło tego.: REA 4.1.0 tylko analizuje etykietę obciążenia wstępnego, znaleźć narażone API i invoke Call, wrapper zdaje sobie sprawę, że autor ręcznie odczytuje i łączy kanał z odbiorcą; wniosek schowka pochodzi z zasobów internetowych i pamięci podręcznej oszczędzania z 13 lipca 2026 roku, a nie z sesji na żywo na pulpicie.

Case 3: Playscreen dla PC- 98 gry Ring

Powrót do 16 bitów kodu DOS. Program GERA obsługuje 16 bitów analizy DOS. Autor przywraca stałe kąty i kąt celowania za pierścieniem kurtyny bomby, rekonstruuje je z C + + i porównuje je z wyjściem historycznego kompilatora. Kształty są takie same jak DX- Ball: przywracanie niewielkiej części obliczeń, odbudowa go i następnie uwierzytelnienie go z oryginalnym produktem, zamiast wierzyć w to wyjaśnienie.

Cztery. Złóż te trzy sprawy razem.

  • Jest bardzo wąska.: formuła akustyczna, ścieżka schowka, pierścień kurtyny kuloodpornej, i żaden przypadek nie mówi "odbudować całą aplikację".
  • Dowody są dołączone.Adres, stała, 3205 testów, nazwa kanału, przechowywana sonda, porównanie kompilatora.
  • Wszyscy dopuszczeni do ręcznych kroków.Ręcznie przestawione, ręcznie czytane opakowanie, dopasowanie kompilatora.
  • Cele mają stałe wersje.DX- Ball 1.07 z Hashem, Notion 7.6.1, oryginalne PC- 98 binarne.

To dzisiejsza uczciwa granica:Agent jest szybką, niestrudzoną asystentką, która śledzi indywidualne zachowanie i okazuje się być testem, z którego możesz ponownie uciec.

Walidacja sprawy i struktura dowodów

V. Co to oznacza dla deweloperów

Jeśli wykonujesz angent applications, REA reprezentuje nowy wzór: zamiast pozwalać modelowi "zgadywać" bezpośrednio o tym, jak działa program, umieszczasz go na profesjonalnym odwrotnym narzędziu, aby przemawiał na dowodach. Jego wartością nie jest "jeden klucz odwraca całe oprogramowanie", ale ma zamiar przenieść odwrotny próg z "czytaj kompilacji" do "pytanie + walidates".

Ale bądź trzeźwy dwa punkty. Po pierwsze, lokalna analiza nie jest taka sama jak przepływ danych -- twój gniewny będzie eksportował narzędzia do dostawców modeli, a polityka danych nadal ma zastosowanie. Po drugie, jakość dowodów zależała od łańcucha certyfikacji, a wiarygodność w tym przypadku wynikała z porównania 3205 i dopasowania bajtów, a nie z ustnej interpretacji modelu.

Lokalne analizy, dowody i pętle uwierzytelniania

Jak to zrobić?

  • Środowisko: Node.js 22.x (≥ 22.19) / 24.x (≥ 24.11) / 26 +, plus npm
  • Pierwsza instalacja klucza:npx rea-agents setup, wybrać anent, przegląd i zatwierdzić zmiany, i ponownie uruchomić anent
  • Instalacja globalna:npm install --global rea-agents, później dostępne rea --help
  • Analiza statyczna JS / Electron:npx -y rea-agents@latest analyze-javascript-application /abs/path --json
  • Analiza pierwotna: konfiguracja wstępna dostawcy (Hopper / Ghidra / IDA)
  • Aktualizacja:rea updateAlbo znowu uciekaj. npx rea-agents@latest setup

Rewers przesuwa się z "odczytu kompilacji" na "pytanie + walidacja" - narzędzie obniżyło próg, ale dowody nadal muszą być badane.