天问

微信.data 文件加密解密(2)

1.上期回顾

上文中介绍了异或公式:

A xor B= C,则:B xor C=A .

讲到微信如何加密.data文件:

原始图片A用16进制表示,每一位都和一个16进制密钥B进行异或得到加密文件C。那么解密反过来通过C用16进制表示,每一位和密钥B进行异或解密得到图片A。

那么电脑中只有.data文件(C变量),那么我们还需要知道密钥B,这样才可以异或得到原图片A。那么怎么得到密钥B呢?

2.密钥B获取

我们知道同样的格式都一个同样的文件头。比如jpg,doc,pdf等等。我们已经知道.data文件都是一些图片。那么图片二进制头都有指定格式:

JPEG (jpg),文件头:FFD8FF

PNG (png),文件头:89504E47

GIF (gif),文件头:47494638

此外,通过二进制查看这些.data文件会发现,都是同样的文件头。比如我的.data文件头: 22FBE5‬....

那么异或尝试一下:

22FBE5‬ Xor FFD8FF = DD231A
22FBE5‬ Xor 89504E = ABABAB
22FBE5‬ Xor 474946 = 65B2A3 

可以发现 十六进制 密钥就是AB

3. 微信.data文件二进制解密

知道怎么加密,已知C,已知密钥B,要求A很简单。解密就很简单了,利用下面的代码,替换下面出现的 密钥B 0xAB ,即可解密微信的data文件:

博客地址:http://blog.yoqi.me/?p=16622
扫我捐助哦
喜欢 11

这篇文章还没有评论

发表评论