我正在尝试使用VirtualAllocEx().当我将dwSize
(第三个参数)设置为大于约63 MB的数字时,它会导致在我查看时生成错误代码487 GetLastError()
.但是,它适用于较小的尺寸,如4MB.
这是我的代码的一部分:
VirtualAllocEx(peProcessInformation.hProcess,
(LPVOID)(INH.OptionalHeader.ImageBase),
dwImageSize,
MEM_RESERVE | MEM_COMMIT,
PAGE_EXECUTE_READWRITE);
Run Code Online (Sandbox Code Playgroud)
在我使用4MB EXE文件的情况下,LPVOID返回值是0x00400000
,但在其他情况下(20MB或更大的文件)它返回0x00000000
.
参数是否有最大值dwSize
?
我的问题是否有其他解决方案,例如另一个功能?