DoctorEww/EvilFontTool
GitHub: DoctorEww/EvilFontTool
EvilFontTool通过重新映射字体字形,生成人眼所见与机器读取完全不同文本的HTML和DOCX文档,用于安全测试和字体欺骗攻击研究。
Stars: 50 | Forks: 3
# EvilFontTool
EvilFontTool 在文档中隐藏机器可读的文本,向人类读者展示的却是完全不同的文本。它利用 **Evil Fonts**(邪恶字体)实现这一点 —— 这类字体通过渲染出与计算机理解不同的字母来故意欺骗观看者。通过重新映射字体字形,文档的可见字符向人类展示一回事,而 AI 系统、OCR 和剪贴板粘贴看到的则是另一回事。
## Evil Font 演示 !!不要错过!!
**[查看演示 → 即将推出](#)** *(托管在 GitHub Pages)*
## 目录
- [安装](#installation)
- [使用](#usage)
- [道德使用与免责声明](#ethical-use--disclaimer)
- [贡献](#contributing)
## [工作原理 — 博客文章即将推出](#)
## 安装
### 标准 (Ubuntu/Debian)
```
git clone https://github.com/DoctorEww/EvilFontTool.git
cd EvilFontTool
pip install fonttools python-docx
```
### 依赖项
- `fonttools` — 字体解析与操作
- `python-docx` — DOCX 生成
## 使用
所有功能通过一个包含三个子命令的 CLI 暴露。
### `create` — 生成用于 HTML 或 DOC 文件的字体族
```
python evilfonttool.py create
```
| 参数 | 描述 |
|---|---|
| `reference_font` | `.ttf` 或 `.woff` 源字体的路径 |
| `output_dir` | 写入字体和 CSS 的目录 |
| `font_name` | 生成的字体族的内部名称前缀 |
**示例:**
```
python evilfonttool.py create fonts/Arial.ttf output/ 'Arial'
```
输出:
- `output/fonts/*.woff` — Web 字体,每个字符一个文件
- `output/ttffonts/*.ttf` — 用于文档嵌入的 TTF 字体
- `output/fonts.css` — 用于 Web 的 `@font-face` 声明
### `web` — 生成 Evil font HTML 文件
```
python evilfonttool.py web
```
**示例:**
```
python evilfonttool.py web human.txt computer.txt output/index.html
```
### `doc` — 生成 Evil font DOCX 文件
```
python evilfonttool.py doc
```
**示例:**
```
python evilfonttool.py doc human.txt computer.txt output/secret.docx MyFont
```
### 输入文件格式
- 纯 `.txt` 文件,每行一个句子或短语
- `computer_file` 中的每一行必须 **等于或长于** `human_file` 中的对应行
- 行是按位置匹配的(第 1 行对第 1 行,依此类推)
## 道德使用与免责声明
**您对如何使用此工具负责。** 在未经明确授权的情况下对系统或个人使用此技术是不道德的,并且可能是非法的。作者提供此工具是为了帮助防御者理解和测试此类漏洞 —— 而不是为了助长攻击。
## 贡献
欢迎贡献。如果您发现了新的攻击面、字体生成流程的改进,或值得记录的防御技术,请提交 issue 或 PR。
1. Fork 本仓库
2. 创建一个特性分支 (`git checkout -b feature/my-feature`)
3. 提交您的更改
4. 打开一个 pull request,清楚地描述更改的内容和原因
标签:AI对抗样本, DNS 反向解析, DOCX生成, ESC8, OCR欺骗, Python, Web安全, 信息隐藏, 内容伪装, 字体欺骗, 字体编辑, 字形重映射, 对抗性攻击, 数字取证, 文本混淆, 文档结构分析, 无后门, 社会工程学, 私有化部署, 自动化脚本, 蓝队分析, 逆向工具, 防御规避, 隐写术