Obfuscator: Porovnání verzí
m robot přidal: ko:난독화 |
m [r2.6.5] robot změnil: es:Ofuscación#Informática |
||
Řádek 15: | Řádek 15: | ||
[[de:Obfuscator]] |
[[de:Obfuscator]] |
||
[[en:Obfuscated code]] |
[[en:Obfuscated code]] |
||
[[es: |
[[es:Ofuscación#Informática]] |
||
[[fr:Code impénétrable]] |
[[fr:Code impénétrable]] |
||
[[it:Offuscatore]] |
[[it:Offuscatore]] |
Verze z 23. 1. 2011, 11:05
Obfuscator (počeštěle obfuskátor z angl. obfuscate – zatemnit) je konverzní softwarová pomůcka, která převádí zdrojový kód konkrétního programovacího nebo skriptovacího jazyku do téhož zdrojového kódu v témže jazyku, ale provede v něm několik změn. Typicky:
- odstraní komentáře a dokumentaci uvnitř kódu
- zruší formátování kódu tím, že vymaže veškeré „bílé místo“ (white space)
- přejmenuje identifikátory proměnných popř. i konstant, někdy i uživatelských funkcí
- popř. další nadstandardní zásahy do kódu (definování a použití vlastních funkcí pro potřeby obfuskace)
Účelem obfuskátoru je (jak napovídá název) zatemnit daný zdrojový kód, t.j. co nejvíce znesnadnit jeho „čitelnost“ pro člověka – odmazáním komentářů vysvětlujících, co kód dělá; zničení formátování kódu, zrušení odsazení, indikující hierarchii jednotlivých příkazů a jejich příslušnost do syntaktických struktur kódu, naruší způsob, kterým oko člověka znalého syntaxe daného programovacího jazyka je zvyklé daný kód číst. Přejmenování proměnných je obdobným krokem – názvy proměnných u programů s dobrou štábní kulturou naznačují, na co jsou tyto proměnné používány.
Podmínkou smyslu existence obfuskátoru je současně to, aby zdrojový kód byl i po konverzi čitelný pro překladač nebo interpret svého respektivního jazyku.
Důvod, proč se obfuskátory používají, je zamezení třetí osobě, která by ke zdrojovému kódu mohla získat přístup; aby tento program mohla snadno rozvíjet, dělat na něm úpravy (například i ty za účelem odstranění různých ochran heslem nebo licenčními klíči) apod.