安全路透社
当前位置:安全路透社 > 网络转载 > 正文

爆破非默认Base64编码表

* 本文作者:刀郎

前言

Base64 算法可能是大家接触最多的算法吧,Base64 指定了一个编码表,方便统一转换,大家在逆向中是否遇到似是而非的base64 编码啊?比如  ”aHVsbH8=”  这种貌似是 base64,但解码后是 “hull” 。但是我告诉你解码错误,正确答案是 “hello”。因为我给 base64Table 替换了。遇到这种情况,就要寻找编码表,此时如果 Base64 被代码虚拟化了,怎么办?

第一章 Base64原理

Base64 编码要求把 3 个 8 位字节(3*8=24)转化为 4 个 6 位的字节(4*6=24),之后在 6 位的前面补两个 0 ,形成 8 位一个字节的形式。 如果剩下的字符不足 3 个字节,则用 0 填充,输出字符使用 ‘=’,因此编码后输出的文本末尾可能会出现 1 或 2 个 ‘=’。

为了保证所输出的编码位可读字符,Base64 制定了一个编码表,以便进行统一转换。编码表的大小为 2^6=64,这也是 Base64 名称的由来。

Base64 编码表

码值 字符  码值 字符 码值  字符 码值 字符
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

未经允许不得转载:安全路透社 » 爆破非默认Base64编码表

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册