ifstream in;
in.open("E:\\vc\\Jqr\\test\\5c547f6198470e3e0bef97b4d7f23531.dat", ios::binary); //ios::binary是抑制底层系统服务对文件内容进行的自动转换;如果不加这个,系统会自动把'\n'转为'\r\n';
if (!in)
{
cout << "Cannot open file.";
return ;
}
ofstream out;
out.open("E:\\vc\\Jqr\\test\\5c547f6198470e3e0bef97b4d7f23531.jpg", ios::binary);
if (!out) {
cout << "Cannot open file.";
return ; //传统意义上,return 1 表示非法结束;return 0 表示正常结束;
}
char ch;
while (in)
{
in.get(ch);
ch = ch ^ char(0x82); //字符的二进制码为01100000,它与11111111作异或后变为10011111;
//ch = ch ^ 0x82; //直接这样也可以
if (in) out.put(ch);
}
in.close();
out.close();
PC端微信图片的存放路径:...Documents\WeChat Files\lmk15335885772\FileStorage\Image\2019-10。微信设置菜单里有,并可以直接打开。
密钥:0x82,每个人的可能都不一样,
上图上边是原始图片,另存为的图片,下面是微信下载的图片数据,格式.dat。进行异或就能得出密钥。