pwnfo/fuse

GitHub: pwnfo/fuse

基于表达式的模式化字典生成工具,帮助安全测试人员快速构建高度定制化的口令候选列表。

Stars: 24 | Forks: 3


fuse
Pattern-based wordlist generation tool

安装    •    使用    •    贡献

demo

## 安装说明 | 方法 | 备注 | | - | - | | `pipx install fuse-generator` | 可以使用 `pip` 代替 `pipx` | | `git clone https://github.com/pwnfo/fuse.git && cd fuse && pip install .` | 直接从 GitHub 克隆并安装 | ## 一般用法 通过简单表达式生成字典: ``` fuse "/l{2,4}" ``` 将文件与生成器结合使用: ``` fuse "^:^" names.txt pass.txt ``` 可以对输出进行操作、过滤和保存。 ``` $ fuse --help usage: fuse [options] [] ___ _ _ __ ___ | __|| | |/ _|| __| | _| | U |\_ \| _| |_| |___||__/|___| v3.1.2 -h, --help show this help message and exit -v, --version show version message and exit -o, --output write the wordlist in the file -f, --file files with different expressions -q, --quiet use quiet mode -s, --separator separator between entries -b, --buffer buffer size in wordlist generation -w, --workers <1-64> number of workers (default is 1) -F, --filter filter generated words using a regex -n, --non-interactive disable interactive prompt before execution --from start writing the wordlist with --to ends writing the wordlist with Powerful pattern-based wordlist generation tool. Developed by Ryan R. ``` ### 表达式基础 * 字面字符生成其本身。 * 内置字符类和括号类 `[...]` 在每个位置生成一个项。 * 串联组合多个位置:每个位置从其 token 中选取一个值并连接起来。 示例: ``` $ fuse "/l{2,3}" # 输出: aa, ab, ac, ..., ZY, ZZ ``` ### 字符类 | 符号 | 含义 | | ------ | -------------------------------- | | `/l` | 字母 (a–z, A–Z) | | `/a` | 小写字母 (a–z) | | `/A` | 大写字母 (A–Z) | | `/d` | 数字 (0–9) | | `/h` | 小写十六进制字符 (0–9, a–f) | | `/H` | 大写十六进制字符 (0–9, A–F) | | `/s` | 空格 | | `/o` | 八进制数字 (0–7) | | `/p` | 特殊字符 | | `/N` | 换行符 (`\n`) | 示例:`/l/l` 会生成所有两字母组合(包括大小写)。 ### 自定义类与联合 * `[abc]` 从 `a`、`b` 或 `c` 中选择 **一个字符**。 * 使用 `|` 分隔完整单词的备选项(每一项都被视为多字符 token): * `[admin|root|123]` 在该位置插入 `admin` 或 `root` 或 `123`。 ### 量词 * `{N}` — 精确重复 N 次 * `{min,max}` — 重复 min 到 max 次(包含边界) * `?` — 可选(0 或 1 次) 示例: ``` $ fuse "[XYZ]{3}" # XXX, XXY, ..., ZZZ $ fuse "[XYZ]{2,5}" # XY, XZ, ..., XYZXY $ fuse "Ryan?/d" # Rya0, Rya1, ..., Ryan9 $ fuse "[XYZ]?Ryan" # Ryan, XRyan, YRyan, ZRyan ``` ### 数值范围 * `#[1-10]` → 生成 1,2,3,4,5,6,7,8,9,10 * `#[1-10:2]` → 生成 1,3,5,7,9 * `#[2-10:2]` → 生成 2,4,6,8,10 这些数值范围可用于表达式中的任何位置。 ### 文件与占位符 在表达式中使用 `^` 作为下一个文件参数的占位符。每个 `^` 会消耗一个文件并遍历其每一行: ``` $ fuse "^/d" names.txt # 输出: Bob0, Bob1, ..., Ana0, Ana1, ... $ fuse "^-^" names.txt years.txt # 输出: Bob-1990, Ana-1991, Ryan-1992, ... ``` 在文件名前加上 `//` 前缀,可以将其作为内联表达式处理,而不是文件路径。 ### 转义特殊字符 使用 `\` 转义特殊字符。 ``` $ fuse "\/d/d" # 输出: /d/0, /d/1, ..., /d/9 ``` ## Star 历史 Fuse Project Star History Chart ## 许可证 MIT © Ryan R. <pwnfo@proton.me>
标签:CTF工具, DOS头擦除, Python, 二进制发布, 合规字典, 安全测试, 密码学, 密码破解, 开源工具, 手动系统调用, 攻击性安全, 攻击路径可视化, 无后门, 模式匹配, 漏洞搜索, 网络安全, 自动化资产收集, 逆向工具, 隐私保护, 黑客工具