JavaScript 混淆技术主要有以下几种:
变量混淆: 将带有含意的变量名、方法名、常量名随机变为无意义的类乱码字符串,降低代码可读性,如转成单个字符或十六进制字符串。
字符串混淆: 将字符串阵列化集中放置、并可进行 MD5 或 Base64 加密存储,使代码中不出现明文字符串,这样可以避免使用全局搜索字符串的方式定位到入口点。
属性加密: 针对 JavaScript 对象的属性进行加密转化,隐藏代码之间的调用关系。
控制流平坦化: 打乱函数原有代码执行流程及函数调用关系,使代码逻变得混乱无序。
僵尸代码: 随机在代码中插入无用的僵尸代码、僵尸函数,进一步使代码混乱。
调试保护: 基于调试器特性,对当前运行环境进行检验,加入一些强制调试 debugger 语句,使其在调试模式下难以顺利执行 JavaScript 代码。
多态变异: 使 JavaScript 代码每次被调用时,将代码自身即立刻自动发生变异,变化为与之前完全不同的代码,即功能完全不变,只是代码形式变异,以此杜绝代码被动态分析调试。
锁定域名: 使 JavaScript 代码只能在指定域名下执行。
反格式化: 如果对 JavaScript 代码进行格式化,则无法执行,导致浏览器假死。
特殊编码: 将 JavaScript 完全编码为人不可读的代码,如表情符号、特殊表示内容等等。
总之,以上方案都是 JavaScript 混淆的实现方式,可以在不同程度上保护 JavaScript 代码。
利用OB混淆JS
//安装脚手架 npm init npm install javascript-obfuscator --save
代码压缩
var code = ` let x = '1' + 1 console.log('x', x) ` const options = { compact: true, // 代码压缩配置 } const obfuscator = require('javascript-obfuscator') function obfuscate(code, options) { return obfuscator.obfuscate(code, options).getObfuscatedCode() } console.log(obfuscate(code, options))
变量名混淆
const code = ` let hello = '1' + 1 console.log('hello', hello) ` const options = { compact: true, identifierNamesGenerator: 'mangled' }
字符串混淆
const code = ` var a = 'hello world' `; const options = { compact: false, unicodeEscapeSequence: true //对字符串进行 Unicode 转码 };
什么是代码压缩、代码混淆、代码混淆
代码压缩:即去除JavaScript 代码中的不必要的空格、换行等内容,使源码都压缩为几行内容,降低代码可读性,当然同时也能提高网站的加载速度。
代码混淆:使用变量替换、字符串阵列化、控制流平坦化、多态变异、僵尸函数、调试保护等手段,使代码变得难以阅读和分析,达到最终保护的目的。但这不影响代码原有功能。是理想、实用的JavaScript保护方案
代码加密:可以通过某种手段将 JavaScript 代码进行加密,转成人无法阅读或者解析的代码,如将代码完全抽象化加密,如 eval 加密。另外还有更强大的加密技术,可以直接将 JavaScript 代码用 C/C++ 实现,JavaScript 调用其编译后形成的文件来执行相应的功能,如Emscripten 还有 WebAssembly。
JavaScript 混淆完全是在 JavaScript 上面进行的处理,它的目的就是使得 JavaScript 变得难以阅读和分析,大大降低代码可读性,是一种很实用的 JavaScript 保护方案。
javascript语法如何把json文件输出到html页面上
标签: js代码压缩, js代码混淆, js加密混淆, OB混淆JS
上面是“js是如何实现加密混淆的,原理介绍”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_5058.html
workflows工作流
- 一个浑身皮毛看起来像丘巴卡的3d动漫人物
- 一只可爱的飞鸟ComfyUI工作流
- 一种长着彩虹翅膀的虫子comfyui工作流
- 懂王特朗普3d漫画ComfyUI工作流
- 小鸟在黑暗的天空中优雅地跳舞
- 强大的长袍法师ComfyUI工作流
- 羚羊安上小白兔的门牙ComfyUI工作流
- 一个极其美丽细致的女孩ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!