如何在 gnome 终端上将 base64 字符串解码为人类可读的字符
how to decode a base64 string into human readable characters on gnome terminal
我想将 base64 编码的字符串解码为人类可读的数据,并寻求正确的编码。
这是我正在尝试的命令
echo H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA= | base64 -d
Abve 输出到一些模糊的非人类可读数据。
�G�^flag2.txt3���tv��s�*I-�M�̳J.3)����
为什么遗漏了很多字符?
我怎样才能读完所有字符?
我的 gnome 终端设置为 utf-8。有更好/更宽的编码吗?我该如何设置?
您的 Base64 编码数据是混合了可打印字符和混合不可打印字符的二进制数据。
让我们看看它实际包含什么 hexdump
:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | hexdump -C
00000000 1f 8b 08 08 95 47 8b 5e 00 03 66 6c 61 67 32 2e |.....G.^..flag2.|
00000010 74 78 74 00 33 b2 f2 f3 74 76 f5 f7 73 b5 2a 49 |txt.3...tv..s.*I|
00000020 2d ca 4d ca cc b3 4a 2e 33 29 e2 02 00 b5 15 f6 |-.M...J.3)......|
00000030 a0 17 00 00 00 |.....|
00000035
您可以使用 strings
命令提取有效文本:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | strings
flag2.txt
J.3)
或者保存到bin文件中:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' >file.bin base64 -d
让我们看看它是什么:
file file.bin
file.bin: gzip compressed data, was "flag2.txt", last modified: Mon Apr 6 15:15:33 2020, from Unix, original size modulo 2^32 23
因为它是 gzip
编辑的数据,让 gunzip
它:
<file.bin gunzip
2:NICEONE:termbin:cv4r
或者一行完成:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | gunzip
2:NICEONE:termbin:cv4r
我想将 base64 编码的字符串解码为人类可读的数据,并寻求正确的编码。
这是我正在尝试的命令
echo H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA= | base64 -d
Abve 输出到一些模糊的非人类可读数据。
�G�^flag2.txt3���tv��s�*I-�M�̳J.3)����
为什么遗漏了很多字符? 我怎样才能读完所有字符?
我的 gnome 终端设置为 utf-8。有更好/更宽的编码吗?我该如何设置?
您的 Base64 编码数据是混合了可打印字符和混合不可打印字符的二进制数据。
让我们看看它实际包含什么 hexdump
:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | hexdump -C
00000000 1f 8b 08 08 95 47 8b 5e 00 03 66 6c 61 67 32 2e |.....G.^..flag2.|
00000010 74 78 74 00 33 b2 f2 f3 74 76 f5 f7 73 b5 2a 49 |txt.3...tv..s.*I|
00000020 2d ca 4d ca cc b3 4a 2e 33 29 e2 02 00 b5 15 f6 |-.M...J.3)......|
00000030 a0 17 00 00 00 |.....|
00000035
您可以使用 strings
命令提取有效文本:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | strings
flag2.txt
J.3)
或者保存到bin文件中:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' >file.bin base64 -d
让我们看看它是什么:
file file.bin
file.bin: gzip compressed data, was "flag2.txt", last modified: Mon Apr 6 15:15:33 2020, from Unix, original size modulo 2^32 23
因为它是 gzip
编辑的数据,让 gunzip
它:
<file.bin gunzip
2:NICEONE:termbin:cv4r
或者一行完成:
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | gunzip
2:NICEONE:termbin:cv4r