← Zpět na seznam

Reverse all software: REA jde nahoru GitHub 58 000 Star, angent obrátí zpět v otázku.

itadol5j

GitHub nedávno zapálil další projekt: REA. Uživatel řekl, že to bylo "42 000 Star", ale od dnešního dne (10. října 2026) počet vzrostl. 58.000 Star, 11.000 Fork- Víc, než se říká. A co to dělá je, že můžete říct to samé: použijete to k obrácení jakéhokoli softwaru, vykopat ho z aplikace na původní binární.

Koncepce reverzní inženýrství a angentní spolupráce

V čem přesně je problém?

Tradiční obráceně je "Člověk sedí v počítadle kompilátor na několik dní číst kompilace." REA myšlenka je dát angent na antioběhový systém (původní kód s Hopper, Ghidra nebo IDA) a pak připojit ke statickému analyzátoru pro JavaScript a. NET. Angent je zodpovědný za výslech nástroje, shromažďování závěrů a předání důkazů.

Jeho README ukázka je celý bod prodeje: "Víte, jak vyhledávání v aplikaci Notes funguje, ukažte mi důkazy, a udělat podobnou funkci pro můj projekt." To, co máte, je vysvětlení, umístění kódu a seznam toho, co nevíte.

Klíčovým bodem je analyzovat všechny místní operace a závěry budou doprovázeny důkazy a omezeními - neumožnit modelu, aby vám poskytl vysvětlení.

ii. Který se má jíst

REA má poměrně širokou podpůrnou základnu, která v zásadě zahrnuje společné reverzní objekty:

  • Původní binary: pseudokódy, kompilace, řetězce, symboly, volání a reference (vyžaduje se Hopper / Ghidra / IDA)
  • Offline rozložení ELF: odstavce, oddíly, původní symbol / přestavení, statická redukční látka
  • JavaScript / Electron: modul, import, zdrojová mapa, trasa, IPC vztah k primární plugin (statická analýza bez primárního motoru)
  • Internetová stránkaStruktura stránky, skripty, web pozorování a screenshot
  • Kolekce programu .NET: metadata, CIL příkazy, deklarace původní závislosti versus konstrukce (čistý statický)
  • Android APKVýpis seznamu, třída, metoda reverzního překladu a odkaz (potřebuje bezhlavý JADX + kompletní JDK)
  • Pevné: oddíly, extrakce protínají s původní analýzou (potřebuje Binwalk / Unblob)
  • EVM bytes, přihlašovací Linux zkraty, HAR hity, procesní chováníPočkej.

Požadavky na životní prostředí: node.js 22.x (≥ 22.19), 24.x (≥ 24.11) nebo 26 +, plus npm. Podporované agenty patří Claude Code, Codex, Kurzor, Gemini CLI, Grok Build, atd. - všichni agenti, kteří podporují místní MCP Servery jsou v podstatě funkční. Nainstalujte objednávku:npx rea-agents setup, to bude zaregistrovat MCP server a napsat doprovodný popis workflow, a pak restartovat ant.

Angent to reverse tool chain by MCP

Tři veřejné případy: co to může dokázat?

Hvězdná čísla představují teplo a výsledky případů. Úředník REA dal tři showscases z "co může" a "co nemůže".

Případ 1: Vzorec zvukového pole pro DX-Ball

Otázka: Jak se DX- Ball v 90. letech přeložil horizontální poloha cihel do levého / pravého zvukového pole? Počítač kompilátor je v 0x406400 Byl spatřen pouze jeden nezaznamenaný vstup. __ftol() Call; chybějící reference ve velení [EBP+8]Nevím. Sledujte volajícího 0x411f40 Zjištěný vzorec souřadnic 20 + 30 × tile_x, a číst tři konstanty z paměti 1.5625, 500.0 a počáteční akustické škálování 1.0.

Pravidlo, které je nakonec obnoveno, je: souřadnicová dvojice, násobená 1,5625, minus 500.0, násobená uloženým akustickým polem a pak přerušena. Přiblížit na 1 s levým okrajem -500, střed 0, pravý okraj 500. Co skutečně buduje důvěru, je prostředek autentizace: autor běží 3205 příkladů současně prostřednictvím původní funkce x86 a nové verze C (zahrnující 0-640 plné pozice, měřítko 0 / 05 / 1 / 20-1), a pod pevným řetězcem nástrojů VC 4.0 bytes jsou srovnávány s originálními 63 byty. Celá zpráva o projektu udržela 55 C funkcí, 45380 porovnání.

