Obsah:
Definícia - Čo znamená dekompilácia?
Dekompilácia je proces konverzie počítačom čitateľného kódu na ľudsky čitateľný zdrojový kód s pôvodnou funkčnosťou kódu. Dekompilácia je opak kompilácie.
Nie je možné použiť dekompiláciu na reprodukciu pôvodného zdrojového kódu, pretože pôvodné identifikátory kódu, ako sú názvy premenných a funkcií, sa v počítačovom kóde zriedka ukladajú. Kód obsahujúci metaúdaje alebo informácie o ladení však môže obsahovať identifikátory.
Techopedia vysvetľuje rozklad
Dekompilácia sa často vykonáva v počítačovom kóde, keď zdrojový kód už nie je k dispozícii. Ide teda o formu spätného inžinierstva. Ďalej sa môže použiť dekompilácia na zabezpečenie počítača, interoperabilitu a opravu chýb.
Dekompilácia sa používa z viacerých dôvodov vrátane:
- Pochopenie funkčnosti kódu
- Opravy chýb
- Zvýšenie bezpečnosti počítača
- Odstránenie obmedzení, ako sú heslá, ochrana proti kopírovaniu a časový limit
- Štúdium počítačových vírusov
- Obnova strateného zdrojového kódu na účely archivácie
Úspešná dekompilácia závisí od dostupných kódových informácií a zložitosti.
Dekompilátor (nástroj používaný pri dekompilácii) sa môže získať oddelene, skôr ako sa dodáva spolu s vývojovými nástrojmi dodávateľa.
Dekompilácia softvéru chráneného autorskými právami je vo väčšine prípadov nezákonná. V USA a Európe však zákony o autorských právach umožňujú obmedzené použitie dekompilácie, napríklad interoperabilitu.