如何离线使用 CyberChef 完成加密、编码与数据分析:完整离线使用指南
【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef
CyberChef 是一款免费的浏览器端工具,内置 500 多个加密、编码、压缩与数据分析操作,全部在本地浏览器里执行,断网也能正常工作。下面带你把 CyberChef 部署到隔离网络中,并跑通三个最常用的离线解码场景。
一次隔离现场的应急解码,从这里开始 🚨
想象这个场景:你在一个断网的隔离环境里,手头有一段 Base64 编码的字符串,需要解开后继续分析,但手边没有任何在线工具。
CyberChef 正好适合这种情况。它的整个应用是纯静态前端——官方说明里写得很直接:应用完全运行在浏览器中,没有服务端组件,你输入的原始数据和配方配置"不会发送到任何地方"。换句话说,把它下载到本地,就等于把整套工具箱搬进了隔离网络。
有一点需要心里有数:全部操作中只有 3 个会真正发起外部请求——"Show on Map"(从 wikimedia 拉地图瓦片)、"DNS over HTTPS"(走 Google 或 Cloudflare 解析)、"HTTP Request"(请求你填入的任意 URL)。除了这 3 个,其余 500 多个操作离线均可用。不放心时,按 F12 打开开发者工具的 Network 面板,亲眼确认页面没有任何出网请求。
离线部署的三种方式:静态构建、Docker、Node 包
方式一:构建静态站点(最通用)
克隆仓库并执行构建,产物是一个可以直接被任何静态服务器托管的网站:
git clone https://gitcode.com/GitHub_Trending/cy/CyberChef cd CyberChef npm install && npm run build # 产物在 build/prod构建完成后,用 nginx 或任意简单静态服务器指向build/prod目录,断网环境下打开浏览器即可使用。
方式二:Docker 一行起容器
仓库自带 Dockerfile(构建后由 nginx 托管静态产物),在能联网的机器上执行docker build -t cyberchef-offline .,把镜像docker save导出成文件带进隔离环境,再用docker load加载、docker run -d -p 8080:80 cyberchef-offline启动即可。
方式三:当 Node 库用(适合写脚本)
如果不想开浏览器,可以直接npm i cyberchef安装同源的 Node 包,在脚本里调用和操作列表相同的能力,适合把解码步骤固化成自动化流程。
三种方式选哪个?临时用一次选方式一;整台机器长期离线选方式二;要批量处理选方式三。
场景一:把抓到的 Base64 串解开再解压 🔓
做什么:很多日志和流量里的载荷是"Base64 + gzip"两层包装,需要一层层剥开。
怎么做:在左侧操作列表搜索 "From Base64" 拖入工作区,再往下追加一个 "Gunzip" 操作。CyberChef 的操作可以像链条一样依次排列,也可以直接把配方写成一行文本加载:
From_Base64() Gunzip()得到什么:右侧输出区实时显示解压后的明文。注意一个细节:当输出超过约 1MiB 时,界面会把它变成可下载的文件,并允许按片段查看——这对处理几 MB 的大输出很友好。
场景二:从大文件里挖 IP、字符串与熵值 🕵️
做什么:拿到一个可疑文件(样本、日志包、内存转储),想快速摸清里面有什么。
怎么做:直接把文件拖到输入框即可(支持拖拽载入)。依次追加几个操作:
- "Strings":提取可打印字符串,快速看文件里藏了哪些文本
- "Extract IP Addresses":挑出所有 IPv4 地址
- "Entropy":计算熵值,熵明显偏高的区段往往是被压缩或加密的数据
- "Detect File Type":识别文件真实格式,不被扩展名误导
得到什么:一串可供下一步深入分析的线索。文件上限方面,官方页面给出的口径是"约 2GB(取决于浏览器)",大文件上跑复杂操作会比较慢,这是正常现象。
场景三:离线把图片里的文字读出来 👀
做什么:截图、扫描件里写着关键信息,而 OCR 服务全部需要联网。
怎么做:选中 "Optical Character Recognition" 操作,把图片文件拖进输入框,右侧直接输出识别出的文本。上面这张示例图就是官方测试用的 OCR 样图,识别效果可以直接参考。
得到什么:纯文本结果,可继续接入正则搜索、编码转换等后续操作。整个过程没有一次网络请求。
离线效率技巧:5 条建议直接抄
- 批量数据用 Fork:有 20 个时间戳要解析?用 "Fork" 操作按行拆分输入,后面的操作会对每一行各跑一遍,避免复制粘贴 20 次。
- 配方存两处:常用配方存到浏览器本地存储(Options 会持久保留在同一浏览器配置档里),同时用地址栏生成的深链接复制一份文本备份——深链接同时携带配方和输入,粘到任何地方都能原样还原。
- 避开 3 个联网操作:在离线环境里别用 Show on Map、DNS over HTTPS、HTTP Request,以免误以为工具坏了。
- 大输出当文件处理:超过 1MiB 的输出会自动变成下载文件,想逐段检查时用切片查看功能,不要试图一次性读完。
- 用 F12 做信任校验:首次部署后打开 Network 面板跑一遍常用操作,确认零出网请求,把信任建立在证据上而不是感觉上。
常见问题:离线使用 CyberChef 时的 4 个疑问
Q:我的数据真的不会离开这台机器吗?A:会离开机器的只有上述 3 个操作(且需要你主动选择)。其余操作全部在浏览器本地计算,可用开发者工具的 Network 面板验证。
Q:为什么之前保存的配方不见了?A:配方存在浏览器本地存储里,绑定具体浏览器的配置档。换浏览器、换设备或清除了站点数据都会导致丢失。重要配方请额外复制深链接或配方文本保存。
Q:能处理多大的文件?A:官方口径为约 2GB(受浏览器内存限制),但几百 MB 级别的数据跑复杂操作会很慢,建议先用 "Subsection" 截取片段再分析。
Q:断网时哪些功能会"看起来坏了"?A:只有那 3 个依赖外部服务的操作会失败或空转,其他 500 多个操作不受影响。
现在就把工具箱搬进隔离环境
找一台能联网的机器执行一次构建,把build/prod目录拷进你的离线环境,CyberChef 就能在断网中随时待命。先从一个 Base64 解码配方开始练手,再慢慢把常用操作串成自己的离线分析流水线——你完全掌控的工具,才是关键时刻靠得住的工具。
【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考