Vad är en obfuscator?
En obfuscator är en process eller enhet som är avsedd att göra ett program svårare att förstå. Generellt sett är obfuscatorens strategi att ta ett program som är relativt enkelt och göra den underliggande koden mer komplex. Även om det inte är troligt att slutanvändaren märker någon skillnad i hur koden körs, gör obfuscatorns funktion det svårare att hacka koden och kapa programmet. Ur detta perspektiv kan användning av denna typ av verktyg ses som en säkerhetsåtgärd.
Namnet på enheten eller processen är lånad från ordet "obfuscate", som hänvisar till att komplicera en muntlig presentation i ett försök att förvirra eller förvirra. På samma sätt försöker obfuscatorn göra processen att förstå koden något förvirrande. Detta gör det väsentligen svårare för koden att undergrävas, eftersom koden verkligen är så djupt begravd eller dold att det är svårt att extrahera de väsentliga arbetsdelarna av koden.
Det finns flera programspråk som tenderar att svara mycket bra på processen med dämpning. C ++ är bland de mest populära av språken och gör det möjligt att använda en obfuscator med relativt lätthet utan att förstöra baskodens funktion. På liknande sätt tenderar C och Perl också att fungera bra med användningen av obfuskning, vilket gör det relativt enkelt att lägga till ett skyddande element till all programmering skriven på dessa tre språk.
Även om syftet med en obfuscator är att avsiktligt göra koden svårare att ta upp, finns det också behovet av att se till att personer som har behörighet att arbeta med programmeringen kan göra det utan att hindras av dämpningsprocessen. För detta ändamål är det möjligt att använda olika tekniker för att arbeta igenom de komplicerade komplikationerna och komma till baskoden. Denna process är känd som omvänd teknik, eftersom den i huvudsak innebär att ångra komplikationerna för att se den riktiga bilden. Programskivning är ett exempel på omvänd teknik som används för att avskydda en uppsättning kod.
Även om obfuscatorn ger en viss grad av skydd, är det viktigt att inse att denna process inte bör vara det enda säkerhetsmedlet som används för att skydda programmeringen. Andra säkerhetsstrategier bör också användas för att säkerställa att ondsinnade infogningar inte tas emot av nätverket och får gå igenom befintliga koder.