
一、编码与解码核心概念1. 编码Encode定义将原始可读信息文字、数字、二进制数据按照一套公开固定规则转换为另一套字符 / 二进制串的过程。 三大作用网络传输兼容二进制、特殊符号无法直接传输编码为通用可见字符统一多设备、多协议数据格式CTF 出题用途隐藏 flag 线索作为多层解题中间步骤。转换流程原始明文 → 规则映射 → 编码密文 示例明文flagASCII 十进制编码 →102 108 97 103明文flagHex 十六进制编码 →666c6167明文flagBase64 编码 →ZmxhZw2. 解码Decode编码的可逆逆操作使用同一套映射规则将编码后的字符串还原为原始可读明文。 转换流程编码密文 → 反向规则映射 → 原始明文 示例ZmxhZwBase64 解码得到明文flag3. 编码与加密类型核心特点归属 CTF 题型标准编码无密钥、规则全球公开、无损双向可逆MISC 杂项加密算法 (AES/RSA 等)必须依赖密钥无密钥无法还原数据Crypto 密码学简单举例Base64 属于编码任意在线工具均可直接解码AES 属于加密缺少密钥无法解密。二、底层基础进制原理与 CTF 常用进制1. 进制通用定义进制是一套数字计数规则三大核心要素基数几进制基数数字就是几进位规则逢基数进 1单数字取值范围0 ~ 基数-1。我们日常使用十进制基数 10单个数字只能使用 0-9满十向高位进一例如9110。2. CTF / 计算机四大核心进制1二进制 Binary基数 2可用数字仅0、1进位规则逢 2 进 1核心地位计算机底层唯一数据格式图片、程序、LSB 隐写、流量原始数据全部以二进制存储题型场景隐写提取 01 字符串、摩尔斯电码转二进制、文件原始数据流分析2八进制 Octal基数 8可用数字0~7不存在 8、9进位规则逢 8 进 1换算关系3 位二进制 1 位八进制出现场景Linux 文件权限、字符串转义字符\0xx比赛低频考点3十进制 Decimal基数 10人类通用计数方式数字范围0~9CTF 用途ASCII 十进制编码空格分隔数字串如102 108 97 103解码为flag4十六进制 Hex基数 16基数 16逢 16 进 1数字不足使用字母补充映射0 1 2 3 4 5 6 7 8 9 a(10) b(11) c(12) d(13) e(14) f(15)换算关系4 位二进制 1 位十六进制高频场景文件魔数、十六进制编辑器、Hex 编码、Base16、抓包原始数据、EXIF 元数据3. 进制快速识别判断做题技巧字符串只包含 0、1 → 二进制仅 0~9、a~f总长度为偶数 → 十六进制 Hex纯数字、空格两两分隔 → ASCII 十进制编码仅 0~7无 8、9 → 八进制三、底层字符基础编码依托进制实现1. ASCII 标准字符编码原理单字节数值范围0~127每个数字唯一映射英文字母、数字、符号、控制字符 关键映射大写 A65 (0x41)、小写 a97 (0x61)、大括号{123。密文识别特征一串十进制数字数字之间空格分隔一组数字对应一个字符。 示例102 108 97 103→flag分类标准 ASCII (0~127)可打印字符 控制字符扩展 ASCII (128~255)各国特殊符号CTF 少见2. Hex 十六进制编码规则1 字节数据固定转为 2 位十六进制字符字符集0-9,a-f/A-F识别特征字符串仅包含数字 0-9、字母 a-f/A-F整体字符串长度一定是偶数做题优先级纯十六进制串优先解 Hex不要误判为 Base64示例密文666c61677b746573747d解码结果flag{test}3. Unicode/UTF 系列扩展编码中文、特殊符号通用用于存储中文、Emoji、多国语言字符CTF 常见 4 种表现形式JS 标准转义\uXXXX\u0066\u006C\u0061\u0067 → flagHTML 十进制实体#数字;#102;#108;#97;#103; → flagHTML 十六进制实体#x十六进制;#x66;#x6C;#x61;#x67; → flagCSS 十六进制转义\00XX4. Binary 二进制编码识别特征仅由 0、1 组成常规 8 位分为一组对应 1 字节题型LSB 图片隐写导出大量 01 串、音频摩斯密码转换二进制后二次解码四、Base 家族扩展编码MISC 核心高频考点Base 编码通用原理将二进制数据按固定 bit 位数分组每组映射一张自定义字符表末尾使用填充补齐位数。1. 标准基础 Base 对照表编码名称分组 bit 数标准字符集快速识别特征Base16(Hex)4bit0-9,a-f仅数字 小写 a-f长度偶数Base325bitA-Z,2-7无小写、无数字 0/1/8/9末尾等号填充Base646bitA-Za-z0-9/大小写数字 /末尾填充Base64url6bitA-Za-z0-9-_把/替换为-_适配 URL 传输2. 冷门扩展 Base进阶难题考点Base85 / Ascii85压缩二进制数据字符包含u,z,!常见固件、PDF 隐写题目Base91字符覆盖大小写、各类标点符号无固定填充符密文混杂特殊符号Base100Emoji Base密文全部由表情符号构成每个 Emoji 代表 1 字节视觉辨识度极高Base65536超大字符集使用生僻汉字、特殊符号作为编码载体CTF 高难度隐写专用。3. 魔改自定义 Base出题人修改标准 Base 的字符表顺序、删减字符现象字符串长度、填充符符合 Base 规则但标准在线工具解码乱码报错通用解法Python 编写自定义字符表解码脚本匹配flag{前缀爆破正确字符映射表。五、Web / 邮件传输专用扩展编码1. URL 百分号编码URLEncode规则非字母、数字的特殊符号转换为%XX格式XX 为 UTF-8 十六进制值识别特征字符串大量包含%百分号进阶考点双重 URL 编码符号经过两次编码需要逐层解码才能还原原始字符常用来绕过 Web 过滤2. Quoted-Printable 邮件编码识别特征大量搭配两位十六进制每行末尾存在换行标记多出现在邮件源码、注释隐写。3. UUencode / XXencode老式二进制传输编码UUencode文件开头固定begin、结尾end字符区间为空格波浪号早期邮件二进制传输格式(55S$Q,C,XXencode仅包含大写字母、数字无特殊符号老旧流量包题型偶尔出现6J4JnR2lAXA六、JS 前端脚本混淆编码本质字符编码转换无密钥可逆用于混淆 JS 源码MISC/Web 综合题常见全部由特殊符号构成密文1. JSFuck识别特征密文仅包含 6 个字符[ ] ( ) ! 无任何数字字母原理利用数组、算术运算拼接 ASCII 字符在线工具一键解码还原 JS 代码 / 明文。2. aaencode特征大量颜文字、△▽类表情符号完整 JS 代码转换为表情字符串。3. jjencode特征仅$ S _少量符号无表情纯符号混淆 JS 源码。七、国内特色网红魔改趣味编码全部为国内出题人自定义字符映射无密钥可逆属于扩展编码范畴与佛论禅佛曰编码密文全部由佛、禅、观、音、菩、提等佛教汉字组成固定一对一映射 ASCII 字符阴阳怪气编码yygq仅使用「阴、阳、怪、气」四个字分组映射二进制社会主义核心价值观编码24 个固定词汇分段编码长汉字串先转二进制再二次解码小众网络词编码尊嘟假嘟、兽语编码仅出现在趣味脑洞题。八、ROT 旋转字符偏移编码多层嵌套高频仅字符循环偏移自身可逆无密钥常多层叠加出现ROT5仅数字 0-9 循环偏移 5 位只处理数字ROT13仅大小写字母偏移 13 位加密和解密操作完全相同ROT18ROT5ROT13 组合同时处理数字 字母ROT47覆盖全部可打印 ASCII 字符33~126数字、字母、符号全部偏移。九、莫尔斯电码MISC 音频 / 图片点阵高频摩尔斯依靠点、横、间隔映射字符音频频谱、图片点阵、流量负载常出现完整对照表A .- N -. . .-.-.- .-.-. 1 .---- B -... O --- , --..-- _ ..--.- 2 ..--- C -.-. P .--. : ---... $ ...-..- 3 ...-- D -.. Q --.- .-..-. .-... 4 ....- E . R .-. .----. / -..-. 5 ..... F ..-. S ... ! -.-.-- 6 -.... G --. T - ? ..--.. 7 --... H .... U ..- .--.-. 8 ---.. I .. V ...- - -....- 9 ----. J .--- W .-- ; -.-.-. 0 ----- K -.- X -..- ( -.--. L .-.. Y -.-- ) -.--.- M -- Z --.. -...-十、CTF 编码快速识别速查表纯 0/1 字符串 → 二进制编码仅 0-9a-f、长度偶数 → Hex 十六进制编码大量百分号%→ URL 编码检查是否双重编码大小写数字 /→ Base64-_→ Base64url纯大写 数字 2-7 → Base32仅[]()!六种符号 → JSFuck 混淆编码通篇佛教汉字佛、禅、菩、提→ 与佛论禅\uXXXX/#x/#数字→ Unicode/HTML 实体编码大量表情符号 → Base100行尾带、后接两位数字 → Quoted-Printable 邮件编码只有「阴、阳、怪、气」四字 → yygq 阴阳怪气编码空格分隔纯数字串 → ASCII 十进制编码点、横、空格组合字符串 → 摩尔斯电码十一、多层编码标准解题流程提取密文字符串从图片 strings、流量包、隐写导出文本、附件中获取编码串对照速查表匹配编码特征遵循优先级底层进制编码 URL 编码 Base 系列 趣味魔改编码 ROT / 摩尔斯单次解码后观察输出内容若输出依旧是乱码 / 另一组编码字符串循环递归解码出现flag{/CTF{}标准前缀停止解码输出答案标准工具解码报错判定为魔改自定义编码手写 Python 映射脚本解码。十二、工具GitHub - gchq/CyberChef: The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis · GitHubGitHub - bee-san/Ciphey: ⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡ · GitHub随波逐流软件信息安全 - CTF编码工具Linux 命令行原生工具特别感谢探姬_Official