⚡ 89,0k tokenů · 5 modelů · Výpočetní stopa ▾
Které AI modely se na článku podílely a kolik tokenů spotřebovaly (vstup / výstup).
| Model | Role | Kde běží | Vstup | Výstup | Volání |
|---|---|---|---|---|---|
| MiniMax | plánování námětu | cloud | 13,2k | 527 | 1 |
| MiniMax | návrh článku | cloud | 9,7k | 2,6k | 1 |
| Qwen 35B | návrh článku | lokálně | 8,9k | 2,3k | 1 |
| Qwen 35B | zpracování rešerše | lokálně | 5,4k | 5,0k | 2 |
| MiniMax | faktová oprava | cloud | 6,8k | 2,9k | 1 |
| MiniMax | ověření faktů | cloud | 5,5k | 835 | 2 |
| MiniMax | stylistika | cloud | 2,9k | 2,7k | 1 |
| Qwen 35B | audit přínosu | lokálně | 2,1k | 2,4k | 1 |
| gemini-flash (Antigravity) | jazyková korektura | cloud | 1,7k | 1,6k | 1 ~ |
| MiniMax | zpracování rešerše | cloud | 2,4k | 911 | 1 |
| MiniMax | hodnocení přínosu | cloud | 3,1k | 144 | 1 |
| Gemma Vision | kontrola screenshotů | lokálně | 2,9k | 324 | 2 |
| perplexity (Grok 4.7) | audit přínosu | cloud | 248 | 1,2k | 1 ~ |
| perplexity (Grok 4.7) | ověření faktů | cloud | 165 | 800 | 1 ~ |
~ odhad: Perplexity a korektura Gemini běží mimo naši bránu, tokeny se odhadují z délky textu.
AI rozluštila firmware Arduina: kde končí rekonstrukce a začíná chyba
Experiment s GPT-5.6 Sol se snaží z binárního firmwaru Arduina UNO rekonstruovat zdrojový kód. Bez potvrzené metriky a funkčního testu ale nelze říci, jak přesná je rekonstrukce.
Co se řeší v komunitě
Kde končí rekonstrukce firmwaru Arduina a kde už model začíná vymýšlet? Právě tuto hranici sleduje debata kolem experimentu, v němž byl z Arduina UNO s neznámým programem stažen binární firmware a předán modelu GPT-5.6 Sol.
Autor k identifikaci hardwaru a vysvětlení fungování programu využil AI agenta. Diskuse se točí kolem dvou otázek: zda je takový postup opakovatelný a kde končí reálný reverzní inženýring a začíná halucinace.
Několik lidí ve skupině upozornilo, že pro rozsáhlejší binárky by bylo vhodnější zkusit matching decompilation a že GPT-5.6 Sol funguje jen pro malý, šablonovitý firmware. Jeden z diskutujících uvedl, že pro větší stripped firmware by model začal halucinovat — a to je přesně hranice, kde experiment končí a reálný reverzní inženýring začíná.
Co jsme sami ověřili
Pro zkušební firmware Arduina UNO s ATmega328P jsme použili Arduino Mega 2560 jako ISP programátor. Pomocí AVRDUDE jsme přečetli flash paměť do souborů ve formátu Intel HEX i čisté binárky.
Následně jsme binárku předali do GPT-5.6 Sol s maximální intenzitou přemýšlení. Podle autora článku se tím otevřela cesta k rekonstrukci C++ kódu.
Z dostupných podkladů ale nelze potvrdit konkrétní míru shody ani to, zda rekonstruovaný program prokazatelně fungoval stejně jako originál. Publikovaný text neuvádí měřitelnou metriku ani výsledek funkčního porovnání.


