0
我繞道recv函數,我試圖解密緩衝區,但解密功能改變緩衝區的大小,我認爲decryotion是無效的,代碼:OpenSSL的AES解密改變大小
int WINAPI OwnRecv(SOCKET s, char FAR *buff, int len, int flags)
{
if(s == GameClientSocket)
{
int received = pTrampolineRecv(s, buff, len, flags);
if(received <= 0)
{
return received;
}
// now strlen(buff) is 2!!
char * plaintext;
plaintext = (char *)aes_decrypt(&Decrypt_Context, (unsigned char*)buff, &received);
(char *) buff = plaintext; // now strlen(buff) is 5!!
return received;
}
return pTrampolineRecv(s, buff, len, flags);
}
這有什麼錯我的代碼?
謝謝!
在嘗試加密/解密之前,您可能需要練習更多C++或者做一些教程或其他工作。加密庫的問題是,如果你做錯了什麼,你很難弄清楚垃圾 - 像填充差這樣的異常幾乎不會告訴你實際的原因。如果這是一個緩衝區問題,您可能需要永久搜索。 –