Přeskočit na obsah

Obfuscator: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Chobot (diskuse | příspěvky)
m robot přidal: ko:난독화
Dinamik-bot (diskuse | příspěvky)
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:Código ofuscado]]
[[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. obfuscatezatemnit) 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.