在内存中读取字符串,100分,不够再加100,再不够再加100
假如已经知道了某个进程的句柄,如何用ReadProcessMemory函数在该进程的内存中读取字符串?
这是别人问过的问题。
我也觉得应该用
BOOL ReadProcessMemory(
HANDLE hProcess, // 要读的进程的句柄
LPCVOID lpBaseAddress, // 要读字符串的地址
LPVOID lpBuffer, // 存放字符串的地址
DWORD nSize, // 要读的字符串的数目
LPDWORD lpNumberOfBytesRead // 实际传送字符串的数目的地址
);
这个东西,可是它tmd的就是不好使:<
我程序的句柄是$3004EE
要找的东西在$0B0C58D4
应该是一个数字123
可是我就是找不到.....
我是这么写的
cl:integer;
lpNumberOfBytesRead: DWORD ;
ReadProcessMemory(
$3004EE,
Pointer($0B0C58D4),
@cl,
6,
lpNumberOfBytesRead
);
edit1.Text:=inttostr(cl);
它就是返回一个0。。。
谁能写出几句测试过的代码呀。100分,不够再加100,再不够再加100。