Obfuskatorius yra procesas arba įrenginys, skirtas padaryti programą sunkiau suprantamą. Paprastai obfuskatoriaus metodas yra pasirinkti programą, kuri yra gana paprasta, o pagrindinis kodas yra sudėtingesnis. Nors galutinis vartotojas greičiausiai nepastebės kodo veikimo skirtumo, dėl obfuskatoriaus funkcijos nulaužti kodą ir užgrobti programą tampa sunkiau. Žvelgiant iš šios perspektyvos, tokio tipo įrankių naudojimas gali būti laikomas saugumo priemone.
Įrenginio arba proceso pavadinimas yra pasiskolintas iš žodžio „užtemdyti“, kuris reiškia žodinio pristatymo apsunkinimą, siekiant supainioti ar suklaidinti. Panašiai obfuskatorius siekia, kad kodo suvokimo procesas būtų šiek tiek gluminantis. Tai iš esmės apsunkina kodo pažeidimą, nes tikroji kodo dalis yra taip giliai palaidota arba užmaskuota, kad sunku išskirti esmines darbo kodo dalis.
Yra keletas programų kalbų, kurios linkusios labai gerai reaguoti į užmaskavimo procesą. C++ yra viena iš populiariausių kalbų ir leidžia palyginti lengvai panaudoti obfuskatorių, nepažeidžiant pagrindinio kodo funkcijos. Panašiai C ir Perl taip pat gerai veikia naudojant užtemdymą, todėl gana lengva pridėti apsaugos elementą prie bet kokio programavimo, parašyto šiomis trimis kalbomis.
Nors obfuskatoriaus paskirtis yra tyčia apsunkinti kodo išnagrinėjimą, taip pat reikia užtikrinti, kad žmonės, turintys teisę dirbti su programavimu, galėtų tai daryti netrukdomi užmaskavimo proceso. Šiuo tikslu galima naudoti įvairius metodus, kad būtų pašalintos papildomos komplikacijos ir būtų pasiektas pagrindinis kodas. Šis procesas žinomas kaip atvirkštinė inžinerija, nes jis iš esmės apima komplikacijų panaikinimą, kad būtų galima pamatyti tikrąjį vaizdą. Programos pjaustymas yra atvirkštinės inžinerijos metodų, naudojamų kodo rinkiniui panaikinti, pavyzdys.
Nors obfuskatorius suteikia tam tikrą apsaugos laipsnį, svarbu suprasti, kad šis procesas neturėtų būti vienintelė apsaugos priemonė, naudojama programavimui apsaugoti. Taip pat turėtų būti taikomos kitos saugumo strategijos, siekiant užtikrinti, kad tinklas nepriimtų piktybinių įterpimų ir jiems būtų leista patekti į esamus kodus.