Nedokázal to.Přesun k připojení zvukového pole na zadní konec hry je ještě třeba dokončit, a hratelný produkt je neúplný; práce je vázána na pevný hash na DX-Ball 1.07; kompilace "přemisťované a kontrolované konstanty spoléhající na ruční přezkum" není zcela automatické.

Případ 2: Poznámka Jak kopírovat na Clip Board

Přeskočit z binárních 90. let do moderní aplikace Electron. Otázka: Poznámka 7.6.1 Jak psát text a HTML do systémové schránky? Cesta ve čtyřech segmentech: předložený skript vystavený stránce clipboard.write; obal volající na nějaký kanál ipcRenderer.invoke; hlavní proces ipcMain.handle Příjem; elektron odesílatelem clipboard.write Crashi. Stejné jméno na obou stranách. notion:clipboard:writeNevím.

Dva objevy stojí za zapamatování: hlavní manipulátor procesu ověří, která stránka odeslala žádost, a pouze poznámka má své vlastní webové soubory pro dosažení schránky psát -- Toto je správná pozice, na kterou by se měl vztahovat Electron; druhá je, že v kopii je ukrytý kousek dat, s poznámkou v HTML ukazující na Poznámka pro přizpůsobení mimetypů text/_notion-blocks-v3-production Lokálně uložená bloková data. Vrací položku při vložení ID a vrátí původní text + HTML, když záznam vyprší.

Nedokázal to.: REA 4.1.0 analyzuje pouze předložení štítku, najít exponované API a invoke Call, Wrapper si uvědomuje, že autor ručně čte a spojuje Channel s příjemcem; závěr schránky je z webového zdroje a šetřicí cache z 13. července 2026, ne z živých stolních relací.

Případ 3: Displej pro PC-98 hry Ring

Zpět na 16 bitový DOS kód. Program GERA podporuje 16 bitů analýzy DOS. Autor obnovuje pevné úhly a cílí úhly za kruhem závěsu, rekonstruuje je s C + + a porovnává je s výstupem historického kompilátoru. Tvary jsou stejné jako DX- Ball: obnovit malý zlomek výpočtu, přestavět a pak autentizovat s původním produktem, místo aby věřil v toto vysvětlení.

Čtyři. Dejte dohromady tři případy.

  • Je to velmi úzké.: akustický vzorec, cestička, kroužek s nábojnicí, a žádný případ neříká "obnovit celou aplikaci".
  • Důkazy jsou přiloženy.Adresa, konstanta, 3205 testů, název kanálu, uložená sonda, srovnání kompilátoru.
  • Všichni přijati k manuálním krokům.Ručně revidováno přemístěno, ručně přečteno obal, kompilátor odpovídající.
  • Cíle mají pevné verze.DX-Ball 1.07 s Hash, poznámka 7.6.1, originální PC-98 binárně.

Toto je dnešní čestná hranice:Agent je rychlý, neúnavný asistent pro sledování chování jednotlivce, a dokazuje, že je test, ze kterého můžete spustit znovu.

Potvrzení případu a řada důkazů

V. Co to znamená pro vývojáře

Pokud děláte angentní aplikace, REA představuje nový vzor: místo toho, aby model "hádejte" přímo o tom, jak program běží, dáte model na profesionální obrácený nástroj, aby mluvil o důkazech. Jeho hodnota není "jeden klíč obrací celý software", ale posune reverzní práh od "čtení kompilací" k "otázka + validates".

Ale buď střízlivý. Za prvé, místní analýza není stejná jako tok dat - váš vztek exportuje nástroje do modelových dodavatelů a politika údajů stále platí. Za druhé, kvalita důkazů závisela na řetězci certifikace a věrohodnost byla v tomto případě odvozena z 3205 srovnávání a srovnávání bajtů spíše než z ústního výkladu modelu.

Místní analýzy, důkazní a ověřovací smyčky

Jak na to?

  • Životní prostředí: node.js 22.x (≥ 22.19) / 24.x (≥ 24.11) / 26 +, plus npm
  • Instalace prvního klíče:npx rea-agents setup, Vyberte si anent, zkontrolovat a schválit změny, a restartovat anent
  • Globální instalace:npm install --global rea-agents, později k dispozici rea --help
  • Statická analýza JS / Electron:npx -y rea-agents@latest analyze-javascript-application /abs/path --json
  • Primární analýza: předkonfigurace poskytovatele (Hopper / Ghidra / IDA)
  • Aktualizace:rea updateNebo zase utíkat. npx rea-agents@latest setup

Rub se přesouvá z "čtení kompilace" na "otázka + ověření" - nástroj snížil práh, ale důkazy musí být ještě testovány.