生活随笔
收集整理的這篇文章主要介紹了
微信图片解码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
微信圖片解碼原理與代碼
bool WxImageDecode(string filename
)
{unsigned char* key
;unsigned char byte
;unsigned short value
, value2
;char* jpegData
;ULONGLONG jpegLen
;BOOL ret
;CFile file
;ret
= file
.Open(filename
.c_str(), CFile
::modeRead
| CFile
::typeBinary
);if (!ret
)return false;jpegData
= new char[file
.GetLength()];ZeroMemory(jpegData
, file
.GetLength());ret
= file
.Read(&value
, 2);key
= (unsigned char*)&value2
;do{value2
= value
^ 0xd8ff;if (key
[0] == key
[1])break;value2
= value
^ 0x5089;if (key
[0] == key
[1])break;delete[]jpegData
;file
.Close();return false;} while (0);file
.SeekToBegin();jpegLen
= 0;while (true){ret
= file
.Read(&byte
, 1);if (ret
< 1)break;jpegData
[jpegLen
] = byte
^ key
[0];jpegLen
++;}file
.Close();if (jpegLen
> 0) {int pos
= filename
.find("dat");filename
.replace(pos
, 3, "png");ret
= file
.Open(filename
.c_str(), CFile
::modeWrite
| CFile
::typeBinary
| CFile
::modeCreate
);if (ret
) {file
.Write(jpegData
, jpegLen
);file
.Close();delete[]jpegData
;return true;}}delete[]jpegData
;return false;
}
總結(jié)
以上是生活随笔為你收集整理的微信图片解码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。