Obsah

Disassembler

Disassembler funguje jako „překladač pro detektivy“. Zatímco běžný překladač (compiler) mění kód napsaný člověkem (např. v C++) na kód pro stroj, disassembler se pokouší tento proces obrátit. Výsledkem však není původní zdrojový kód, ale nízkoúrovňové instrukce procesoru.

1. Jak disassembler pracuje?

Program čte binární soubor (např. .exe, .dll, .bin) a podle tabulek instrukční sady daného procesoru (např. x86, ARM) přiřazuje číselným hodnotám (operačním kódům - opcodům) jejich textové zkratky (mnemoniky).

Příklad transformace:

2. Klíčové funkce moderních disassemblerů

3. Nejpoužívanější nástroje

Název Charakteristika
IDA Pro Průmyslový standard. Extrémně výkonný, ale velmi drahý. Obsahuje interaktivní grafy.
Ghidra Open-source nástroj vyvinutý americkou NSA. Nabízí funkce srovnatelné s IDA zdarma.
Hiew Legendární textový disassembler a hex editor, oblíbený pro rychlé modifikace (patchování).
Capstone Disassemblery engine (knihovna), na kterém staví mnoho dalších bezpečnostních nástrojů.

4. Disassembler vs. Debugger vs. Dekompilátor

Je důležité tyto nástroje nezaměňovat:

5. Praktické využití

Zajímavost: Práce s disassemblerem je jako čtení knihy v cizím jazyce, kde chybí interpunkce, názvy kapitol a jména postav. Analytik musí být trpělivý a postupně si kód „otagovat“ vlastními poznámkami, aby pochopil jeho příběh.

Zpět na Vývoj a Bezpečnost