Skip to content

Latest commit

 

History

History
27 lines (14 loc) · 1.9 KB

01编解码.md

File metadata and controls

27 lines (14 loc) · 1.9 KB

CyberChef梭常见编解码

HEX数据处理

很多时候我们要处理的数据会以hex_dump的形式出现。这时候CyberChef就能大显身手:使用From HEX块,能把它重新转回原始字节。

From HEX块特性:能接受不同类型的分隔符,同时默认选项auto能应对大部分情况。

From HEX对应,有To HEX块,一般结果中存在不可打印字符且在后续处理步骤超出CyberChef处理范围,要将其导入python(一般配合bytes.fromhex())或在线js解密网站(更大的可能转成base64)时使用

类似的,还有From DecimalTo Decimal,可以用来处理十进制数字(范围0-255)与字节之间的转化。From BinaryTo Binary,可以用来处理二进制数字(范围00000000b-11111111b)与字节之间的转化。

base64编解码

在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 textDecode text块可以实现文本的编解码转换。需要注意的是,高版本CyberChef的默认输出格式为raw bytes如果需要按特定编码输出的话需要在output栏的右下角设置输出所用的字符编码。