简体中文
cover

一键全自动解密,这个开源工具强到离谱。

上个月接手了一个老项目。

上个月接手了一个老项目。

前任开发跑路了,文档没有,注释也基本等于没有。

翻数据库的时候,发现有一张表里藏着这么一列字段:"aGVsbG8gd29ybGQ="。

我问了一圈,没人知道这是什么加密的,也没人知道当初为什么要加密,更没人知道该怎么解。

看着像 Base64,试了一下,解出来还是乱码。

又挨个试了十六进制、摩斯密码、凯撒密码……折腾了快一刻钟,除了血压升高,一无所获。

心态都快要崩了。

于是到 GitHub 上乱翻,就在这时候,被我挖到了一个好东西。

它叫 Ciphey

image-20260303114021882

简单说,它就是一台聪明的万能解密机。

我们只需要把那串看不懂的乱码扔进去,剩下的事它全包了。

它会自动分析这串字符可能是什么加密方式,从几十种常见算法里挨个尝试,直到把那句人话找出来,递到你面前。

Ciphey demo

README里有一句话,我看到的时候稍微坐直了一点:

"这就是关键。你不知道它是什么加密的,你只知道它可能被加密了。Ciphey会帮你搞清楚。"

它最聪明的地方,其实在于它真的"识字"。

以前的工具是暴力硬解,解出来一堆乱七八糟的符号也照样扔给你。

Ciphey不一样,它内置了一个自然语言处理模块,能像人一样去"阅读"解密后的结果,判断这行东西到底是通顺的句子,还是另一种形式的乱码。

是乱码,就自动过滤掉,继续试下一种算法,直到找出真正的答案。

image-20260303114106250

它的核心是一个叫 AuSearch 的搜索模块,本质上是在所有可能的解密方式里做启发式搜索,根据字符特征快速跳跃,只沿着置信度高的路径往下走,不会像无头苍蝇一样乱撞。

而且整个底层是用C++写的,外面套着Python的壳。

简单说就是,它披着Python优雅的外衣,底层在用C++疯狂压榨性能。

Gif showing 3 ways to run Ciphey

这就是为什么官方说的 “3秒解密”,不是吹的。

这么好用的东西,上手也很简单,一行搞定:

python3 -m pip install ciphey --upgrade

用Windows的朋友注意一下,如果你的Python是3.10及以上版本,可能会遇到兼容性问题,建议用3.7到3.8版本跑会更稳。

嫌版本麻烦的话,直接用Docker也行:

docker run -it --rm remnux/ciphey

image-20260303114456880

装好之后,把那串字段扔进去:

ciphey -t "aGVsbG8gd29ybGQ="

它就会全自动跑起来,自己分析,自己试算法,自己判断结果是不是人话。

你什么都不用做,等它把答案递出来就行。

hello world

它不仅给了结果,还把整条解密路径一并打出来了,这是Base64编码,置信度多少,解码后是什么,清清楚楚。

如果只想看最终结果,不想看它一步步分析的过程,加个-q参数就行:

ciphey -t "aGVsbG8gd29ybGQ=" -q

干净利落,只出答案。

支持超过 50 种加密和编码格式,Base64、Base32、二进制、十六进制、摩斯密码、凯撒密码、维吉尼亚密码、哈希识别……几乎覆盖了日常开发里会遇到的所有情况。

对于要用它干活的开发者来说,还有一个更香的地方,它可以作为库直接集成进自己的代码里:

fromCiphey.__main__importmain

一行 import,就可以把它嵌进安全工具、自动化脚本、日志分析管道,随叫随到。

当然边界也说清楚,它破不 了AES、RSA 这类现代加密,那是数学难题,不是它的主场。

自然语言判断目前也主要支持英语和德语,中文密文解出来,准确率会打折扣。

说完这些,心里有点感慨。

处理不明编码这件事,以前是有真实门槛的。

你得有足够的经验积累,看到一串乱码,才能在脑子里快速过一遍所有可能的格式。

这种直觉,很多人在项目里摸爬滚打好几年才慢慢练出来。

而Ciphey,是利物浦大学一个网安社团做出来的开源项目。

他们把那几年的直觉,装进了一个pip install

让每一个对着遗留乱码挠头的开发者,都能用上这双眼睛。

免费,开源,MIT协议,拿去用,拿去改,都行。

让效率归技术,让体面归人类。

我想,这才是开源最动人的地方。

项目地址:https://github.com/Ciphey/Ciphey

文章在技术分类中;
0
0
0
0