类似于FPE这类软件。 用ReadProcessMemory( HANDLE hProcess, // handle of the process whose memory is read LPCVOID lpBaseAddress, // address to start reading LPVOID lpBuffer, // address of buffer to place read data DWORD nSize, // number of bytes to read LPDWORD lpNumberOfBytesRead // address of number of bytes read ); 然后扫描这个进程的所有内存地址,发现有数据为主角生命值的地址存下来。如果主角伤血时,这个值改变,就代表这是主角的生命值。 再用WriteProcessMemory( HANDLE hProcess, // handle to process whose memory is written to LPVOID lpBaseAddress, // address to start writing to LPVOID lpBuffer, // pointer to buffer to write data to DWORD nSize, // number of bytes to write LPDWORD lpNumberOfBytesWritten // actual number of bytes written ) 修改那个地址的值,那主角就长生不老了。 读取中文名字的方法也差不多
whnd = FindWindow(vbNullString, "Form1") '获取窗口句柄
2. 获取该窗口的进程id
GetWindowThreadProcessId whnd, pid '获取进程id
3.获取该进程句柄
phnd = OpenProcess(&H10000, False, pid) '获取进程句柄,
4.然后就可以读写了
dim iptr as long '要查的内存地址
dim buf as long '读取到buf变量
iptr = &h40000 '例,内存地址 &h40000处
ReadProcessMemory phd, iptr, varptr(buf), 4, 0&
'注意 readprocessmemory 需要传人的是变量的指针,所以需要用varptr函数获的变量的地址
找到游戏内存中名字的地址,读取出内容,读取的是byte 自己转换成字符串
用ReadProcessMemory(
HANDLE hProcess, // handle of the process whose memory is read
LPCVOID lpBaseAddress, // address to start reading
LPVOID lpBuffer, // address of buffer to place read data
DWORD nSize, // number of bytes to read
LPDWORD lpNumberOfBytesRead // address of number of bytes read
);
然后扫描这个进程的所有内存地址,发现有数据为主角生命值的地址存下来。如果主角伤血时,这个值改变,就代表这是主角的生命值。
再用WriteProcessMemory(
HANDLE hProcess, // handle to process whose memory is written to
LPVOID lpBaseAddress, // address to start writing to
LPVOID lpBuffer, // pointer to buffer to write data to
DWORD nSize, // number of bytes to write
LPDWORD lpNumberOfBytesWritten // actual number of bytes written
)
修改那个地址的值,那主角就长生不老了。
读取中文名字的方法也差不多
包含开发工具。
外挂原码共171MB。本程序只能作为学习用途,不得用于商业。联系:QQ7092359
whnd = FindWindow(vbNullString, "Form1") '获取窗口句柄
2. 获取该窗口的进程id
GetWindowThreadProcessId whnd, pid '获取进程id
3.获取该进程句柄
phnd = OpenProcess(&H10000, False, pid) '获取进程句柄,
4.然后就可以读写了
dim iptr as long '要查的内存地址
dim buf as long '读取到buf变量
iptr = &h40000 '例,内存地址 &h40000处
ReadProcessMemory phd, iptr, varptr(buf), 4, 0&
'注意 readprocessmemory 需要传人的是变量的指针,所以需要用varptr函数获的变量的地址
找到游戏内存中名字的地址,读取出内容,读取的是byte 自己转换成字符串记录起来,夜深人静时拿出来看看