首页 > 解决方案 > 使用 C++ 将文件作为字节数组读取?

问题描述

我想将我的 .exe 文件读取为字节,所以我可以稍后编辑它的字节,我尝试编写代码,但它给了我这个错误:

错误:从“LPVOID {aka void*}”到“LPBYTE {aka unsigned char*}”的无效转换 [-fpermissive]|

这是我的代码:

HANDLE hFile = CreateFile("0x2.exe", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        // get file size
        DWORD dwFileSize = GetFileSize(hFile, NULL);

        // decrypt and obtain decrypted bytes
        LPVOID lpFileBytes = Crypt(hFile, dwFileSize);
        CloseHandle(hFile);
        //free(lpFileBytes);

         //execute file
         //

    LPBYTE lpBuffer = lpFileBytes ;

我将文件 0x2.exe 加密,然后通过这一行对其进行解密:

LPVOID lpFileBytes = Crypt(hFile, dwFileSize);

现在我假设我在lpFileBytes中有原始字节,所以当我这样做时:

LPBYTE lpBuffer = lpFileBytes

它给了我那个错误。

标签: c++

解决方案


推荐阅读