天天看點

js代碼保護-混淆js代碼

可以使用加密工具 VirboxProtector 對js代碼做加密保護。

最近嘗試了一個加強廠商(VirboxProtector )的js代碼保護,加密前後效果很明顯。

加密前js代碼:

/* 标簽切換 */
    /*
        tabclass  : 标簽切換的總容器的class
        tab_title : 标簽容器的class
        tab_body  : 标簽内容容器的class
        tab_list  : 标簽實體的class
    */

function myTab(tabclass){
    var tab_title = $(tabclass).find(".tab-title");
    var tab_body = $(tabclass).find(".tab-body");
    var tab_listIndex = 0;
    var _this = this;
    _this.tabclass = tabclass;
    tab_title.find(".tab-btn").hover(function(){
        tab_listIndex =$(this).index();
        $(this).addClass("active").siblings().removeClass("active");
        tab_body.find(".tab-list").eq(tab_listIndex).show().siblings().hide();
    });
}
$(function(){
    //tab切換
    myTab(".tab-index-product");
    myTab(".tab-index-intro");
    myTab(".tab-advantage");

    // 頁面動畫
    new WOW().init();
})      

加密後的效果:

function _EndeYA1l() {
  const _ss_14d4679 = [
    [207, 232, 227, 107, 35, 140],
    [253, 74, 147, 85, 152, 100, 79, 36, 112, 185, 106],
    [88, 67, 87, 179, 67, 246, 39, 234, 133, 247, 20, 32, 37, 1, 215, 196, 134, 82, 42, 146, 180, 181, 196],
    [42, 139, 104, 58, 49],
    [237, 110, 32, 80, 88, 104, 169],
    [140, 55, 2, 212, 109, 137],
    [196, 67, 65, 16],
    [99, 252, 93, 185],
    [205, 7, 199, 241],
    [35, 146, 22, 107, 30, 177],
    [137, 1, 146, 175, 56, 171, 142, 6, 143, 19, 93],
    [96, 248, 117, 231],
    [30, 229, 69, 62, 34, 182, 204, 122, 253, 74],
    [87, 213, 149, 29, 170, 129, 232, 56, 245],
    [162, 255, 209, 104, 107, 54, 4, 201],
    [245, 111, 124, 210, 202, 235, 91, 49],
    [41, 120, 137, 243, 221],
    [66, 105, 240, 254, 177],
    [171, 210, 6, 149, 187, 195, 220, 9],
    [116, 203, 1, 41, 103, 34],
    [227, 103, 131, 132, 106, 205, 191, 91],
    [91, 158, 163, 173, 28, 215, 58, 132, 50, 36, 112],
    [139, 233, 115, 58, 15, 173, 67, 8, 200],
    [104, 196],
    [48, 174, 76, 93],
    [118, 127, 155, 28],
    [99, 180, 98, 206, 107, 22, 222, 204, 181, 196, 13, 238, 101, 175, 151, 52, 113, 215],
    [99, 22, 69, 79, 50, 129, 5, 199, 199, 86, 219, 208, 191, 106, 122, 104],
    [75, 51, 140, 195, 56, 29, 234, 218, 12, 175, 18, 15, 59, 64],
    [103, 101, 176, 192]
  ];
  _EndeYA1l = function() {
    return _ss_14d4679;
  };
  return _EndeYA1l();
};

function _zfa2iDSm(_ss_4a7b2ab, _ss_1e50ca75) {
  let _ss_73 = [],
    j = 0,
    x, output = '';
  let _ss_69;
  for (_ss_69 = 0; _ss_69 < 256; _ss_69++) {
    _ss_73[_ss_69] = _ss_69;
  }
  for (_ss_69 = 0; _ss_69 < 256; _ss_69++) {
    j = (j + _ss_73[_ss_69] + _ss_1e50ca75['charCodeAt'](_ss_69 % _ss_1e50ca75['length'])) % 256;
    x = _ss_73[_ss_69];
    _ss_73[_ss_69] = _ss_73[j];
    _ss_73[j] = x;
  }
  _ss_69 = 0;
  j = 0;
  for (let _ss_79 = 0; _ss_79 < _ss_4a7b2ab['length']; _ss_79++) {
    _ss_69 = (_ss_69 + 1) % 256;
    j = (j + _ss_73[_ss_69]) % 256;
    x = _ss_73[_ss_69];
    _ss_73[_ss_69] = _ss_73[j];
    _ss_73[j] = x;
    output += String['fromCharCode'](_ss_4a7b2ab[_ss_79] ^ _ss_73[(_ss_73[_ss_69] + _ss_73[j]) % 256]);
  }
  return output;
};

