bee-san/Ciphey

GitHub: bee-san/Ciphey

一款自动解密与解码工具,通过智能搜索与增强检测解决未知密文快速还原问题。

Stars: 21331 | Forks: 1429



➡️ Discord | Documentation ⬅️

Project ciphey

ciphey demo

ciphey 是下一代解码工具,由带来你 [Ciphey](https://github.com/ciphey/ciphey) 的同一批人构建。 我们完全打算用 ciphey 取代 [Ciphey](https://github.com/ciphey/ciphey)。 ✨ 你可以在这里了解更多关于 ciphey 的信息 https://skerritt.blog/introducing-ciphey/ ✨ # 如何使用 使用 ciphey 最简单的方法是加入 [Discord 服务器](http://discord.skerritt.blog),进入 #bots 频道,然后使用 `$ciphey`。输入 `$help` 获取帮助信息! 第二种最佳方式是使用 `cargo install ciphey` 并调用 `ciphey`。 你也可以 `git clone` 这个仓库并运行 `docker build .` 来获取镜像。 # 功能特性 以下是一些你可能感兴趣的功能,也是我们引以为豪的。 ## 快速 ![](https://raw.githubusercontent.com/bee-san/ciphey/main/images/better_demo.svg) ciphey 非常快。非常快。其他解码器如 Ciphey 需要提前使用人工智能来确定应该采取哪条解码路径(是尝试凯撒密码还是 Base64 等)。 ciphey 如此快速,以至于我们目前不需要担心这个问题。对于每一次解码,Ciphey 可以完成 1 次,ciphey 可以完成约 7 次。速度提升了 700%。 ## 以库为先 ciphey 主要由两部分组成:库和命令行界面。CLI 仅仅使用这个库,这意味着你可以在 ciphey 之上进行构建。我们已经构建的一些功能包括: * [一个 Discord 机器人](https://github.com/bee-san/discord-bot) * 更好的程序测试 💖 * 这个命令行界面 ## 解码器 ciphey 目前支持 16 种解码器,并且正在快速增长 [fast](https://github.com/bee-san/ciphey/issues/61)。Ciphey 支持大约 50 种,我们每天都在增加更多。 ## 计时器 Ciphey 的一个主要问题是它可能无限运行。如果它无法解码你的文本,你将永远不知道! ciphey 拥有一个计时器(内置在库和 CLI 中),这意味着它最终会过期。CLI 默认为 5 秒,Discord 机器人默认为 10 秒(以考虑网络消息传输)。 ## 更好的文档和更好的测试 ciphey 已经有大约 120 个测试、文档测试(用于确保文档保持最新)并且我们对所有主要组件都强制执行文档说明。这非常棒。 ## LemmeKnow ![](https://raw.githubusercontent.com/bee-san/ciphey/main/images/lemmeknow.svg) Screenshot 2022-12-18 at 17 08 36 [LemmeKnow](https://github.com/swanandx/lemmeknow) 是 [PyWhat](https://github.com/bee-san/pyWhat) 的 Rust 版本。它的速度快 33 倍,这意味着我们现在可以比 Python 快 3300% 地解码并判断某样东西是否是 IP 地址等。 ## 多线程 Ciphey 不支持多线程,速度较慢。ciphey 原生支持使用 [Rayon](https://github.com/rayon-rs/rayon) 进行多线程,这是最快的多线程库之一。 虽然我们只使用 16 个解码器(并且它们很快)时,看不到它的影响,但随着我们添加更多解码器(以及更慢的解码器),我们将看到它不会影响整体程序的速度。 ## 多层级解码 Ciphey 不支持像 Rot13 -> Base64 -> Rot13 这样的多层解密路径,因为速度太慢。ciphey 足够快,可以支持这种功能,尽管我们计划最终关闭它。 ## 可配置的明文检测灵敏度 ciphey 现在支持可配置的灵敏度级别用于乱码检测,允许在不同类型的编码中更准确地识别明文。古典密码如凯撒密码使用低灵敏度以更好地处理类似英文的结果,而大多数其他解码器默认使用中等灵敏度。 此功能有助于减少明文检测中的误报和漏报,使 ciphey 在更广泛的编码文本中更可靠。 ## 基于 BERT 的增强明文检测 ciphey 现在提供使用 `gibberish-or-not` crate 的基于 BERT 模型的增强明文检测。此功能: - 将明文检测准确性提高约 40% - 在识别明文时减少误报和漏报 - 可在首次运行设置时或之后通过 `ciphey --enable-enhanced-detection` 启用 - 需要一次性下载一个 500MB 的 AI 模型(需要免费的 Hugging Face 账户) # 新功能 ## 更优的搜索算法 我们现在使用 A* 搜索算法。这非常快。 A* 通过使用启发式函数来估算从当前状态到达目标的成本。 首先,我们忽略启发式函数,针对像 Base64 这样非常快的解码器,确保每次都优先运行它们。 然后,我们使用 `cipher_identifier` 计算剩余解码器的启发式值,该函数可以判断给定字符串是某种密码的概率。 我们将之前的结果存储在缓存中以避免重复计算相同路径。 我们修剪搜索树以避免不必要的计算,并在情况变糟时控制内存使用。 我们还跟踪解码器的统计信息,以动态优先选择工作更好的解码器(示例:凯撒密码很流行,但 Beaufort 不流行,因此凯撒密码会被动态优先于 Beaufort)。 最后,我们跟踪常用对。例如 base64 -> base64 非常流行,因此我们优先选择该路径(以及其他路径)。 ## 自定义主题 你现在可以为 ciphey 设置自定义主题。这在你希望让 ciphey 看起来不同时非常有用。 这也有助于可访问性。 ## 维吉尼亚密码(Vigenere) 我们现在使用可能是维吉尼亚密码的最佳算法。 它速度快、准确,并且比其他任何算法更好地处理非字母字符。 ## 更好的英文检测 我们使用四元组/三元组/英文字典检查器来计算明文的概率。 我们根据密码不同调整阈值。例如,凯撒密码返回的文本“看起来”像英文,而 Base64 则不是。 除此之外,我们还有一个包含约 500 个常用正则表达式的数据库,用于 API 密钥、MAC 地址等。 我们还有一个 `is_password` 函数,用于判断字符串是否与数据转储中看到的精确密码匹配。 ## 更多密码 * 盲文(Braille) * Atbash * 维吉尼亚密码(Vigenere) ## 数据库 我们现在在数据库中存储统计信息。这对于查看 ciphey 随时间的表现非常有用。 # 人工智能使用 我们使用人工智能用于两件事: 1. 终端用户界面(TUI)完全由 vibe 编码生成。 2. 我让 AI 花费数小时研究每一个 CTF 挑战。它创建了一个包含 15,071 个 CTF 的列表。然后它遍历每一个 CTF 并查找 writeup。在这些 writeup 中,它查找与编码/解码相关的内容。然后根据这些内容创建测试。这使我们能够增加测试覆盖率,并确保所有 CTF 编码/解码挑战都可以使用此工具解决。

标签:Base64, Docker, NLP解码, Rust, SEO, 二进制发布, 云资产清单, 关键词优化, 凯撒密码, 可视化界面, 哈希算法, 字符编码, 安全防御评估, 密码分析, 开源工具, 快速解码, 批量测试, 数据恢复, 文本解码, 机器学习解码, 编码解码, 网络流量审计, 自动化解密, 跨平台工具, 逆向工具, 逆向工程, 通知系统