首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在gnome终端上将base64字符串解码成人类可读的字符

如何在gnome终端上将base64字符串解码成人类可读的字符
EN

Stack Overflow用户
提问于 2020-04-08 00:21:13
回答 1查看 705关注 0票数 2

我想解码一个base64编码的字符串为人类可读的数据,并寻求正确的编码。

这是我正在尝试的命令

代码语言:javascript
复制
echo H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA= | base64 -d

Abve输出到一些模糊的非人类可读的数据。

代码语言:javascript
复制
�G�^flag2.txt3���tv��s�*I-�M�̳J.3)����

为什么遗漏了很多字符?我怎样才能读懂所有的字符?

我的gnome终端设置为utf-8。有没有更好/更宽的编码?我该如何设置呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-08 00:42:50

您的Base64编码数据是具有混合可打印字符和混合不可打印字符的二进制数据。

让我们看看它在hexdump中实际包含的内容

代码语言:javascript
复制
<<<'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命令提取有效文本:

代码语言:javascript
复制
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | strings
flag2.txt
J.3)

或者将其保存到bin文件:

代码语言:javascript
复制
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' >file.bin base64 -d

让我们来看看它是什么:

代码语言:javascript
复制
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

代码语言:javascript
复制
<file.bin gunzip
2:NICEONE:termbin:cv4r

或者在一行代码中完成所有的操作:

代码语言:javascript
复制
<<<'H4sICJVHi14AA2ZsYWcyLnR4dAAzsvLzdHb193O1Kkktyk3KzLNKLjMp4gIAtRX2oBcAAAA=' base64 -d | gunzip
2:NICEONE:termbin:cv4r
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61084657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档