本帖最后由 花老板 于 2026-6-17 11:04 编辑
JS调试器
Jade 编程助手 v1.1 内置的零依赖 JS 沙箱执行与调试工具
无需浏览器 DevTools | 粘贴即运行 | 自动检测缺失环境 | 一键补全
纯手写分词器 · 7 色语法高亮 · 异步完整支持 · 40+ 测试用例
▌下载地址:
▌ 核心定位
轻量级 JS 沙箱,专为逆向分析与脚本调试设计
- 从网站扒下来的 JS 代码,无需手动补环境,粘贴 → 检测 → 补环境 → 运行 一气呵成
- 完整支持 async/await、Promise、setTimeout,异步代码也能正常调试
- 零依赖:纯手写字符级分词器,不依赖任何第三方库,打开即用
- 抗污染:runId 递增隔离,旧运行异步回调自动过滤,多次运行互不干扰
▌ 核心功能
1. 沙箱执行与异步调试
- 隔离 strict mode 环境执行任意 JS,8 秒异步超时保护防止死循环挂起
- 同步代码毫秒级输出,异步代码主 Promise 完成后 500ms 宽限期捕获回调日志
- ⏹ 停止按钮:异步执行中可随时中断,避免死循环等待
- ⏱ 即使无 async IIFE,也为 setTimeout/Promise 回调预留 300ms 同步宽限期
2. 7 色实时语法高亮
- 自研字符级分词器,逐字符遍历源码,精确识别 7 种语法元素
- CSS Grid 覆盖层架构:textarea 透明文字在前 + pre 高亮渲染在后,零依赖实现
- 三主题独立配色:玻璃毛玻璃 / 纯黑 / 珍珠白 均适配
- Tab 缩进:按 Tab 插入 2 空格,不会跳出编辑器
| 类型 | 颜色 | 示例 | | 关键字 | 紫色 | function, const, return, async | | 字符串 | 绿色 | "Hello", 'World', `模板` | | 注释 | **斜体 | // 行注释, /* 块注释 */ | | 数字 | 琥珀色 | 42, 0xFF, 3.14e10 | | 内置对象 | 蓝色 | console, Math, JSON, Promise | | 函数调用 | 粉色 | foo(, bar( | | 正则字面量 | 红色 | /pattern/g |
3. 缺失全局变量检测 & 一键补环境 ⭐
- 逆向分析时遇到 __config、g_encrypt 等未定义全局变量?一键扫描自动识别
- 智能过滤:自动剥离注释/字符串,排除局部变量声明、属性访问、单字符回调参数
- 区分 undefined (未定义) 和 inaccessible (不可访问的内建变量)
- 【工具】 一键补环境:检测到缺失变量后,点击自动生成模拟声明并插入代码头部。小写变量名 → var xxx = {}; 大写开头 → class Xxx {} 其他 → var xxx = function(){};
- 生成后可手动调整类型和初值,再次运行验证
4. 代码格式化 & 压缩
- ▸ 格式化:智能缩进换行,{ 后缩进 +1、} 前缩进 -1;保留字符串和注释内容
- ▸ 压缩:去注释、去空白、合并换行;保留字符串内空格,关键词后保留必要空格
- 两者均实时更新语法高亮,支持 Ctrl+Z 撤销
▌ 技术架构亮点
- CSS Grid 双图层编辑器:textarea + pre 覆盖层同步滚动,无框架依赖
- 自研字符级分词器:7 种 token 类型全覆盖,无需 Prism.js / highlight.js
- 异步执行引擎:Promise 检测 + 超时保护 + 宽限期捕获,完整支持并发异步
- runId 隔离机制:旧运行异步回调自动过滤,新运行自动 clearTimeout 旧定时器
▌ 适用人群
| 人群 | 典型场景 | | 爬虫开发者 | 验证网站 JS 加密/混淆逻辑,快速补环境运行 | | 逆向工程师 | 调试剥离出来的脚本,检测缺失全局变量并自动修复 | | 前端开发者 | 快速验证代码片段、测试函数行为,无需开浏览器 DevTools | | 安全研究员 | 沙箱内运行可疑 JS,隔离执行不污染主环境 |
▌ 测试覆盖
经过 4 组 40+ 测试用例全面验证:
- 综合语法:变量/模板/箭头/解构/数组/原型/异常/Map/Set/生成器/Symbol/位运算
- 组合函数:compose/pipe/闭包/柯里化/防抖节流/Promise链/超时/重试/记忆化
- 异步边界:async/await/并发/AbortController/类型陷阱/NaN/编码/错误边界
- 实战场景:URL解析/自定义Promise/观察者/任务调度/Diff/并发锁/分页/状态机
全部通过 ✅
▌ 更新日志
| 版本 | 日期 | 变更 | | v1.1 | 2026-06-17 | 新增停止执行、一键补环境、i18n英文支持、全面测试验收 | | v0.4 | 2026-06-15 | 初始版本:沙箱执行、7色语法高亮、异步支持、缺失检测、格式化/压缩 |
▌ 使用流程
无需安装 Node.js、无需 npm、无需配置,打开即用:
- 1. 粘贴或编写 JS 代码到编辑器
- 2. 点击 [运行] 运行 查看 Console 输出
- 3. 点击 ▸ 检测环境 扫描缺失的全局变量
- 4. 点击 ▸ 一键补环境 自动生成模拟声明
- 5. 可选:▸ 格式化 / ▸ 压缩 代码
- 6. 异步执行时可点 ■ 停止 中断
Jade 编程助手 — 让 JS 调试回归简单
|