Co to znamená dekompilovat softwarový program?
Rozložit software znamená vzít tento software a změnit jazyk, v němž je napsán, na něco, co je pro člověka srozumitelnější. Dělá to tak, že vezme jazyk původního programu a změní jej na zdrojový kód, kterému lze lépe porozumět. Pokud se to udělá správně, když se člověk pokusí dekompilovat software, může vytvořit program, který se chová velmi podobně, ne-li přesně jako původní software.
Existuje mnoho programů, které lze použít k dekompilaci softwaru. Některé z těchto programů mají legitimní využití a jiné ne. Je třeba poznamenat, že kdokoli, kdo se pokusí dekompilovat software pro nezákonné účely, by mohl být v mnoha zemích v rozporu s krádeží duševního vlastnictví, což je v mnoha zemích trestné.
Ve skutečnosti může být pirátské kopie softwaru nebo výroba produktu, který má stejnou funkci jako původní software, nejčastějším důvodem dekompilace softwaru. Je to proto, že je možné použít softwarový dekompilátor k odstranění softwaru jeho ochrany proti kopírování. Každý, kdo takovým způsobem dokáže úspěšně dekompilovat software, má tedy neomezenou schopnost vytvářet kopie programu.
Zatímco mnoho společností by chtělo, aby počítačové programy, které dekompilují software, byly z tohoto důvodu zakázány pouze z tohoto důvodu, existuje i určitá legitimní využití pro dekompilaci softwaru. Mezi ně patří hledání chyb v programu, nalezení malwaru a kontrola kódu. Použití programu k dekompilaci softwaru může navíc sloužit jako pomůcka při učení pro studenty studující programování. Tyto případy mohou být velmi platnými důvody k dekompilaci softwaru.
Decompiler může být často užitečným nástrojem pro ty, kteří se zabývají softwarem s otevřeným zdrojovým kódem, kteří mohou chtít přidat některé funkce nebo hodnotu určitého programu. V tomto případě může dekompilátor podstatně přispět k pokroku při přepisování nebo přidávání do programu. Je to však daleko jiné, než dekompilace programu od významného výrobce softwaru, z nichž většina je chráněna licenčními dohodami a anti-copy kódem.
Je třeba poznamenat, že dekompilační software neznamená pouze rozebrat program, i když název může naznačovat, že je to jediné, co se dělá. Překladová část dekompilace je také velmi důležitá. Jakmile je překládán, je často přeložen zpět, aby se zjistilo, zda byly získány požadované výsledky. Pokud ne, bude možná nutné provést další práci.