0x00 简介
这两天在自己的手机流量中抓包,得到了一串奇怪的字符串,冥冥中感觉有些规律,就着手看看
这里列出4条密文,如下:
H4sIAKjkxlsC/8tIzcnJVyjPL0oBAPpDyiYKAAAA
H4sIAKjkxlsC/3PPz0/PSVVwTswtAADEoOB4CwAAAA==
H4sIAKjkxlsC/8soKSkottLXT8rJT9dLLk7J08tLLdFPzi/NK07NyckvAgBa3j+PIAAAAA==
H4sIAKjkxlsC//NUSMxVSMpMBwBVxM+yCAAAAA==
0x01 解密方法
- 第一眼看多去是base64加密的;
- 第二眼看过去是一串乱码的二进制数据,其实是zip压缩。
这样就可以构建解密过程了:
- base64解码
- zip解压缩
0x02 解密代码
运行环境使用python3,python2的gzip库没有compress等函数
import gzip
import base64
text = "H4sIAKjkxlsC/8tIzcnJVyjPL0oBAPpDyiYKAAAA"
print( gzip.decompress(base64.b64decode(text)) )
解密结果为
$ python3 uns.py
b'hello word'
0x03 加密代码
import gzip
import base64
plain_texts = [b"hello word",
b"Google Camp",
b"https://blog.csdn.net/counsellor",
b"I am big"
]
for ptext in plain_texts:
print( base64.b64encode(gzip.compress(ptext)).decode('utf-8') )
0x04 小结
对于乱码的文本就完全没思路了,其实可以多想想,毕竟有共同点。