c++ - 使用 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
它给了我那个错误。
解决方案
推荐阅读
- material-ui - 定位网格工具箱材质ui DataGrid(从左上角默认位置重置)
- python - 由于依赖关系,无法安装 Olapy
- javascript - 为什么月返回上个月?
- java - Jetty Apache Camel - 最大标头大小 - 431 错误
- php - apache服务器上的多个应用程序
- java - JavaFX 将图像裁剪为圆形
- powershell - 如何通过powershell远程解决有关文件复制的问题?
- apache-kafka - 如何在 Windows 上干净地关闭 Kafka 和 Zookeeper
- javascript - Javascript/jQuery 循环显示从今天到明天的小时
- cypress - 使用 Cypress 从自定义命令或插件调度操作