电话拨号编码¶
什么是电话拨号编码?¶
电话拨号编码通常指把字母映射到手机或固定电话九宫格按键上的编码方式。CTF 中常见的是按键字母表,也就是 2 到 9 分别对应若干个英文字母。
这种编码不是加密,只是一种替换编码。题目中如果出现大量由 2-9 组成的数字串,或者数字按组重复出现,就可以考虑电话键盘编码。
键盘映射表¶
| 按键 | 字母 |
|---|---|
| 2 | ABC |
| 3 | DEF |
| 4 | GHI |
| 5 | JKL |
| 6 | MNO |
| 7 | PQRS |
| 8 | TUV |
| 9 | WXYZ |
0 和 1 通常不参与字母编码,部分题目会用它们作为空格、分隔符或干扰字符。
常见编码方式¶
只写按键号¶
每个字母只记录所在按键,例如:
| 明文 | C | T | F |
|---|---|---|---|
| 按键 | 2 | 8 | 3 |
所以:
这种方式会产生歧义,因为 2 可能是 A、B 或 C。
多击输入法¶
多击输入法会记录“按哪个键”和“按几次”。同一按键内的位置从左到右计数。
| 字母 | 按键 | 次数 | 编码 |
|---|---|---|---|
| C | 2 | 3 | 222 |
| T | 8 | 1 | 8 |
| F | 3 | 3 | 333 |
所以:
有些题目会写成 2-3 8-1 3-3,表示按键号和按键次数。
解码示例¶
已知密文:
按多击输入法解析:
| 密文 | 按键 | 次数 | 字母 |
|---|---|---|---|
| 33 | 3 | 2 | E |
| 555 | 5 | 3 | L |
| 2 | 2 | 1 | A |
| 4 | 4 | 1 | G |
得到:
如果结果不像正常单词,需要检查分隔方式、是否大小写无关、是否还套了其它编码。
CTF 识别要点¶
- 字符集中主要是
2-9。 - 可能出现
222 8 333这种重复数字分组。 - 可能出现
2-3、8-1这种“按键-次数”格式。 - 没有分隔符时可能存在多种切分方式,需要结合 flag 格式判断。