Vad är en obfuscator?
En obfuscator är en process eller en enhet som är avsedd att göra ett program svårare att förstå. I allmänhet är obfuscator -metoden att ta ett program som är relativt enkelt och göra den underliggande koden mer komplex. Även om slutanvändaren inte troligtvis kommer att märka en skillnad i hur koden körs, gör obfuscatorens funktion det svårare att hacka koden och kapa programmet. Ur detta perspektiv kan man använda denna typ av verktyg som en säkerhetsåtgärd.
Namnet på enheten eller processen lånas 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 obfuscator att göra processen att förstå koden något förvirrande. Detta gör det i huvudsak svårare att koden undermineras, eftersom det verkliga köttet i koden är så djupt begravd eller dämpad att det är svårt att extrahera de väsentliga arbetsdelarna i koden.
det finns SeveRAL -programspråk som tenderar att reagera mycket bra på processen för dämpning. C ++ är bland de mest populära språken och gör det möjligt att anställa en obfuscator med relativt enkelhet utan att förstöra baskoden. På samma sätt tenderar C och Perl också att fungera bra med användning av obfuscation, vilket gör det relativt enkelt att lägga till ett skyddselement till alla programmering som skrivs på dessa tre språk.
Medan syftet med en obfuscator är att avsiktligt göra koden svårare att avslöja, finns det också behovet av att se till att människor som är behöriga att arbeta med programmeringen kan göra det utan att hindras av processen för att göra. För detta ändamål är det möjligt att använda olika tekniker för att arbeta igenom de extra komplikationerna och komma till baskoden. Denna process är känd som omvänd teknik, eftersom den i huvudsak handlar om att ångra komplicatetjoner för att se den sanna bilden. Programskivning är ett exempel på en omvänd teknisk tekniker som används för att avskaffa en uppsättning kod.
Medan obfuscator ger en viss grad av skydd, är det viktigt att inse att denna process inte bör vara det enda säkerhetsmedlet för att skydda programmeringen. Andra säkerhetsstrategier bör också användas för att säkerställa att ondskapsfulla insättningar inte tas emot av nätverket och får arbeta sig in i befintliga koder.