JavaScript代码混淆加密

前言:众所周知,JavaScript大都是运行在浏览器端,这就导致任何人都可以直接对网站的代码进行查看,如果代码没有进行任何处理就会导致直接暴露源码,他人便可轻而易举的复制你的劳动成果,所以给大家介绍一下新出的代码混淆加密工具 safekodo。 网址为www.safekodo.com


safekodo混淆加密的几种类型


如上述图片所示,safekodo提供的加密有:JavaScript代码加密、动态加密、多文件加密、API方式加密 等几种方案。

JavaScript代码加密

JavaScript代码加密为最常用的加密方式 ,可以在此处加密适用于网页端或者NODEJS的js代码,配置如下图所示(配置介绍将在下方进行阐述)

因为是演示所以就以官网提供的模板代码为例进行加密

下图为加密后的代码:

运行

在html中引入使用 并测试禁止调试 屏蔽f12等

参数介绍

  • 首先可以看到“性能配置”有三个选项,建议是如果代码非常注重安全,且对性能要求较低时选择“最强加密”、如果对代码性能要求很高时选择“最佳性能”,当然也可以选择折中方案即“均衡加密”
  • 基本配置
    1. 迷惑代码注入(向提交的代码中注入迷惑代码块,用于迷惑干扰解密)
    2. 剔除console函数(剔除console函数,使得控制台无法通过console函数输出)
    3. 屏蔽键盘F12 (屏蔽浏览器的F12键,配合“禁用控制台调试”使用,以防止在配置了“禁用控制台调试”后正常用户误触导致F12导致浏览器卡死的情况)
  • 进阶配置
    1. 控制流扁平化(将代码结构改变,使得程序的逻辑复杂不易分析,大幅增加解密难度。)
    2. 禁用控制台调试(开启后无法通过控制台进行代码调试)
    3. 禁止代码格式化(开启后代码在格式化后将无法正常运行,如果开启了此配置导致代码无法运行请查看底部说明进行排除 )
    4. 混淆更改变量名、函数名(勾选后提交的代码中的函数名变量名,会被混淆。如涉及到多个js文件间的相互调用,请谨慎使用该功能。或在下方添加名称保留字)
  • 高级配置
  1. 代码运行环境 【可选浏览器 || NODE】
  2. 运行在非指定域名时【可选:禁止运行代码 || 跳转至指定网址】注意:此选项只有在添加了锁定域名时才可使用
  • 域名锁定:添加后只能在指定的域名内运行,多个子域名支持统一配置、支持前端通配符,如 *.safekodo.com
  • 名称保留字:当勾选了混淆变量函数名后,对于不想被混淆的变量名、函数名可在此处添加
  • 运行时间锁定:运行时间锁定,锁定后代码仅在指定时间段内可以运行 如果勾选该选项默认为一年

动态加密

### 动态加密
动态加密仅适用于web端js加密,需要上传一个js文件,加密后获得一个以script方式引入的script标签
您可直接在项目中粘贴引用,这样每次访问该网站时script标签引入的js都将是不同的且为加密后的js文件,从而达到动态加密的效果



动态加密运行示例

参数介绍

与JavaScript代码加密 不同的是 高级配置中 引用方式可选 https || http

多文件加密

将多个js文件压缩为zip格式的压缩包 提交加密即可此处不演示了~ _ ~

API方式加密

以api形式发送post请求加密即可此处不演示了~ _ ~

特别注意事项

  • 当您使用safekodo 加密后代码运行出错错误类型为Uncaught ReferenceError: xxx is not defined。首先需要排除的是配置项中是否勾选了“混淆更改变量名、函数名”。如果勾选了此配置,可尝试取消勾选。或在“名称保留字”配置中添加。也可以修改未加密的js代码,将该方法或者变量定义为全局的。
  • 当您使用safekodo 加密后代码运行遇到无缘无故的运行无报错但也无效果时,首先要看的是是否允许在了指定的(即您配置的锁定域名)域名上运行。其次需要排查是否配置了运行时间锁定,如若配置了,请排查是否在配置的时间内运行。
  • 当您使用safekodo 加密后代码运行浏览器出现了卡死情况,请先排除是否配置了“禁用控制台调试”,在配置了该参数的情况下请排除是否开启了浏览器控制台,如若开启,请先关闭控制台,其次排除是否配置了“域名锁定”,并在该域名下运行代码。
  • 当您排除了以上情况,代码仍然无法运行或报的错误为其他情况时,请查看是否配置了“禁止代码格式化”,如果排除了是该配置导致的无法运行时,解决方案有两个:1、您可根据情况选择不使用该配置。2、当您仍需使用该配置时,在加密完代码后,粘贴到您的文件时需要注意如果您的开发者工具(例如您使用的是VSCode)如果设置了保存格式化时,请使用记事本或选择不会自动格式化代码的IDE打开文件进行代码粘贴,因为您的开发者工具在您粘贴后可能会自动进行格式化,导致代码无法运行!这个是比较容易出现的状况!

