Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/pwnfo/mapchar
密码破解密码攻击Payload生成脚本与自动化实用工具与框架
GitHubpwnfo/mapchar

mapchar

使用模式逻辑和表达式生成单词列表。

查看仓库
23262个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站


mapchar
使用模式逻辑和表达式生成密码字典

安装    •    文档    •    使用    •    贡献

[!NOTE] 此项目从版本 7.0.2 开始由 fuse / fuse-generator 重命名为 mapchar。 PyPI 包、CLI 命令和 Python 包名称均已相应更改。 如果您正在使用旧名称,请更新您的安装和导入。

演示

安装

[!NOTE] 建议使用 pipx 或 pip 安装 PyPI 版本。

方法说明
pipx install mapchar可使用 pip 代替 pipx
git clone https://github.com/pwnfo/mapchar.git && cd mapchar && pip install .从 GitHub 克隆并直接安装

文档

有关完整指南、功能说明和高级示例,请访问文档。

ReadTheDocs 文档

常规使用

从简单表达式生成密码字典:

root@kitploit:~
mapchar '/l{2,4}'

将文件与生成器组合:

root@kitploit:~
mapchar '^:^' names.txt pass.txt

输出可被操作、过滤和保存。

root@kitploit:~
通用选项:
  -h, --help            显示此帮助信息并退出
  -v, --version         显示版本信息并退出
  -S, --stats           显示模式统计信息并退出
  -q, --quiet           抑制非必要输出
  -n, --non-interactive
                         跳过执行前的确认提示

生成选项:
  -d, --delimiter <string>
                         插入到生成条目之间的字符串
  -b, --write-buffer <size>
                         输出缓冲区大小
  -w, --workers <1-64>  工作进程数(默认:1)
  -k, --flush-threshold <size>
                         达到此字节阈值时刷新输出(默认:512KB)

输入选项:
  -f, --file <path>     从文件加载模式
  -s, --start <word>    从 <word> 开始写入输出
  -e, --end <word>      在 <word> 处停止写入输出

输出选项:
  -o, --output <path>   将输出写入文件
  -z, --compress <格式>
                         压缩输出(支持:gzip, bzip2, lzma)
  -l, --compresslevel <级别>
                         所选格式的压缩级别

表达式基础

  • 字面字符产生自身。
  • 内置类和括号类 [...] 每个位置产生一个条目。
  • 连接组合多个位置:每个位置从其令牌中选择一个值并进行连接。

示例:

root@kitploit:~
$ mapchar '/l{2,3}'
# output: aa, ab, ac, ..., ZY, ZZ

字符类

示例:/l/l 生成所有两个字母的组合(大小写混合)。

自定义类和联合

  • [abc] 从 a、b 或 c 中选择 一个字符。
  • 在类中使用 | 分隔完整单词替代项:
    • [admin|root|123] 在该位置插入 admin 或 root 或 123。
  • 使用 || 分隔 顶层表达式:
    • mapchar 'admin/d||guest/d' 连接两个独立的模式。

统计

您可以使用 -S/--stats 标志在生成前分析模式。这显示令牌数、估计大小和范围过滤详情。

root@kitploit:~
mapchar -S '/l{3}||/d{3}'

量词

  • {N} — 精确重复 N 次
  • {min,max} — 重复介于 min 和 max 次之间(包含)
  • ? — 可选(0 或 1 次)

示例:

root@kitploit:~
$ mapchar '[XYZ]{3}'         # XXX, XXY, ..., ZZZ
$ mapchar '[XYZ]{2,5}'       # XY, XZ, ..., XYZXY
$ mapchar 'Ryan?/d'          # Rya0, Rya1, ..., Ryan9
$ mapchar '[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

这些数字范围可以在表达式的任何位置使用。

文件和占位符

在表达式中使用 ^ 作为下一个文件参数的占位符。每个 ^ 消耗一个文件并迭代其行:

root@kitploit:~
$ mapchar '^/d' names.txt
# output: Bob0, Bob1, ..., Ana0, Ana1, ...

$ mapchar '^-^' names.txt years.txt
# output: Bob-1990, Ana-1991, Ryan-1992, ...

文件名前加 // 可将其视为内联表达式而不是文件路径。

值绑定

使用 <@name=expr> 对每一行输出 计算一次 表达式并存储,然后使用 <@name> 重用。 与连接不同,这引入了依赖,因此在定义及其引用之间不会产生笛卡尔积。

root@kitploit:~
$ mapchar '<@d=/d>-<@d>'
# output: 0-0, 1-1, ..., 9-9

$ mapchar '<@x=^>:<@x>' words.txt
# output: foo:foo, bar:bar, ...

$ mapchar '<@n=/d{2}>_<@n>'
# output: 00_00, 01_01, ..., 99_99

压缩

Mapchar 支持在写入输出文件时实时压缩。

root@kitploit:~
# gzip (快速, 平衡)
mapchar '/l{5}' -z gzip -o wordlist.txt.gz

# lzma (最佳压缩)
mapchar '/l{5}' -z lzma -o wordlist.txt.xz

# bzip2 (折中)
mapchar '/l{5}' -z bzip2 -o wordlist.txt.bz2

转义特殊字符

使用 \ 转义特殊字符。

root@kitploit:~
$ mapchar '\/d/d'
# output: /d/0, /d/1, ..., /d/9

贡献

欢迎为 Mapchar 做出贡献!无论是添加新功能、改进文档还是修复错误,我们都非常感谢您的帮助。 欢迎在我们的 GitHub 仓库 pwnfo/mapchar 上提交 issue 或 pull request。

Star 历史

Mapchar 项目星标历史图表

许可证

MIT © Ryan R. <[email protected]>

下载工具
符号含义
/l字母 (a–z, A–Z)
/a小写字母 (a–z)
/A大写字母 (A–Z)
/d数字 (0–9)
/D非零数字 (1–9)
/h小写十六进制 (0–9, a–f)
/H大写十六进制 (0–9, A–F)
/s空格
/o八进制数字 (0–7)
/p特殊字符
/b换行符 (\n)