在Windows 64位上,我有一个32位进程读取其他32位进程的内存,我希望它能够读取64位进程.
ReadProcessMemory用于读取内存,但它有32位的限制.有没有办法在64位进程上执行相当于ReadProcessMemory的操作?
我知道我可以写一个64位进程,并推出从我的32位进程做的工作,但我不知道是否有一些其他的选项,这样我不需要写一个64位进程.
谢谢.
我的目标是以编程方式获取64位进程的完整命令行.我已经理解并编写了这段代码,我可以在其中处理所有当前正在运行的流程并获取每个细节.但问题是这个代码无法对64位进程(一个没有在WOW64下运行的进程)做同样的事情.
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
#include <cstdio>
#include <fstream>
using namespace std;
BOOL GetProcessList( FILE *f);
BOOL ListProcessModules( DWORD dwPID, FILE *f);
BOOL ListProcessThreads( DWORD dwOwnerPID, FILE *f );
void printError( TCHAR* msg, FILE *f );
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS fnIsWow64Process;
BOOL IsWow64(HANDLE processHandle)
{
BOOL bIsWow64 = FALSE;
//IsWow64Process is not available on all supported versions of Windows.
//Use GetModuleHandle to get a handle to the DLL that contains the function
//and …Run Code Online (Sandbox Code Playgroud)