在打CTF的时候,经常遇到base编码,要么是base100,base85这种“非常规编码”,要么就是使用base64、base32等反复编码,一层套一层。
因此我们需要快速识别base编码类型的话,可以使用basecrack。
下面是它的介绍:
baseCrack是一款功能强大的base编码/解码工具,该工具采用Python语言开发,是一个能够对所有字母和数字进行解码和编码的base编码解决方案。该工具能够接收单用户输入、来自一个文件的多个输入、来自参数的输入以及多重base编码数据,并且能够以非常快的速度完成编码/解码。 baseCrack能够支持目前社区使用最为频繁的base编码机制,其中包括base16、base32、base36、base58、base62、base64、base64Url、base85、base91、base92等等。(现在还新增了base100) 注意:当前版本的baseCrack可同时支持Python2和Python3环境。 在baseCrack的帮助下,我们就可以一次性对任意模式下的多重base编码数据进行解码0x01 Windows下的安装
项目地址在此:https://github.com/mufeedvh/basecrack
直接下载下来,解压进入文件夹:
使用命令:pip3 install -r requirements.txt安装依赖
安装成功后我们拿一段base85测试一下:
可以看到成功识别并解码。
使用一段反复编码的数据:
IX(Fp@nNG6ef<,*TFE]IT^zdINAb9EVbp,e<*[Nv+T8
这里解码需要带上–magic参数:
当然了,这样使用对更换了码表的base编码就不好使了,比如这段MbT3sQgX039i3g==AQOoMQFPskB1Bsc7,它是一个更换了码表的base64:
可以看到解码失败,带上–magic参数也不行,对于这种改变了码表的编码只能先想办法获取到码表再解码。



