Skip to content

Hex 编码 (十六进制) ​

🔤 二进制的十六进制表示,r0capture 输出明文时常用。

是什么 ​

每字节(8 位)用两个十六进制字符(0-9 a-f)表示。如字节 0x48 显示为 48 或 0x48。

与 Base64 对比 ​

维度HexBase64
字符集0-9 a-fA-Za-z0-9+/
膨胀率2 倍1.33 倍
可读性高(直接看字节)低
用途调试/密钥/哈希传输

r0capture 里的 Hex ​

1. myhexdump 输出 ​

0000  47 45 54 20 2f 61 70 69  GET /api

左侧 hex,右侧 ASCII,便于看二进制同时看可打印部分。

2. Frida API ​

javascript
hexdump(ptr, { length: 64 })  // Frida 内置 hexdump
[].map(b => ('0' + b.toString(16)).slice(-2)).join('')  // 手搓 hex 字符串

3. 私钥/证书指纹 ​

私钥/证书的 hash、DER 编码常以 hex 字符串形式出现。

识别特征 ​

  • 字符集仅 [0-9a-fA-F]
  • 长度是偶数(每两字符一字节)
  • 常见前缀无(不像 Base64 有 =)

Python 解码 ​

python
bytes.fromhex("48656c6c6f")  # b'Hello'
"48656c6c6f".decode("hex")  # Python 2

相关文档 ​

基于 VitePress 构建 · 教学用途