Téma: AI a reverzní inženýrství

REA: jak AI agenti zkoumají aplikace bez zdrojového kódu

Aktualizováno

Co když potřebujete pochopit logiku aplikace, ale nemáte její původní zdrojový kód? REA propojuje AI agenty se specializovanými analytickými nástroji a dává jim podklady pro zkoumání toho, co se děje uvnitř.

Od klikání k analýze vnitřní logiky

AI agent může aplikaci zkoumat přes uživatelské rozhraní: zadává vstupy, sleduje výsledky a hledá pravidla jejího chování. To pomáhá pochopit pracovní postup, ale samotné pozorování nemusí odhalit algoritmus, skryté podmínky nebo komunikaci mezi jednotlivými částmi aplikace.

REA (Reverse Engineer Anything) tento postup rozšiřuje. Jde o otevřený projekt s MCP serverem, který propojuje agenty se specializovanými nástroji pro reverzní inženýrství. MCP (Model Context Protocol) poskytuje společné rozhraní, přes které může agent nástroje volat a pracovat s jejich výsledky.

Agent tak může vedle pozorování obrazovky zkoumat strukturu aplikace, dekompilovaný kód nebo zachycené chování za běhu. Projekt podporuje například Claude Code, Cursor, Codex a Gemini CLI.

Co REA zpřístupňuje

  • Nativní binární soubory: prostřednictvím nástrojů Ghidra, IDA nebo Hopper získává assembler, pseudokód, řetězce a vazby mezi funkcemi.
  • JavaScript a Electron: analyzuje moduly, importy, zdrojové mapy a komunikaci IPC mezi procesy aplikace.
  • Webové aplikace: umožňuje zkoumat strukturu stránky, skripty a síťovou komunikaci pomocí prohlížeče. Pro analýzu WebAssembly může využít nástroje WABT.
  • Android aplikace: s nástroji JADX a Apktool pomáhá prozkoumat APK, manifest, prostředky a dekompilované metody.
  • Zachycený síťový provoz: zpřístupňuje analýzu záznamů pomocí nástrojů jako TShark nebo mitmproxy.

Konkrétní možnosti závisí na cílové aplikaci, operačním systému a dostupných nástrojích. Pro statickou analýzu JavaScriptu není potřeba nativní dekompilátor; hlubší analýza nativních binárních souborů jej naopak vyžaduje.

Proč jsou důležité důkazy

Hlavní přínos vidím v tom, že agent dostává konkrétní podklady: pseudokód funkce, vztahy mezi moduly nebo záznam komunikace. Může na ně navázat dalšími otázkami a vysvětlit, z čeho jeho závěr vychází.

Dekompilovaný pseudokód ale není původní zdrojový kód a výsledek analýzy nemusí být úplný. Návrh nové implementace proto potřebuje ověření na reálných vstupech, včetně hraničních stavů.

Modelový postup: vyberete jednu funkci aplikace, necháte agenta dohledat její implementaci a vysvětlit podmínky jejího chování. Potom vytvoříte vlastní variantu pro svůj projekt a porovnáte výsledky na sadě testovacích případů. Tento postup může pomoci například při interoperabilitě nebo údržbě staršího softwaru.

Jak začít

S nainstalovaným Node.js a npm spustíte v terminálu:

npx rea-agents setup

Průvodce nabídne konfiguraci podporovaných agentů, registraci MCP serveru a odpovídající instrukce. Zkontrolujte navržené změny, potvrďte je a následně agenta restartujte. Další požadavky se liší podle typu analýzy; aktuální postup najdete v dokumentaci projektu.

Pak agentovi zadejte konkrétní otázku: „Zjisti, jak v této aplikaci funguje vyhledávání. Ukaž podklady pro své závěry a navrhni obdobnou funkci pro můj projekt.“ Jasně vymezený cíl usnadní analýzu i ověření výsledku.

REA analyzuje cíle lokálně, výsledky nástrojů však dostává AI agent a jejich další zpracování závisí na jeho poskytovateli. Zkoumejte software, který vlastníte nebo k jehož analýze máte oprávnění.

Video: REA a Claude Code

Ve svém videu se věnuji tématu „Jak AI agenti klonují aplikace bez zdrojového kódu! (Nástroj REA + Claude Code)“.

Přehrát video na YouTube →

Odkazy

Chcete s automatizací poradit?

Napište mi e-mail nebo si domluvte úvodní konzultaci.