JavaScript代码混淆加密 JS不可逆加密 JavaScript在线加密 免费JS代码加密工具相关推荐

  1. 图形化开发(一)——Three.js基本介绍-优缺点-在线编辑器 Babylon.JS是最好的JavaScript3D游戏引擎

    图形化开发(一)--Three.js基本介绍-优缺点-在线编辑器 & Babylon.JS是最好的JavaScript3D游戏引擎 课程主要学习目标 Threejs ( 3d ) D3 (做数 ...

  2. js经验分享 JavaScript反调试技巧

    在此之前,我一直都在研究JavaScript相关的反调试技巧.但是当我在网上搜索相关资料时,我发现网上并没有多少关于这方面的文章,而且就算有也是非常不完整的那种.所以在这篇文章中,我打算跟大家总结一下 ...

  3. 让逆向工程师们头疼的代码混淆,就像永远也走不出的“浪浪山”

    目录 代码混淆究竟是什么? 如何做代码混淆? 代码混淆不等于加密 App 加固非一时之功 "我想离开浪浪山." 在数次尝试破解某个App 时,某个逆向工程师无奈感慨道. 逆向工程师 ...

  4. .net 代码混淆原理性实践

    现在我们已经很清楚,托管PE文件可以轻而易举的被反编译,如果您想源代码不被使用者通过反编译的方式获得,该使用哪种保护手段呢? 借鉴传统Windows应用程序防止被反汇编的做法,我们也可以采用代码混淆和 ...

  5. 代码混淆是什么?代码混淆的方法有哪些?

    一.什么是代码混淆?  代码混淆 (Obfuscated code)是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为.代码混淆可以用于程序源代码,也可以用于程序编译而成的中间 ...

  6. Android代码混淆

    作为一名技术开发人员,为了保护源代码,阻止反向工程我们势必会接触到代码混淆.代码混淆亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为,代码混淆可以用于程序源代码, ...

  7. android 加花工具下载,Android 代码混淆并加花

    APK安全: 代码混淆且加壳防止反编译 1.用到的工具jd-gui-0.3.5.windows dex2jar-0.0.9.15 IDAProv6.8 C32Asm DexFixer Windowss ...

  8. Android 代码混淆 包名被混淆 主工程二次混淆 一站解决你的混淆

    代码混淆 (Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为.代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码.执行代 ...

  9. 代码混淆之后定位线上bug

    ##代码混淆的目的 代码混淆的目的是防止竞争对手通过反编译来阅读项目代码. Android中通过ProGuard来做代码混淆(当然也还有其他的产品可以做代码混淆). ##bug日志反混淆 资料:错误l ...

  10. springboot项目代码混淆和反编译教程·附软件连接

    对springboot项目进行代码混淆,可以防止别人通过反编译项目查看代码,即使反编译了查看的也是混淆后的看不懂的代码. 一定程度保证了项目源码安全性. 下面分享代码混淆步骤和反编译操作 Allato ...

最新文章

  1. layui鼠标放上图片局部放大_花卉图片后期这5招,不美都不行!
  2. 邀请函|2021 云原生实战峰会,邀请您免费现场参会报名
  3. 【数据】短视频识别,都有那些行业标准?
  4. bat脚本交互输入_测评 | 不使用powershell运行 PowerShell 脚本的工具汇总
  5. String,StringBuffer,StringBuilder
  6. Docker入门(CentOS7)
  7. 如何实现 asp.net core 安全优雅退出 ?
  8. freeCodeCamp:Diff Two Arrays
  9. php 还原html,可恢复代码的HTML UI元素PHP
  10. 1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
  11. java中char和string的区别是什么
  12. 共享GPU来了!投身去中心化机器学习,比挖矿多赚3倍
  13. SQL那些事儿(三)----和小伙伴们做武大游
  14. win10 Anaconda 安装教程
  15. C++ GUI Qt4 自学笔记
  16. Win10系统中英文切换
  17. 51单片机——实现呼吸灯程序代码
  18. c语言实现矩阵转置、矩阵乘法
  19. java excel转pdf linux_docker安装libreoffice并实现把Excel转为pdf
  20. Python_计算加速度

热门文章

  1. CocoStudio 骨骼动画制作过程
  2. cocoStudio UI编辑器设置自定义字体
  3. ThinkPHP5旅游管理系统
  4. sap系统搭建教程_手把手安装SAP ERP系统
  5. 【Matlab】Matlab2014修改默认工作目录
  6. 计算机2017语言排名,2017计算机编程语言排行榜 java依然独占鳌头
  7. 软件项目uat测试报告,项目管理-验证阶段-UAT测试报告.doc
  8. python怎么通过手机号定位_基于Python的免费手机号码归属地查询
  9. 虚拟机系统iso镜像下载_[原版镜像]macOS Mojave 10.14.1 原版 iso 镜像- 虚拟机专用
  10. 在app上查看开发代码