Table of Contents

JavaScript on kaasaegne programmeerimiskeel, mis loob ulatuslikku ja dünaamilist veebisaidi sisu.

JavaScript on paljudele veebiarendajatele lihtne ja selle rakenduse kood on kasutajatele ja kõigile kättesaadav.

JavaScripti loodud koodi ületamiseks või salvestamiseks kasutavad arendajad tehnikat, mida nimetatakse JavaScripti häguseks.

Koodi turvalisuse protsess, mille käigus arendajad muudavad või muudavad põhikoodi problemaatiliseks vormiks, mida inimesed ei saa kergesti mõista, tagades samas koodi õige täitmise.

Selle protsessi peamine eesmärk on takistada või peatada volitamata juurdepääs, pöördprojekteerimine ja intellektuaalomandi vargus.

Hägustamine võib teenida erinevaid eesmärke ja eeliseid, mille tõttu seda kasutatakse, millest mõned on toodud allpool:

Hägustamine kaitseb teie koodi ja tundlikku teavet kübervaraste ja ründajate eest, võimaldades seega teie projekti privaatsust.

Hägustatud koodid võivad häkkeritel raskendada nende silumist, et neid saaks kasutada pahatahtlikel eesmärkidel.

Hägustamine tagab konkurentsieelise, kaitstes oma taktikate ja strateegiate ainulaadseid rakendusi.

Mõni kood sisaldab tundlikku teavet, võtmeid või loogikat, mis on tööks olulised, kuid mida ei tohiks avalikkusele avaldada, vältides teie teabe lekkimist ja aidates teabel olla ainult teie jaoks.

Järgmine on JavaScripti obfuskaatori näide:

JS-i sõna Hello põhikood näeb välja selline:

funktsioon tervitus(nimi) {

    tagastab "Tere, " + nimi + "!";

}

Hägustamise toiming teisendab järgmise koodi selleks:

function _0x2c56(_0x1a73){return 'Tere, '+_0x1a73+'!';}

Mõlemal koodil on sama tähendus ja nende väljund ei erine, kuid kirjavea erinevus toob kaasa koodi olulise kaitse.

JS-i hägustamise toimimine on näidatud allpool

Kogu protsess järgib selliseid samme nagu 

Siin asendatakse kirjeldavate muutujate nimed mõttetute stringidega (nt kasutajanimest saab a1b2c3)

Allpool on toodud näide, et paremini mõista

Algne kood:

funktsioon arvutadaKokku(hind, maks) {

    tagastushind + (hind * maks);

}

See kood võib pärast segamist välja näha selline

Varjatud kood:

funktsioon _0x45a1(x,y){return x+(x*y);}

Seda tuntakse ka kui stringi krüptimist.

Originaalkood:

const apiKey = "ABC123";

Hägustatud versioon on toodud allpool.

Varjatud kood:

const _0x3d2a = "\x41\x42\x43\x31\x32\x33";

 

Algne kood:

Lihtne kood võib välja näha selline 

funktsioon checkAccess(user) {

    if (user.role === "admin") tagastab true;

    else return false;

}

Hämustatud kood:

funktsioon _0x1a2b(_0x3c4d) {

    tagastab _0x3c4d["\x72\x6f\x6c\x65"] === "\x61\x64\x6d\x69\x6e" ?

}

 

See sarnaneb koodi lamestamise ja juhtimise voo muutmisega.

funktsioon validateInput(input) {

    if (input.length > 5) tagastab tõene;

    else return false;

    // Surnud kood allpool

    const x = 10;

    console.log("See ei tööta kunagi");

}

Selle koodi surnud koodi sisestamise versioon (hägustatud) näeb välja selline:

funktsioon validateInput(input) {

    if (input.length > 5) {

        // Surnud kood, mis ei tee midagi kasulikku

        const unusedVar = Math.random() * 100;

        console.log("See on osa surnud koodist: ", unusedVar);

        tagastab tõene;

    } else {

        // Allpool on veel surnud kood

        let fakeCondition = input.includes("secret");

        if (fakeCondition) {

            console.log("See tingimus on võlts ja ebaoluline");

        }

        tagasta vale;

    }

    // Kättesaamatu surnud kood

    const x = 10;

    const y = 20;

    console.log("See ei käivitu kunagi, kuid ajab ründajad segadusse: ", x + y);

}

JS-i silumisvastane tehnika on ainulaadne ja hõlmab koodi ja silumise takistamiseks siluri avaldusi, konsooli tuvastamist ja ajastusrünnakuid.

setInterval(function(){

    if (konsooli tüüp._commandLineAPI !== 'määratlemata') {

        alert("Siluja tuvastati!");

        window.location.href = "about:blank";

    }

}, 1000);

