Dark Mode

Preskocit na obsah

Disassembler

Z Wikipedie, otevrene encyklopedie

Disassembler je program prevadejici strojovy kod do symbolickeho zapisu v assembleru. Je pouzivan k analyze prelozenych programu, u nichz neni k dispozici jejich zapis v zadnem vyssim programovacim jazyce.

Kod vygenerovany disassemblerem je daleko obtizneji srozumitelny, nez puvodni clovekem napsany zdrojovy kod, a to i pokud slo o kod napsany puvodne primo v assembleru. Neobsahuje totiz ani puvodni nazvy promennych nebo podprogramu, ani zadne doprovodne komentare.

Na rozdil od debuggeru vypisuje ,,mrtvy kod", coz znamena, ze v nem vidime vypis kodu jeste pred jeho spustenim. A pokud se kod po jeho spustenim sam upravuje v RAM pameti nebo ho upravuje jiny proces, tak se tyto zmeny ve vypisu nezobrazi. Toho se vyuziva pri ochrane programu pred disassemblovanim.

Prikladem disassembleru je nastroj ndisasm, dodavany spolu s assemblerem Netwide Assembler nebo IDA.

Potreba vyuziti disassembleru v bezne programatorske praci vyrazne klesa v souvislosti s rostouci dostupnosti programu s otevrenym zdrojovym kodem.

  • Zkoumani optimalizacni sily prekladacu a jejich postupu. Prekladace (kompilatory) jsou pri vhodnem nastaveni schopny vygenerovat programovy kod, ktery ani vzdalene nepripomina puvodni zamer tvurce, a presto funguje korektne a nekolikrat rychleji.
  • Prolomeni jednodussich ochran programu typu shareware, trialware apod. Tato praktika, zpravidla spocivajici ve vystopovani klicove podminky (ktera rozhoduje, zda program napr. prijme zadane registracni cislo) a jejim naslednem obraceni, se nazyva cracking.
  • Prenos programu, dostupneho pouze ve forme strojoveho kodu, na jinou pocitacovou platformu. Historicky takove pripady nastavaly napriklad v ere domacich osmibitovych pocitacu. I v soucasne dobe se disassemblery vyuzivaji timto zpusobem - napriklad pri vyvoji emulatoru, umoznujicich spoustet v uzivatelem zvolenem prostredi programy urcene pro zcela jiny operacni system nebo dokonce pro nekompatibilni hardware.
  • Analyza a studium chovani viru pri tvorbe antiviru.

Souvisejici clanky

[editovat | editovat zdroj]

Externi odkazy

[editovat | editovat zdroj]