CyberChef 是一个简单直观的网页应用,用于在浏览器中执行各类“网络”操作。这些操作包括简单编码(如 XOR 和 Base64)、更复杂的加密(如 AES、DES 和 Blowfish)、生成二进制及十六进制转储、数据压缩与解压缩、计算哈希值和校验和、IPv6 与 X.509 解析、字符编码转换等。
该工具旨在让技术人员和非技术人员无需使用复杂工具或算法,就能以多样化的方式处理数据。它由一位分析师利用其 10% 的创新时间构思、设计、构建并不断改进。
CyberChef 仍处于积极开发阶段,因此不应被视为成熟产品。仍有大量测试、漏洞修复、新功能添加和补充文档的工作等待完成。欢迎贡献!
请勿在任何情况下依赖 CyberChef 的加密操作提供安全保障,其正确性也不作任何保证。
点击这里查看在线演示 — 玩得开心!
如果您希望在本地试用 CyberChef,可以选择自行构建:
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:80 cyberchef
或者直接使用我们的镜像:
docker run -it -p 8080:80 kumakaiha/cyberchef_chinese:latest
该镜像由我手动构建并发布。
CyberChef 主要包含四个区域:
- 位于右上角的 输入 框,可用于粘贴、键入或拖入您要处理的文本或文件。
- 位于右下角的 输出 框,用于显示处理结果。
- 位于左侧的 操作 列表,展示了所有可用操作,可按类别或通过搜索查找。
- 位于中间的 步骤 区域,您可以将所需操作拖入并指定参数和选项。
您可以以简单或复杂的方式使用任意数量的操作。以下是一些示例:
- 解码 Base64 编码字符串
- 将日期和时间转换为不同时区
- 解析 Teredo IPv6 地址
- 从十六进制转储转换数据后解压
- 解密并反汇编 shellcode
- 将多个时间戳显示为完整日期
- 对不同类型数据执行不同操作
- 将输入的部分内容作为操作参数
- 执行 AES 解密,从密文开头提取 IV
- 自动检测多层嵌套编码
- 拖放功能
- 操作可在步骤列表中自由拖动和重排。
- 文件大小高达 2GB,可通过拖拽直接加载到浏览器。
- 自动处理
- 每当您修改输入或步骤时,CyberChef 会自动“处理”并生成输出。
- 如果输入数据量巨大,也可选择关闭自动处理,手动操作以提升性能。
- 自动检测编码
- CyberChef 利用 多种技术 自动识别数据编码。如果找到适用的操作,将在输出区域显示魔术图标,点击即可解码。
- 断点调试
- 您可以在步骤中的任何操作上设置断点,在执行前暂停操作。
- 同时支持逐步执行步骤,查看每个阶段的数据状态。
- 保存与加载步骤
- 如果您设计出优秀的步骤,可点击“保存步骤”将其存储于本地,下次访问时自动加载。
- 您也可以复制包含步骤和输入的 URL,方便与他人共享。
- 搜索
- 在搜索框中输入操作名称或相关关键字,即可快速显示匹配项。
- 高亮显示
- 高亮选中输入或输出中的文本时,会显示相应的偏移量和长度,并尽可能在另一端高亮显示对应数据(例如:选中输入中的“question”以查看其在输出中的位置)。
- 保存到文件与从文件加载
- 您可以随时将输出保存到文件,或通过拖拽加载文件到输入框。支持的文件大小约为 2GB(取决于浏览器),但部分操作处理如此大数据可能需要较长时间。
- CyberChef 完全在客户端运行
- 请注意,您的步骤配置和输入(文本或文件)均不会发送到 CyberChef 服务器——所有处理均在您的浏览器中完成。
- 因此,您可下载并本地运行 CyberChef,使用左上角的链接获取完整副本,将其部署在虚拟机中,与他人共享,或在封闭网络内托管。
通过操作 CyberChef 的 URL hash,您可以修改页面初始打开时的设置。
格式为:https://kumakaiha.github.io/CyberChef_Chinese/#recipe=Operation()&input=...
支持的参数包括 recipe
、input
(Base64 编码)与 theme
。
CyberChef 支持以下浏览器:
- Google Chrome 50+
- Mozilla Firefox 38+
CyberChef 完全支持 Node.js v16
。更多信息请参见 “Node API” wiki 页面
为 CyberChef 添加新操作非常简单!快速入门脚本将引导您完成整个过程。如果您能编写基础 JavaScript,就可以编写 CyberChef 操作。
关于安装步骤、添加新操作与主题的指南、仓库结构、可用数据类型以及编码规范等详细信息,请参阅 “贡献” wiki 页面。
- 将您的修改推送至 fork。
- 提交 pull request。如果您是首次贡献,会提示您通过 CLA 助手签署 GCHQ 贡献者许可协议,同时询问您是否同意 GCHQ 与您联系以示感谢或探讨工作机会。
CyberChef is released under the Apache 2.0 Licence and is covered by Crown Copyright.