ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CyberChef 离线使用指南:3 步在无网环境跑通加密解码

CyberChef 离线使用指南:3 步在无网环境跑通加密解码 CyberChef 离线使用指南3 步在无网环境跑通加密解码【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef你拿到一段 Base64 密文但所在的终端处于隔离网络、没有外网。CyberChef 是一款做加密、编码、压缩与数据解析的 Web 工具它的配方全部在你自己的浏览器里执行数据不出本机断网照样能用。验证它真的不用联网3 分钟上手打开 CyberChef官网或自建实例均可。把一段 Base64 文本粘到右上角输入框从左侧操作列表把 From Base64 拖进中间配方区。看输出Auto Bake自动烘焙默认开启拖完立刻出结果不用点任何按钮。打开开发者工具 Network 面板刷新页面后继续反复修改输入和配方——首次加载之后不会再发出任何新请求。第 4 步是关键所有计算都发生在你的浏览器里页面没有任何地方在上传数据。还有一个更有用的副作用每次改动后地址栏会被自动重写成#recipeFrom_Base64(...)inputBase64这样的形式配方和输入全部塞进了 URL。这条链接就是配方本身在任何浏览器打开都会还原出同样的配方和输入——你可以用它把解码流程分享给同事也可以存下来带到隔离环境。输入是图片也行拖进输入框后加一个 Optical Character Recognition光学字符识别OCR操作就能把图中文字读出来一次烘焙怎么完成Worker 与按需加载机制一计算放在独立的 Web Worker 线程里。你看到的行为处理几百 MB 的数据时页面按钮依然可点界面不卡死。背后是主线程只管显示真正的活在 ChefWorker 中执行。主线程把输入和配方配置打包成{action: bake}消息发过去Worker 调用 Chef.mjs 的bake()把数据装进一个叫 Dish 的容器再让配方里的每个操作依次处理最后回传结果、执行到第几步progress和耗时。某个操作抛错不会让整体崩掉错误被包进响应返回progress 直接告诉你卡在哪个操作。机制二操作模块按需加载。你看到的行为第一次用到 AES、Bzip2 这类操作时状态栏会闪一下 Loading ... module第二次就秒出。背后是CyberChef 把 300 多个操作按依赖库拆成独立模块文件由 generateConfig.mjs 生成每次烘焙前只加载当前配方真正用到的模块// src/core/ChefWorker.js节选 self.loadRequiredModules function(recipeConfig) { recipeConfig.forEach(op { const module self.OperationConfig[op.op].module; if (!(module in OpModules)) { self.importScripts(${self.docURL}/modules/${module}.js); } }); };还有一个细节浏览器标签页在后台停留较久后内存可能被系统换出切回来第一次烘焙会明显变慢。CyberChef 会针对这种情况跑一次静默烘焙silentBake见 Chef.mjs 中的注释把相关代码重新预热进内存输出不受影响只是提前热身。其余机制一句话带过选项和 Favourites收藏列表存在浏览器 LocalStorage 里App.mjs 的loadLocalStorageSave recipe 同样写入本地存储——清浏览器数据会一并清掉重要流程要靠 URL 携带。用得到的功能与参数清单功能 / 参数在哪作用Auto Bake页面顶部控制区输入或配方变化时自动重算大文件建议关掉手动点 BakeBreakpoint / Step配方区操作上的图标暂停执行、单步检查中间数据定位哪一步之后结果不对recipe/input/theme地址栏#片段深链参数input为 Base64 编码另支持op、ienc、oenc等Save recipe顶栏配方存入浏览器 localStorage下次打开还在2GB 文件拖拽输入框文件直接载入浏览器部分操作对超大文件会很慢 复杂流程还可以用 Register 操作从输入中截取一段内容比如 AES 密文开头 32 字符的 IV作为后面操作的参数不需要借助任何外部工具。4 个最容易卡住你的情况现象某操作第一次用很慢状态栏显示 Loading ... module →原因对应模块不在内存中走的是 importScripts 按需加载 →处理一次性行为固定组合的操作加载过一次后就是即时响应。现象大文件几百 MB每敲一个字页面都卡一下 →原因Auto Bake 让每次输入变化都整体重算 →处理关闭 Auto Bake改手动点 Bake。现象隔离环境里重新打开页面收藏和保存的配方不见了 →原因LocalStorage 与浏览器实例绑定换机器或清数据即丢失 →处理用深链 URL 携带配方recipeinput不要只依赖 Save recipe。现象输出报错配方停在某一步不再往下走 →原因操作抛出的 OperationError 被当作预期输出返回progress 指向出错步骤 →处理检查该步参数或设断点 Step 单步查看进入该操作时的数据长什么样。⚠️ 深链的input会以 Base64 形式出现在地址栏里不要把大文件或高敏感数据放进 URL 传播。3 步做出离线可用的副本官网页面左上角提供了一个下载 CyberChef 完整离线副本的入口下载后可直接放进虚拟机或在闭网环境托管。想自己构建的话获取源码git clone https://gitcode.com/GitHub_Trending/cy/CyberChef用 Docker 则无需工具链。Docker 部署命令来自 READMEdocker build --tag cyberchef --ulimit nofile10000 . docker run -it -p 8080:8080 cyberchef或构建静态产物npm install后npm run buildbuild/prod目录就是可直接托管的静态页面。如果你不满足于点界面同一套核心也能在 Node.js 里跑仓库的 src/node 提供 Node APInpm run repl可以交互式试玩。交付前检查清单开发者工具 Network 面板中编辑输入时没有发出新请求复制地址栏 URL 能完整复现当前配方含recipe与input重要配方已用 URL 导出不只依赖 Save recipe大文件场景已关闭 Auto Bake隔离机器上已备好离线副本左上角下载链接或 Docker 镜像下一步建议读 README 的 Deep linking 一节看完整 URL 参数格式想给团队加一个自己的操作从 src/core/operations/ 里挑一个最简单的如 ROT13读一遍再看npm run newop脚手架脚本的用法即可。【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表