我需要从不同的应用程序中读取程序的内存。 我有整个过程和应用程序“连接”。C++与ReadProcessMemory等效的指针操作
我有搜索,在打开的进程的内存图案的功能,而且由于采用了签名会返回一个有效的切入点,我感兴趣的函数。
问题是,装配指令使我的数据(这是我无法通过偏移或签名找到),如下:
H5Calc.exe+12DDC5B - E8 10F1FFFF - call H5Calc.exe+12DCD70
我搜索了一圈,发现这可能成为我的目的:
return (MainClass*) *(DWORD*) PatternPointer;
但问题是,如果使用'注入',上面的行将工作,并且我使用ReadProcessMemory,因为我不允许这样做。
因此,有人可以帮忙“翻译”的
(MainClass*) *(DWORD*) PatternPointer;
指针操作成ReadProcessMemory调用,考虑汇编指令? 鉴于我从另一个应用程序打开,如果没有ReadProcessMemory(我可以定期调用其他操作),我无法访问H5Calc内存区域。
任何帮助表示赞赏。
谢谢。
'ReadProcessMemory(hProc,( void *)0x12DCD70,&data,sizeof data,NULL);',也许? (当然,假设'data'是一个'DWORD'或一个指针。) – 2013-10-29 06:42:01
我同意这看起来很合逻辑,但我不知道如何从''e8 10f1ffff''或'1sddc5b <=这是我从签名中得到的地址'中获得'12dcd70': ( –
它在你发布的代码的右边...... – 2013-10-29 07:02:15