这几天虽然做题效率低了一点,但是有很多收获吧,不管是在python编程上,还是在misc或逆向方面,都学到了不少东西。
MISC-base64stego
这道题本身理解不难,难点是能把python转换代码写出来,首先这边有大神已经有了很深入的分析,以下是链接,所以这里就不仔细的对base64的原理和其隐写进行详细的描述了,直接说一下易错点
https://www.tr0y.wang/2017/06/14/Base64steg/
以下链接是写出这段python代码的一点小总结
https://blog.csdn.net/sjt670994562/article/details/91128337
主要思想就是最后挨着=的一个字母中的后几位二进制进行隐写,但要注意几点
- 这里是从找的进制是从base64 mode表里的位置找的,而不是ascii
- 如果后面是1个‘=’只能用最后一个字母二进制的后两位
2个‘=’用最后一个字母二进制的后四位
以下是代码段
import base64
a=("")
mode=("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") #mode码表
c=("")
f = open("1.txt","r") #读取文