目前,我的代码能够获得小于3MB的PE文件的熵和文件偏移量,并使用notepad.exe进行测试。但是,每当我尝试分析更大的文件时,我都会收到错误。
我不确定应该如何解决这个问题。但我的讲师告诉我要创建另一个类似的功能。真的很感激,如果有人可以帮助我。
CLI中显示错误:
Call to ReadFile() failed.
Error Code: 998
错误部分:
dwFileSize = GetFileSize(hFile, NULL);
if (dwFileSize != INVALID_FILE_SIZE)
{
bFile = (byte*)malloc(dwFileSize);
答案 0 :(得分:2)
您的错误代码解码为“对内存位置的访问无效”并且您没有检查malloc的返回值,即使您需要在ReadFile上循环读取整个内容。
你内存不足。你当然需要重新设计你的算法。
正如Hans Passant所指出的那样,你有一个内存泄漏,因为你完成它后就永远不会释放文件的内存。 C ++不是垃圾回收。