工具
de4js JavaScript 反混淆与解包工具
在浏览器中运行的 JavaScript 反混淆与解包工具,以 Jekyll 网站形式构建,也可作为渐进式 Web 应用离线使用。它可自动识别或由使用者选择编码方式,还原 Dean Edwards 的 Packer、基于 eval 和数组的混淆器、部分 Obfuscator.IO 输出、JSFuck、JJencode、AAencode、URL 编码、My Obfuscate 和 WiseLoop,再对结果进行美化和语法高亮,并提供反转义字符串、合并字符串、恢复对象路径和计算常量表达式等选项。另有可选的用户脚本把代码发送到 JS Nice 服务,为难以阅读的标识符重新命名。
使用条件与局限
- 仓库已归档。最后一个版本 v1.12.0 发布于 2021-03-28;所审阅的 master 提交日期为 2021-11-12,此后只增加了依赖更新,以及对选项值转换为布尔值方式的修复。README 指出 Obfuscator.IO 始终在更新,包括本工具在内的自动化工具通常跟不上其最新版本。审阅时主页 lelinhtinh.github.io/de4js 经重定向后仍可使用该应用。
- 使用托管页面无需安装。本地运行可用 docker-compose,或使用 Ruby 2.1+、Bundler 和 GitHub Pages 的 Jekyll gem,地址为 localhost:4000/de4js/;npm run build 还需要 workbox-cli 来生成离线用的 service worker。Wise 解包器从 NotSoWise git 子模块载入,须一并检出该子模块。
- 输入可以是粘贴的代码、打开的文件或从 URL 获取的脚本。Eval、JSFuck、Array、_Number、Obfuscator.IO 和 AAencode 解码器以及表达式计算选项,会在 Web Worker 中用 eval 执行输入的全部或部分内容,因此不可信代码会在浏览器的 worker 环境中运行。JS Nice 用户脚本通过未加密的 HTTP 把代码发送到 jsnice.org,且无法离线使用。
- package.json 未定义测试,仓库也没有自动化测试或 CI。解码能否成功取决于混淆工具及其版本,因此需要阅读输出结果加以核对。
- 采用 MIT 许可;随附的 js-beautify、highlight.js、clipboard.js、math.js、Workbox、magic-check 代码以及 AAencode 和 JJencode 解码器保留各自的声明。所审来源未提及 REA 的使用,本收录未对任何代码进行反混淆。
关于此条目
- 类型
- 工具
- 类别
- JavaScript 与 Electron 工具
- 关联
- 基础工具
- 目标
- 网站
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · lelinhtinh/de4js · 修订 b06fff9
- worker/decode.js GitHub · lelinhtinh/de4js · 修订 b06fff9
- lib/evaldecode.js GitHub · lelinhtinh/de4js · 修订 b06fff9
- lib/utils.js GitHub · lelinhtinh/de4js · 修订 b06fff9
- _data/methods.yml GitHub · lelinhtinh/de4js · 修订 b06fff9
- _data/options.yml GitHub · lelinhtinh/de4js · 修订 b06fff9
- userscript/de4js_helper.user.js GitHub · lelinhtinh/de4js · 修订 b06fff9
- .gitmodules GitHub · lelinhtinh/de4js · 修订 b06fff9
- package.json GitHub · lelinhtinh/de4js · 修订 b06fff9
- docker-compose.yml GitHub · lelinhtinh/de4js · 修订 b06fff9
- LICENSE GitHub · lelinhtinh/de4js · 修订 b06fff9
- https://github.com/lelinhtinh/de4js/releases/tag/v1.12.0
同分区更多条目:应用
- DexKit 混淆 DEX 代码检索库 · 工具
- Aegis:追踪登录验证码计算 · 案例
- Notion:追踪剪贴板桥接 · 案例
- PicoPrint:LX-D02 打印机调查 · 案例
- ReaCut:视频编辑器重建案例 · 案例
- CF632BLE:基于体脂秤协议研究的本地客户端 · 案例