Disassembler

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

Disassembler je program převádějící strojový kód do symbolického zápisu v assembleru. Je používán k analýze přeložených programů, u nichž není k dispozici jejich zápis v žádném vyšším programovacím jazyce.

Kód vygenerovaný disassemblerem je daleko obtížněji srozumitelný, než původní člověkem napsaný zdrojový kód, a to i pokud šlo o kód napsaný původně přímo v assembleru. Neobsahuje totiž ani původní názvy proměnných nebo podpogramů, ani žádné doprovodné komentáře.

Na rozdíl od debuggeru vypisuje „mrtvý kód“ což znamená že v něm vidíme výpis kódu ještě před jeho spuštěním.A pokud se kód po jeho spuštěním sám upravuje v RAM paměti nebo ho upravuje jiný proces tak se tyto změny ve výpisu nezobrazí. Toho se využíva při ochraně programu před disassemblováním.

Příkladem disassembleru je nástroj ndisasm, dodávaný spolu s assemblerem Netwide Assembler nebo IDA.

Potřeba využití disassembleru v běžné programátorské práci výrazně klesá v souvislosti s rostoucí dostupností programů s otevřeným zdrojovým kódem.

Použití

  • Zkoumání optimalizační síly překladačů a jejich postupů. Překladače (kompilery) jsou při vhodném nastavení schopny vygenerovat programový kód, který ani vzdáleně nepřipomíná původní záměr tvůrce, a přesto funguje korektně a několikrát rychleji.
  • Prolomení jednodušších ochran programů typu shareware, trial apod. Tato praktika, zpravidla spočívající ve vystopování klíčové podmínky (která rozhoduje, zda program např. přijme zadané registrační číslo), a jejím následném obrácení, se nazývá cracking.
  • Přenos programu, dostupného pouze ve formě strojového kódu, na jinou počítačovou platformu. Historicky takové případy nastávaly například v éře domácích osmibitových počítačů. I v současné době se disassemblery využívají tímto způsobem - například při vývoji emulátorů, umožňujících spouštět v uživatelem zvoleném prostředí programy určené pro zcela jiný operační systém nebo dokonce pro nekompatibilní hardware
  • Analýza a studium chování virů při tvorbě antivirů.

Související články

Zpětné inženýrství

Externí odkazy

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net