可以使用加密工具VirboxProtector对js代码做加密保护。

最近尝试了VirboxProtector的js代码保护,加密前后效果很明显。

加密前js代码:

/* 标签切换 *//*tabclass  : 标签切换的总容器的classtab_title : 标签容器的classtab_body  : 标签内容容器的classtab_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')]();
})

使用体验

将js文件放在一个文件夹里,然后将文件夹拖入到加密工具里,然后点击保护按钮即可。

这个工具目前支持的平台也比较多,可以适用于安卓、iOS、小程序、快应用、Web页面等多种H5代码运行环境。如果想试用可以搜索 VirboxProtector就可以去申请试用。

Virbox Protector 功能特点

代码混淆

通过控制流混淆、字符串转换加密、变量名混淆、隐藏函数调用等多种加密方法增加代码安全,防止被反编译

反调试

反调试功能可以防止代码被动态调试

高兼容性

支持安卓、iOS、小程序、快应用、Web页面等多种H5代码运行环境。

操作便捷

提供本地加固工具及命令行保护方式,一键加固,高效易用

申请试用:H5应用加固-VirboxProtectorVBP支持H5应用加固,通过控制流混淆、字符串转换加密、反调试功能等方式,对js文件进行保护,防止H5程序被反编译及动态调试。适用于安卓、iOS、小程序、快应用、Web页面等多种H5代码运行环境。https://shell.virbox.com/h5protect.html

如何保护前端JS代码?前端js代码混淆加密相关推荐

  1. 对vue项目js文件打包时进行混淆加密

    对vue项目js文件打包时进行混淆加密 环境 vue 3 vue cli 4 webpack 4.0.0 https://www.cnblogs.com/dragonir/p/14445767.htm ...

  2. 你知道吗?JS代码混淆加密,很有用!

    JS代码为什么要进行混淆加密? 因为:JS代码是明文. JS是种开放源码的编程语言, 无论是前端浏览器中的JS代码,还是在后端使用,如nodejs,js代码都是明文, 明文代码,他人可以随意查看.复制 ...

  3. 常用前端JS代码与JS方法

    [返回Z平台-帮助文档-首页] Z平台的核心JS方法都存储在 /webapp/js/z.js 文件中,如果想更全面的学习Z平台的开发,建议大家熟读该文件.平台前端的核心JS方法都在这. 共用JS方法 ...

  4. 前端表白纪念日用js+html+css实现的页面代码复制粘贴就能用

    前端表白纪念日用js+html+css实现的页面代码复制粘贴就能用页面如下: 代码: <!DOCTYPE html> <html><head><script ...

  5. js vue 前端代码混淆webpack-obfuscator

    安装 npm install --save-dev webpack-obfuscator 配置 const JavaScriptObfuscator = require('webpack-obfusc ...

  6. Javascript加密,JS混淆加密,地表最新,最强加密方法保护您的代码

    JS混淆加密 步骤/方法 1.打开 https://jshunxiao.com 网站,粘贴需要加密的js代码 2.根据个人需求配置相关设置 3.点击加密按钮,即可对js代码进行混淆保护 4.还可以加密 ...

  7. android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版

    好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版 书法字体2017.06.23css压缩 分享一款好用的JS混淆加密工具:HDS JSObfuscator ...

  8. 前端代码为什么会有低代码及无代码

    概念 什么是低代码/无代码开发?业界对于低代码/无代码开发是否存在其他不同的理解? 行业里流行观点,低代码是更加易用的搭建系统,无代码是图形化和可视化编程.这种观点把低代码和无代码开发分别置于 UI ...

  9. 前端JavaScript代码混淆加密原理介绍

    因为JavaScript大都是运行在浏览器端,这就导致任何人都可以直接对网站的代码进行查看,如果代码没有进行任何处理就会导致直接暴露源码,他人便可轻而易举的复制你的劳动成果,但是由于没有纯粹的加密方案 ...

  10. js混淆加密,通过混淆Js代码让别人(很难)还原,js代码加密

    使用js的混淆加密,其目的是为了保护我们的前端代码逻辑,对应一些搞技术吃饭的公司来说,为了防止被竞争对手抓取或使用自己的代码,就会考虑如何加密,或者混淆js来达到代码保护. 1.为什么需要js混淆 在 ...

最新文章

  1. Docker的启动与停止命令
  2. hdu 4160 Dolls 匈牙利算法求最大匹配
  3. 汇编语言标识符及其命名规则
  4. 项目管理(6):备战pmp
  5. 如何在linux安装mysql7版本的,如何在linux下用tar方式安装Mysql5.7版本
  6. HDU1248 寒冰王座 【数学题】or【全然背包】
  7. android异步工作,Android异步消息机制详解
  8. UIBlock 按钮图片设置
  9. ProGuard混淆时保留注释(@类内容)
  10. 在VIM中使用GDB调试 – 使用pyclewn
  11. android 代码操作.db demo,Android实现商品展示效果
  12. china area part 1
  13. 可以在手机预览ps设计稿的软件
  14. ADIDAS的完整形式是什么?
  15. 媒体查询支持ie浏览器各版本的方法
  16. centos关闭自动锁屏
  17. Django Restframework 里的小插曲
  18. 欺骗的艺术——第二部分(9)
  19. 如何把一个qmake的Ubuntu手机应用打包为一个snap应用
  20. 《你曾说,你喜欢篮球》

热门文章

  1. 图文演示通过虚拟打印机生成pdf的使用技巧
  2. 学软件测试必看的10本书推荐给你
  3. 如何使用谷歌云盘下载Kaggle数据集+解压
  4. 小米php架构图,小米首页布局框架
  5. SCRT804安装教程
  6. 萌新做点小玩意儿DAY-2 五子棋AI拓展思想
  7. mysql如何查看使用的配置_mysql 配置文件如何查询?
  8. latex 数学符号
  9. VMware workstations pro16.23已经安装vmware tool,Ubuntu仍然无法复制粘贴
  10. 流固耦合仿真案例及教学