很多时候我们要处理的数据会以hex_dump的形式出现。这时候CyberChef就能大显身手:使用From HEX
块,能把它重新转回原始字节。
From HEX
块特性:能接受不同类型的分隔符,同时默认选项auto
能应对大部分情况。
与From HEX
对应,有To HEX
块,一般结果中存在不可打印字符且在后续处理步骤超出CyberChef
处理范围,要将其导入python(一般配合bytes.fromhex()
)或在线js解密网站(更大的可能转成base64)时使用
类似的,还有From Decimal
和To Decimal
,可以用来处理十进制数字(范围0-255)与字节之间的转化。From Binary
和To Binary
,可以用来处理二进制数字(范围00000000b
-11111111b
)与字节之间的转化。
在CTF里,base64
编码的出场概率有时候比HEX
还高。在此不赘述base64
的编解码过程。在CyberChef
中,我们经常使用From Base64
块和To Base64
块进行编解码。我们可以通过修改块里的Alphabet
来修改Base64
编解码需要用到的码表,在一些变表Base64
的逆向或misc题中有奇效。
在CyberChef中,我们还能看到一些其它的Base编码,如base32、base45、base58、base62、Base85。现将其部分特点罗列如下:
-
base32:大写字母+数字2-7,结尾一般有
=
作为padding,=
可以超过3 -
base58:是Base64编码格式的子集。舍弃了一些容易读错和在特定字体中外观容易混淆的字符由不包括(0,O,l,I)的大小写字母和数字组成。
-
base62:缺少了+/
Encode text
与Decode text
块可以实现文本的编解码转换。需要注意的是,高版本CyberChef的默认输出格式为raw bytes
如果需要按特定编码输出的话需要在output
栏的右下角设置输出所用的字符编码。