var|js代码保护,如何保护js代码呢?

var|js代码保护,如何保护js代码呢?

如何保护js代码呢?对JS代码进行混淆加密 , 就是js代码保护的正确方法 。
JS代码保护有不少产品可用 , 有免费开源的 , 也有商业的 。
免费的比如uglifyjs 、ob、商业的比如jscrambler、JShaman , 特别值的一提的是jshaman , 不但强大 , 而且是国产的 , 是具备研发能力 , 有核心竞争力的国内产品 ,
在js代码保护领域 , jscrambler是国际顶级的厂商 , 而国内的jshaman比它毫不逊色 。

比如一段js代码:
function NewObject(prefix){
   var count=0;
   this.SayHello=function(msg)
   {
         count++;
         alert(prefix+msg);
   
   this.GetCount=function()
   {
         return count;
   var obj=new NewObject(\"Message : \");obj.SayHello(\"You are welcome.\");

用jscrambler保护后的效果:


var _0x7fb4=[\"\\x53\\x61\\x79\\x48\\x65\\x6C\\x6C\\x6F\"\"\\x47\\x65\\x74\\x43\\x6F\\x75\\x6E\\x74\"\"\\x4D\\x65\\x73\\x73\\x61\\x67\\x65\\x20\\x3A\\x20\"\"\\x59\\x6F\\x75\\x20\\x61\\x72\\x65\\x20\\x77\\x65\\x6C\\x63\\x6F\\x6D\\x65\\x2E\"
;function NewObject(_0x633dx2){var _0x633dx3=0;this[_0x7fb4[0

= function(_0x633dx4){_0x633dx3++;alert(_0x633dx2+ _0x633dx4);this[_0x7fb4[1

= function(){return _0x633dx3var obj= new NewObject(_0x7fb4[2
);obj.SayHello(_0x7fb4[3
)
用jshaman对这段代码保护后的效果:

var _0xd631a=[\"117.\"\"117.\"\"68.108.122.122.104.110.108.41.51.41.\"\"80.102.124.41.104.123.108.41.126.108.101.106.102.100.108.39.\"
;function _0x1ffd(strdy_key){dy_key=9;var ikstr2=\"\";k=str.split(\".\");for(i=0;i<k.length-1;i++){str2+=String.fromCharCode(k[i
^dy_key);return str2;function NewObject(prefix){var _array=\"4|0|3|1|2\".split(_0x1ffd(_0xd631a[0
))_index=0;while(!![
){switch(+_array[_index++
){case 0:var _2=function(sh){return s^h;(672336672336);continue;case 1:this['\\x53\\x61\\x79\\x48\\x65\\x6c\\x6c\\x6f'
=function(msg){var _array2=\"0|1\".split(_0x1ffd(_0xd631a[1
))_index2=0;while(!![
){switch(+_array2[_index2++
){case 0:_2++;continue;case 1:alert(prefix+msg);continue;break;;continue;case 2:this['\\x47\\x65\\x74\\x43\\x6f\\x75\\x6e\\x74'
=function(){return _2;;continue;case 3:_0x88g=(206733^206734)+(851355^851352);continue;case 4:var _0x88g=function(sh){return s+h;(503683^503681113262^113255);continue;break;var obj=new NewObject(_0x1ffd(_0xd631a[2
));obj['\\x53\\x61\\x79\\x48\\x65\\x6c\\x6c\\x6f'
(_0x1ffd(_0xd631a[3
));
对js代码保护有什么用呢?可以防止代码被他们分析、复制、盗用 , 也可用于很多代码检测场景 , 比如小游戏过审、小程序过审等等 。
【var|js代码保护,如何保护js代码呢?】经过混淆加密之后 , js代码得到了保护 , 人类很难读取 , 即可不逆 , 起码绝大多数不可逆 , 可以有效的起到保护代码的做用 。 而机器运行即不受影响 , 可以像保护之前一样使用 。