現在、私のコードは、notepad.exeでテストした3MB未満のPEファイルのエントロピーとファイルオフセットを取得できます。しかし、代わりに大きなファイルを分析しようとするとエラーが表示されます。特定のサイズ以上のPEファイルを解析できません
この問題をどのように解決すればよいかわかりません。しかし、私の講師は私に、同じような別の機能を作ろうと言った。誰かが私を助けることができたら本当に感謝します。 CLIに示す
エラー:
Call to ReadFile() failed.
Error Code: 998
エラー部分:
dwFileSize = GetFileSize(hFile, NULL);
if (dwFileSize != INVALID_FILE_SIZE)
{
bFile = (byte*)malloc(dwFileSize);
コードは、返されたバイト*をリークしています。これは永遠に続くわけではありません。最終的に、malloc()はNULLを返して、より多くのメモリを割り当てることができないことを示します。あなたは必然的にReadFile()をチェックしません。 –
お返事ありがとうございます。これを修正するにはどうすればいいのか分かりますか? – Mervin
明白な解決策を検討してください。 free()を呼び出すのと同じです。 x64をターゲットとする –