Sama kood, kui JS-i hägustamistööriista kasutades on seda muudetud häguseks versiooniks.

Hämustatud kood:

(funktsioon () {

    var _0x3c87 = ['_commandLineAPI', 'määratlemata', 'about:blank'];

    (funktsioon (_0x4d1b99, _0x1ea782) {

        var _0x223b1b = funktsioon (_0x234219) {

            while (--_0x234219) {

                _0x4d1b99['push'](_0x4d1b99['shift']());

            }

        };

        _0x223b1b(++_0x1ea782);

    }(_0x3c87, 0x18f));

    var _0x4a68 = funktsioon (_0x4d1b99, _0x1ea782) {

        _0x4d1b99 = _0x4d1b99 – 0x0;

        var _0x223b1b = _0x3c87[_0x4d1b99];

        tagastab _0x223b1b;

    };

    setInterval(function () {

        if (konsooli tüüp[_0x4a68('0x0')] !== _0x4a68('0x1')) {

            alert('Siluja tuvastati!');

            window['location']['href'] = _0x4a68('0x2');

        }

    }, 0x3e8);

})();

Need olid vaid mõned lihtsad sammud (tehnikad), kuidas arusaadavat ja olulist koodiosa saab teisendada kõrgeima raskusastmega koodiks, muutes selle hägustamistööriista kasutades välja nagu väga arenenud ja keeruline kood.

JS-i hägustamise parimaks praktikaks on mitu soovitust selle elluviimiseks.

Usaldusväärsete obfuskaatorite, nagu JavaScript Obfuscator või UglifyJS , kasutamine tugevate teisenduste eemaldamiseks.  

Hägustamine on kaitse algkiht.

Salvestage edaspidiseks silumiseks algse koodi ja tšarterdamise selge versioon.

Olge kursis tekkivate ohtudega ja muutke oma hägustamise taktikat vastavalt.

Hägustamise idee tekkis teie projektide eetilise kaitse mõttes küberrünnakute eest.

Küberkurjategijad kasutavad sageli oma ohtlike skriptide või karistusregistrite varjamiseks segamistehnikat.

Hägustamine võib rikkuda ka privaatsust, skripte jne. Alati on oluline kaaluda selliste tehnikate õiget kasutamist.

Kuigi hägustamise kasutamine koodi ja projektide kaitsmiseks on väga kasulik, pole see lollikindel.

Kui teie koodi hägustatakse rohkem kui vaja, mõjutab see negatiivselt teie koodi käitusaega, peamiselt dünaamilise genereerimise või üleliigse koodi kasutamisel.

Asjatundlikud häkkerid või ründajad võivad teie juba hägustatud koodi puhul kasutada hägustamist, jätmata lõpuks teie koodile kaitset.

Hägustatud koodi on alati keeruline siluda, hooldada või arendada, kuna selle kaitsmiseks kasutatakse mittevajalikke ridu.

Konkreetsed hägustamise tehnikad ei ole kõigis brauserites või keskkondades kättesaadavad, suurendades seega tehniliste probleemide tõenäosust koodi väljundis või töös.

JavaScripti hägustamine on võimas ja kasulik tööriist koodi kaitsmiseks varguste, häkkerite, ründajate, rikkumiste ja pöördprojekteerimise eest.

 

Kuigi sellel on teatud eelised, piirangud ja kõik, mida protsessi või tehnika olemasoluks vaja on, peitub selle tõeline jõud selles, et see on osa kihilisest kaitsestrateegiast;

Lühidalt öeldes on see tööriist, mis aitab teil säilitada oma privaatsust ja motiveerib teid mõtlema tõhusamatele viisidele oma teabe kaitsmiseks.

Rohkem tööriistu oma veebiarenduse optimeerimiseks leiate siit:

Rohkem turvatööriistu leiate UrwaToolsi turbesektsioonist.

Korduma kippuvad küsimused

  • No, the JS obfuscation can be reversed. Once the code is obfuscated, it cannot be returned to its original form. It is a one-way process. It is always recommended to keep a copy of your original code.
  • It is a technique by which a programmer adds security to his project. It is very beneficial technique used by programmers to complicate your code against theft, attackers, programmers, hackers.

  • Obfuscation works by defense layer strategy, by adding meaningless lines of code in your original Can code to make it less readable for others thus adding a layer of privacy.

  • No, the JS obfuscation can be reversed. Once the code is obfuscated, it cannot be returned to its original form. It is a one-way process. It is always recommended to keep a copy of your original code.

UrwaTools Editorial

The UrwaTools Editorial Team delivers clear, practical, and trustworthy content designed to help users solve problems ef...

Uudiskiri

Püsige kursis meie uusimate tööriistadega