euxaristia/sifr

GitHub: euxaristia/sifr

一款用 Go 编写的快速轻量级凯撒密码破解工具,专为 picoCTF 及常规 CTF 挑战优化,支持自动智能匹配与暴力枚举。

Stars: 0 | Forks: 0

# sifr (صفر) `sifr`(阿拉伯语,意为*零*或*密码*)是一个快速、轻量级、兼容 POSIX 的 Caesar 密码破解工具,使用 Go 编写,专门针对 **picoCTF** 和常规 CTF 挑战进行了优化。 它的设计具有高度兼容性(为 macOS 和 Linux 编译)、无依赖且对 shell pipeline 友好。 ## 功能特性 - ⚡ **零依赖,单一二进制文件**:完全使用 Go 标准库构建,实现瞬间启动。 - 🤖 **零配置智能自动破解**:运行 `sifr ` 无需任何 flag,它会自动在所有 25 种偏移量中搜索标准的 flag 前缀(默认:`picoCTF`)。如果未找到匹配项,它会平滑地回退到暴力破解所有偏移量。 - 🎨 **精美的 ANSI 彩色终端输出**:以粗体绿色突出显示匹配的子字符串,并以清晰的青色格式化偏移量。当输出通过管道传输或重定向到非 TTY 端点时,会自动禁用颜色代码。 - 🧼 **纯净输出模式 (`-c`, `--clean`)**:仅输出原始解密文本——非常适合 Unix pipeline 自动化(例如 `sifr -a -c | pbcopy`)。 - 📁 **灵活的输入源**:支持直接从参数、文件或标准输入(管道)无缝读取密文。 - 🧭 **短/长 flag 配置**:支持标准的 POSIX 单划线和 GNU 双划线风格的参数。 ## 安装 确保你已安装 [Go](https://go.dev/),然后运行: ``` # 本地构建 go build -o sifr . # 或者将其安装到你的 $GOPATH/bin go install . ``` ## 使用指南 ``` sifr - A fast, POSIX-compliant Caesar cipher solver for picoCTF Usage: sifr [flags] [ciphertext_or_filepath] Flags: -s, --shift Shift the input by a specific number of positions (1-25) -b, --brute Brute-force and print all 25 possible shifts -a, --auto Auto-solve mode: check all shifts for pattern (default pattern: picoCTF) -p, --pattern Custom pattern to look for in auto-solve mode (default: picoCTF) -c, --clean Only output the raw plaintext, omitting metadata and color codes -n, --new-caesar Use New Caesar cipher (custom Base16 / modulo-16 solver) -h, --help Show this help message ``` ### 示例 #### 1. 零配置 Flag 搜寻(自动智能破解) 将密文作为参数传入。`sifr` 会自动扫描所有偏移量以寻找 `picoCTF` 并高亮显示匹配项: ``` $ sifr "cvpbPGS{guvf_vf_n_grfg}" Shift 13 (MATCH): picoCTF{this_is_a_test} ``` #### 2. 破解 New Caesar 密码 使用 `-n` 或 `--new-caesar` flag 来破解如 picoCTF 的 "New Caesar" 这样的挑战: ``` $ sifr -n "picoCTF{fegdeogdgecoeocgcgchcfcffccfca}" Shift 0 (key a) (MATCH): picoCTF{TcNcd.N&&'%%R% } Shift 15 (key p) (MATCH): picoCTF{et_tu?_77866c61} ``` #### 2. 暴力破解未知密文 如果没有找到 flag 匹配项,它会显示所有 25 种可能性: ``` $ sifr "uau" No shifts matched pattern. Brute-forcing all shifts: Shift 1: vbv ... Shift 12: gmg ... Shift 25: tzt ``` #### 3. 自定义 Flag 格式模式 对于其他的 CTF,使用 `-p` / `--pattern` flag: ``` $ sifr -p "flag" "synt{guvf_vf_n_flzcyr_flag}" Shift 13 (MATCH): flag{this_is_a_symple_synt} ``` #### 4. 纯净输出与 UNIX 管道 提取解密后的 flag 并直接复制到剪贴板: ``` $ echo "cvpbPGS{guvf_vf_n_grfg}" | sifr -c | pbcopy ``` #### 5. 文件输入 直接读取加密的文本文件: ``` $ sifr flag.enc ``` ## 许可证 本软件根据 [The Unlicense](LICENSE) 发布到公共领域。你可以随意复制、修改、发布、出售或分发它。查看 `LICENSE` 文件了解更多详情。
标签:EVTX分析, 日志审计