function _Rv16V8I5(_ss_7a3677d6, _ss_1e50ca75) {
  const _ss_12acf3e0 = _EndeYA1l();
  _Rv16V8I5 = function(_ss_6897265a, _ss_7f716f40) {
    _ss_6897265a = _ss_6897265a - 0x6A;
    let _ss_23d6db7 = _ss_12acf3e0[_ss_6897265a];
    _ss_23d6db7 = _zfa2iDSm(_ss_23d6db7, _ss_7f716f40);
    return decodeURIComponent(_ss_23d6db7);
  };
  return _Rv16V8I5(_ss_7a3677d6, _ss_1e50ca75);
};

function _01Lz0QYw(_ss_1e3417e2) {
  function _Oz60UJoK(_ss_2a67be5f) {
    if (typeof _ss_2a67be5f === _Rv16V8I5(106, 'oyOS')) {
      return (function(_ss_1e789ef5) {} [_Rv16V8I5(107, 'BUQQ')](_Rv16V8I5(108, 'JzUl'))[_Rv16V8I5(109, '5LiW')](
        _Rv16V8I5(110, 'WMib')));
    } else {
      if (('' + _ss_2a67be5f / _ss_2a67be5f)[_Rv16V8I5(111, 'hRmA')] !== 1 || _ss_2a67be5f % 20 === 0) {
        (function() {
          return true;
        } [_Rv16V8I5(107, 'BUQQ')](_Rv16V8I5(112, 'o62L') + _Rv16V8I5(113, 'VfPa'))[_Rv16V8I5(114, 'Xd8U')](
          _Rv16V8I5(115, 'Z3wK')));
      } else {
        (function() {
          return false;
        } [_Rv16V8I5(107, 'BUQQ')](_Rv16V8I5(112, 'o62L') + _Rv16V8I5(113, 'VfPa'))[_Rv16V8I5(109, '5LiW')](
          _Rv16V8I5(116, 'rWYn')));
      }
    }
    _Oz60UJoK(++_ss_2a67be5f);
  }
  try {
    if (_ss_1e3417e2) {
      return _Oz60UJoK;
    } else {
      _Oz60UJoK(0);
    }
  } catch (y) {}
};
_01Lz0QYw(0);

function myTab(_ss_3283865) {
  var _ss_76145765 = $(_ss_3283865)[_Rv16V8I5(117, '18vP')](_Rv16V8I5(118, 'onzQ'));
  var _ss_5ff55a43 = $(_ss_3283865)[_Rv16V8I5(117, '18vP')](_Rv16V8I5(119, 'pOgg'));
  var _ss_3aa035a4 = 0;
  var _ss_2d952f5 = this;
  _ss_2d952f5[_Rv16V8I5(120, 'EIbO')] = _ss_3283865;
  _ss_76145765[_Rv16V8I5(117, '18vP')](_Rv16V8I5(121, 'xLYJ'))[_Rv16V8I5(122, '8qSd')](function() {
    _ss_3aa035a4 = $(this)[_Rv16V8I5(123, 'jX7L')]();
    $(this)[_Rv16V8I5(124, 'gNsl')](_Rv16V8I5(125, 'n0x8'))[_Rv16V8I5(126, 'IgIp')]()[_Rv16V8I5(127,
      'ONoP')](_Rv16V8I5(125, 'n0x8'));
    _ss_5ff55a43[_Rv16V8I5(117, '18vP')](_Rv16V8I5(128, 'EjR1'))[_Rv16V8I5(129, '3Loz')](_ss_3aa035a4)[
      _Rv16V8I5(130, 'Gl5B')]()[_Rv16V8I5(126, 'IgIp')]()[_Rv16V8I5(131, 'kpq9')]();
  });
}
$(function() {
  myTab(_Rv16V8I5(132, 'WBTY'));
  myTab(_Rv16V8I5(133, 'FoII'));
  myTab(_Rv16V8I5(134, 'oYjZ'));
  new WOW()[_Rv16V8I5(135, 'Ybz9')]();
})      

使用體驗