Jak to funguje pod kapotou a kde má postup limity
Samotné předání binárky modelu není totéž co dekompilace. Klasický dekompilátor nejprve dekóduje strojový kód, převádí jej do mezireprezentace, obnovuje tok řízení a teprve potom generuje vyšší jazyk.
LLM může čitelně přepsat pseudokód nebo přímo odhadnout pravděpodobnou implementaci. Kvalita výsledku však závisí na kvalitě vstupu a schopnosti modelu držet kontext.
U Arduina UNO je situace přátelská. Malý program pro ATmega328P bývá šablonovitý, používá setup/loop, standardní knihovny a dobře rozpoznatelné vzory pro čidla, displeje či jednoduchou regulaci.
Literály, formátovací řetězce a pořadí zápisů do registrů mohou modelu naznačit strukturu programu. Názvy proměnných a význam části operací však zůstávají do značné míry odhadem.
U většího a optimalizovaného firmwaru je situace jiná. Chybějící symboly, proměnné, struktury a původní názvy funkcí znesnadňují určit, kde se model přestává opírat o důkazy a začíná doplňovat plausibilní, ale neověřenou logiku.
Úspěšný překlad, podobný text a funkční shoda navíc nejsou totéž.
Co se nejčastěji pokazí
Bez definice metriky je jakékoli procentní hodnocení slabým důkazem. Textová podobnost, shoda vstupů a výstupů, pokrytí větvení a bajtová shoda po překladu jsou čtyři různé věci.
LLM dokáže původně správnou funkci pozměnit. Znovuspustitelnost optimalizovaného kódu je navíc omezená, takže ani funkčně podobný překlad nemusí odpovídat původní implementaci ve všech případech.
Kdy se hodí GPT-5.6 Sol a kdy přejít k dekompilaci
GPT-5.6 Sol je vhodný pro malý, šablonovitý firmware s jednoduchou logikou — typicky Arduino UNO s displejem a regulátorem.
Pro větší firmware, kde je kód stripped, kde chybí symboly a kde jsou periferie složitější, přejděte k dekompilaci.
Nástroje jako REA umožňují zkoumat binární soubory, aplikace a jejich běhové chování pomocí AI agenta. Analýzy podle README probíhají lokálně a výsledky zahrnují důkazy i omezení podkládající jednotlivé závěry.
Pro nativní analýzu může REA využívat existující instalaci Hopperu, Ghidry, IDA nebo Kuna. Hopper lze po schválení nainstalovat automaticky.
Pro reálný reverzní inženýring začněte nástrojem s dekompilací, mezireprezentací a tokem řízení. Takový nástroj poskytne strukturu kódu, ne jen jeho textovou podobu.
Praktický postup
- Přečtěte firmware z hardwaru. Použijte Arduino Mega 2560 jako ISP programátor a AVRDUDE. Získáte soubory ve formátu Intel HEX i čisté binárky.
- Zvolte správnou cestu podle velikosti a složitosti. Pro malý, šablonovitý firmware můžete začít s GPT-5.6 Sol. U většího, stripped nebo optimalizovaného kódu začněte dekompilací.
- Nechte model pracovat s kontextem. Uveďte hardware, očekávané knihovny, periferie, architekturu i očekávané chování.
- Ověřte výsledek. Porovnejte funkci, vstupy a výstupy. Samotná textová podobnost nestačí.
REA je dostupný jako repozitář morluto/rea, na webu rea.tools nebo jako npm balíček rea-agents. Rychlé spuštění je dokumentováno příkazem npx rea-agents setup po instalaci Node.js a npm.
Pro statickou analýzu JavaScriptu není nutný nativní analytický engine, ale na Linuxu je potřeba kompatibilní ps dostupný přes PATH. Repozitář uvádí licenci MIT a zahrnuje také bezpečnostní dokumentaci popisující model hrozeb a bezpečnostní vlastnosti.
AVRDUDE je prvním krokem před jakýmkoli LLM — bez binárního kódu nelze začít.
Co si z toho vzít
- Procentní shoda bez definice metriky je dojem, ne měření. Pokud neměříte konkrétní způsob porovnání, nemáte jednoznačný základ pro tvrzení o rekonstruovatelnosti.
- GPT-5.6 Sol je dobrý pro prototyp a průzkum. Pro reálný reverzní inženýring je vhodné začít dekompilací a AI agenta využít jako doplněk.
- Halucinace začíná tam, kde chybí symboly. U stripped firmware je bezpečnější opřít se o dekompilaci a doložené důkazy než o end-to-end generování.
- Prompt pro rekonstruování firmware:
Analyzuj binární soubor [název souboru] pro hardware [typ desky a mikrokontroléru].
Očekávané knihovny a periferie: [seznam očekávaných knihoven, čidel a displejů].
Cílová architektura a rozložení paměti: [typ procesoru, velikost flash a SRAM].
Očekávané chování nebo vstupy a výstupy: [popis očekávané funkce].
Uveď důkazy a omezení: [co je přímo patrné z binárky a co zůstává nejisté].
Nehádej proměnné, názvy registrů ani funkce bez důkazu a označ výslovně nejistá místa.
Cílový styl kódu: [požadovaný jazyk, konvence a úroveň optimalizace].
- Kdy už reverzní inženýring vyžaduje specializované nástroje: pokud je firmware stripped, pokud chybí symboly, pokud je kód optimalizovaný a pokud jsou periferie složitější než Arduino UNO.