Co je Obfuscator?
Obfuscator je proces nebo zařízení, jehož účelem je ztížit pochopení programu. Obecně platí, že přístup obfuscatoru je vzít program, který je relativně přímočarý a učinit základní kód složitějším. Zatímco koncový uživatel si pravděpodobně nevšimne rozdílu ve způsobu, jakým se kód spouští, funkce obfuscatoru ztěžuje hacknutí kódu a únos programu. Z tohoto pohledu lze použití tohoto typu nástroje považovat za bezpečnostní opatření.
Název zařízení nebo procesu je vypůjčen ze slova „zmatek“, které označuje komplikování slovní prezentace ve snaze zmást nebo zmatit. Podobně se obfuscator snaží udělat proces porozumění kódu poněkud matoucím. To v podstatě ztěžuje, aby byl kód podkopán, protože skutečné maso kódu je tak hluboce pohřbeno nebo zmateno, že je obtížné extrahovat podstatné pracovní části kódu.
Existuje několik programovacích jazyků, které mají tendenci velmi dobře reagovat na proces zmatení. C ++ patří k nejoblíbenějším jazykům a umožňuje relativně snadno použít obfuscator bez poškození funkce základního kódu. Podobně mají C a Perl také tendenci dobře pracovat s používáním zmatku, takže je relativně snadné přidat prvek ochrany k jakémukoli programování napsanému v těchto třech jazycích.
I když účelem obfuscatoru je záměrně ztížit rozluštění kódu, je také potřeba zajistit, aby lidé, kteří jsou oprávněni pracovat s programováním, tak mohli udělat, aniž by jim byl bránen proces zmatení. Za tímto účelem je možné použít různé techniky pro práci s přidanými komplikacemi a dostat se k základnímu kódu. Tento proces je známý jako reverzní inženýrství, protože zahrnuje v zásadě odstranění komplikací, aby bylo možné vidět skutečný obraz. Programové krájení je příkladem technik zpětného inženýrství, které se používají k dešifrování sady kódů.
Přestože obfuscator poskytuje určitou úroveň ochrany, je důležité si uvědomit, že tento proces by neměl být jediným prostředkem zabezpečení použitým k ochraně programování. Měly by se také použít jiné bezpečnostní strategie, aby se zajistilo, že síť nepřijme zlovolné vložení a umožní jim propracovat se do stávajících kódů.