Obfuscator: Porovnání verzí
Bez shrnutí editace značka: editace z Vizuálního editoru |
m wikilinky |
||
Řádek 1: | Řádek 1: | ||
'''Obfuscator''' (počeštěle '''obfuskátor''' z [[angličtina|angl]]. ''obfuscate'' – ''zatemnit'') je konverzní softwarová pomůcka, která převádí [[zdrojový kód]] konkrétního [[programovací jazyk|programovacího]] nebo [[skriptovací jazyk|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: |
'''Obfuscator''' (počeštěle '''obfuskátor''' z [[angličtina|angl]]. ''obfuscate'' – ''zatemnit'') je konverzní softwarová pomůcka, která převádí [[zdrojový kód]] konkrétního [[programovací jazyk|programovacího]] nebo [[skriptovací jazyk|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 |
* odstraní [[Komentář (programování)|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'') |
* zruší formátování kódu tím, že vymaže veškeré [[Bílý znak|„bílé místo“]] (''white space'') |
||
* přejmenuje identifikátory proměnných popř. i konstant, někdy i uživatelských funkcí |
* přejmenuje [[Proměnná (programování)#Identifikátory odkazující na proměnné|identifikátory proměnných]] popř. i [[Konstanta (programování)|konstant]], někdy i uživatelských [[Podprogram|funkcí]] |
||
* popř. další nadstandardní zásahy do kódu (definování a použití vlastních funkcí pro potřeby obfuskace) |
* 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. |
Úč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í [[Styl zápisu programu#Odsazování|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 (software)|interpret]] svého respektivního jazyku. |
Podmínkou smyslu existence obfuskátoru je současně to, aby zdrojový kód byl i po konverzi čitelný pro [[překladač]] nebo [[interpret (software)|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. |
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 [[Heslo|heslem]] nebo licenčními klíči) apod. |
||
[[Kategorie:Programovací software]] |
[[Kategorie:Programovací software]] |
Verze z 12. 4. 2017, 01:11
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.