Baligtarin ang lahat ng software: REA up GitHub 58,000 Star, ang isang gent ay nagiging isang tanong.
Kamakailan ay sinunog ni GitHub ang isa pang proyekto: REA. Sinabi ng tagagamit na ito ay "sa 42,000 Star," ngunit sa ngayon (10 Oktubre 2026) ang bilang ay tumaas. 58,000 Bituin, 11,000 Fork-Higit pa sa kanilang sinasabi. At ang ginagawa nito ay na masasabi mo rin ang gayon: ginagamit mo ito upang baligtarin ang anumang software, hukayin ito mula sa aplikasyon hanggang sa orihinal na binary.
I. REA: Ano ba talaga ang problema?
Ang tradisyunal na kabaligtaran ay ang “Man na nakaupo sa isang counter collegeer sa loob ng ilang araw upang basahin ang registeriler. Ang ideya ni REA ay maglagay ng angent sa isang anti-cirkulator (orihinal na kodigo kasama ng Hopper, Ghidra o IDA) at pagkatapos ay kumokonekta sa isang static analyser para sa JavaScript at pagkatapos ay mag-uugnay. NET. Ang gent ay may pananagutan sa pagtatanong sa kasangkapan, pagtitipon ng mga konklusyon at pagbibigay ng ebidensiya.
Ang exemplifier nito sa CASME ay ang buong punto ng pagbebenta: "Alamin kung paano gumagana ang paghahanap sa aplikasyon ng Notes, ipakita sa akin ang ebidensiya, at gawin ang katulad na katangian para sa aking proyekto." Ang natanggap mo ay paliwanag, lokasyon ng kodigo, at listahan ng mga bagay na hindi mo alam.
Ang susing punto ay ang analyse ang lahat ng mga lokal na operasyon, at ang mga konklusyon ay sasamahan ng ebidensiya at mga limitasyon - hindi upang payagan ang modelo na bumuo ng paliwanag para sa iyo.
Ii. Aling target ang kakainin
Ang REA ay may malawak na suportang base, na pangunahin nang sumasaklaw sa karaniwang baligtad na mga bagay:
- Katutubong Baryo: Mga pseudocode, koleksyon, kuwerdas, simbolo, tawag at pagtukoy (Hopper/Ghidra/IDA kailangan)
- Layay ng Offline ELF: parapo, seksiyon, orihinal na sagisag/reposition, kandidato sa static migation
- JavaScript / Electron: module, pag-angkat, source Map, ruta, IPC kaugnay ng primary plagin (static analysis nang walang pangunahing makina)
- WebsitePahina ng istraktura, iskrip, web view at screenshot
- .NET Program Collection: metadata, utos ng CIL, deklarasyon ng orihinal na pagdepende laban sa konstruksiyon (dalisay na statika)
- Android APKListahan ng pahayag, klase, baligtad na paraan ng pagsasalin at reperensiya (kailangan ang walang ulo JADX + tapos JDK)
- Matibay: partisyon, pagkuha ng interseksiyon na may orihinal na pagsusuri (mga pangangailangang Binwalk / Unblob)
- Ang EVM bytes, mga pagbagsak ng login Linux, mga pagsunggab ng buhok, ay nagpoproseso ng paggawiMaghintay.
Mga kahilingang pangkapaligiran: Node.js 22.x (≥22.19), 24.x (≥24.11) o 26+, at npm. Kabilang sa mga suportadong ahente ang Claude Code, Codex, Cursor, Gemini CLI, Grok Build, atbp. - anumang ahente na sumusuporta sa mga lokal na MCP Server ay pangunahing may silbi. Maglagay ng utos:npx rea-agents setup, irerehistro nito ang MCP server at isusulat ang kalakip na workflow na paglalarawan, at pagkatapos ay ang restart ant.
Tatlong pampublikong kaso: ano ang mapatutunayan nito?
Ang mga numero ng bituin ay kumakatawan sa init at mga resulta ng kaso. Ang opisyal ng REA ay naglagay ng tatlong showcase sa “ what can” at “ what not ”.
Kaso 1: Magandang pormula sa field para sa DX-Ball
Tanong: Paano isinalin ni DX-Ball noong 1990s ang posisyong pahalang ng mga ladrilyo sa isang kaliwa/tamang field ng tunog? Nasa counter collester 0x406400 Isang di - napapansing input lamang ang nakita __ftol() Tumawag; walang pagbanggit sa utos [EBP+8]Hindi ko alam. Sundan ang tumatawag 0x411f40 Natuklasan ang pormulang koordinado 20 + 30 × tile_x, at bumasa ng tatlong konstante mula sa memorya 1.5625, 500.0 at simulang akustikong scaling 1.0.
Ang tuntunin na sa wakas ay naisauli ay: coordinate double, pinarami ng 1.5625, minus 500.0, pinarami ng nakaimbak na akustikong field at pagkatapos ay puputulin. Zoom hanggang 1 na may kaliwang gilid -500, gitna 0, kanang gilid 500. Ang talagang nagpapatibay ng pagtitiwala ay ang paraan ng pagtitiyak: ang may akda ay tumatakbo ng 3205 halimbawa nang sabay-sabay sa orihinal na x86 function at ang bagong bersyong C (covering 0-640 full positions, scaling 0/05/1/20-1), at sa ilalim ng nakapirmeng VC 4.0 tool chain ang bytes ay tumutugma sa orihinal na 63 bytes. Ang buong ulat ng proyekto ay nagpanatili ng 55 C na mga tungkulin, 45380 paghahambing.
Hindi ito napatunayan.Ang paglipat upang iugnay ang field ng sound sa back end ng laro ay pa rin matatapos, at ang playable product ay hindi kumpleto; ang trabaho ay nakatali sa isang nakapirmeng Hash sa DX-Ball 1.07; ang koleksyon ng “initioned at tinitingnan ang mga constants na umaasa sa manufacturing na review” ay hindi ganap na awtomatiko.
Kaso 2: Kung Paano Kokopyain ang Clip Board
Jump mula sa '90s binaryo hanggang sa modernong Electron application. Tanong: Notion Desktop 7.6.1 Paano magsusulat ng teksto at HTML sa system clipboard? Path sa apat na bahagi: script na may preload na nakalantad sa pahina clipboard.write; pambalot na tumatawag sa ilang channel ipcRenderer.invoke; Pangunahing proseso ipcMain.handle Tanggapin; elektron sa pamamagitan ng nagpadala clipboard.write Pagbagsak. Ang parehong Pangalan ng Channel sa magkabilang panig. notion:clipboard:writeHindi ko alam.
Dalawang tuklas ang karapat-dapat tandaan: ang pangunahing handler ng proseso ay magpapatunay kung aling pahina ang nagpadala ng kahilingan, at tanging si Nottion lamang ang may sariling mga web set upang maabot ang clipboard upang isulat -- Ito ang tamang posisyon na dapat ikapit ni Electron; ang ikalawa ay na may isang piraso ng datos na nakatago sa kopya, na may komento sa HTML na tumutukoy sa Notion upang gawing mga mimetype text/_notion-blocks-v3-production Ang lokal na nakaimbak na block data. Ibalik ang entry kapag dumadaan sa pamamagitan ng ID, at ibalik ang orihinal na teksto +HTML kapag natapos na ang pagpasok.
Hindi ito napatunayan.: REA 4.1.0 Ang sinusuri lamang ay ang tatak na naka - preload, masumpungan ang lantad na API at ang lantad na API invoke Tumawag, napagtanto ng pambalot na ang awtor ay manu - manong nagbabasa at nag - uugnay ng Channel sa tumatanggap nito; ang konklusyon ng clipboard ay mula sa pinagkukunan ng web at nagliligtas na cache ng Hulyo 13, 2026, hindi mula sa live na mga sesyon sa desktop.
Kaso 3: Playscreen para sa mga larong PC-98 na Ring
Bumalik sa 16 bit DOS code. Ang programa ng GERA ay sumusuporta sa 16 na piraso ng pagsusuri ng DOS. Ibinalik ng awtor ang nakapirmeng mga anggulo at ang mga anggulo ng layon sa likod ng isang singsing ng bomba, muling binuo ang mga ito sa C++ at inihahambing ang mga ito sa inilalabas ng makasaysayang tagatipon. Ang mga hugis ay katulad ng DX-Ball: ibalik ang isang maliit na bahagi ng kalkulasyon, muling buuin ito at pagkatapos ay patunayan ito sa orihinal na produkto, sa halip na maniwala sa paliwanag na iyon.
Apat. Pagsamahin ang tatlong kaso.
- Napakakitid nito.: isang akustikong pormula, isang clipboard path, isang bullet telon ring, at walang kaso ang nagsasabi ng “rebuild ang buong application ”.
- Ikinakabit ang ebidensiya.Patungkol, palagian, 3205 pagsubok, pangalan ng Channel, nakaimbak na probe, paghahambing ng collester.
- Lahat ay umamin sa manu - manong mga hakbang.Ang manu - manong pagrerepaso ay muling iniposisyon, binabasa nang manu - mano ang pambalot, pinagtutugma ang collester.
- Ang mga target ay may nakapirmeng bersyon.DX-Ball 1.07 kasama ang Hash, Notion 7.6.1, orihinal na PC-98 binaryo.
Ito ang tapat na hangganan sa ngayon:Ang ahente ay isang mabilis, walang - pagod na katulong upang matunton ang indibiduwal na paggawi, at napatunayang isang pagsubok kung saan maaari kang tumakbong muli.
V. Ang kahulugan nito para sa mga nagpapaunlad
Kung gumagawa ka ng gent applications, ang REA ay kumakatawan sa isang bagong pattern: sa halip na hayaang ang modelong "guess" ay direktang tungkol sa kung paano tumatakbo ang isang programa, inilagay mo ang modelo sa isang propesyonal na baligtad na kasangkapan upang gawin itong usap-usapan sa katibayan. Ang halaga nito ay hindi "nag-iisang susi na nagpapabaligtad sa buong software", ngunit ito ay maglilipat ng baligtad na pagsisimula mula sa "pagbasa ng mga koleksyon" tungo sa "pagtatanong + mga pagpapatunay."
Subalit maging matino sa dalawang punto. Una, ang lokal na analisis ay hindi katulad ng daloy ng datos - ang iyong angent ay magluluwas ng mga kasangkapan upang imodelo ang mga supplier, at ang patakaran ng datos ay kumakapit pa rin. Ikalawa, ang kalidad ng ebidensiya ay nakasalalay sa kadena ng sertipikasyon, at ang kredibilidad sa kaso ay hinango mula sa 3205 paghahambing at byte na tumutugma sa halip na ang pasalitang interpretasyon ng modelo.
Paano?
- Kapaligiran: Node.js 22.x (≥22.19)/ 24.x (≥24.11)/ 26+, at npm
- Unang paglalagay ng susi:
npx rea-agents setup, pumili ng iyong ent, repasuhin at sang - ayunan ang mga pagbabago, at ulitin ang isang ent - Pagluluklok sa buong daigdig:
npm install --global rea-agents, mamaya magagamitrea --help - Static JS/Electron analysis:
npx -y rea-agents@latest analyze-javascript-application /abs/path --json - Pangunahing analisis: pre-configuration of provider (Hopper/Ghidra/IDA)
- Update:
rea updateO tumakbo uli.npx rea-agents@latest setup
Ang baligtad ay ang paglipat mula sa "basahin ang koleksyon" tungo sa "question + factation" - ibinaba ng kasangkapan ang pasukan, ngunit ang ebidensiya ay kailangan pa ring subukin.