在写游戏修改器使如何修改内存其他进程的数据?

mincer 2001-05-01 08:54:00
在写游戏修改器使如何修改内存其他进程的数据?
用到哪几个API,如何实现?
谢了!


...全文
364 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smint 2001-05-02
  • 打赏
  • 举报
回复
对了,我的email: sumint@21cn.com
smint 2001-05-02
  • 打赏
  • 举报
回复
我用到的API有以下几个(成功修改的)
FindWindow
GetWindowThreadProcessId
OpenProcess
WriteProcessMemory
ReadProcessMemory
CloseHandle
smint 2001-05-02
  • 打赏
  • 举报
回复
我有一个修改英雄无敌三的例程,要的话就写e-mail给我.
hackerning 2001-05-02
  • 打赏
  • 举报
回复
我也要8u2@263.net
smint 2001-05-02
  • 打赏
  • 举报
回复
bool OpenhProcess(const LPCTSTR Caption)
{
CWnd* toFind;
unsigned long p=0x00;
toFind=CWnd::FindWindow(NULL,Caption);//找到窗口
if(!toFind)
{
return false;
}
GetWindowThreadProcessId(toFind->m_hWnd ,&p);//得到窗口的ProcessID
m_hProcess=OpenProcess(PROCESS_ALL_ACCESS,true,p);//打开Process
if(!m_hProcess)
{
return false;
}
return true;
}
WriteProcessMemory(m_hProcess,Pointer,Buffer,Length,NULL)
//写地址,pointer是一个指针,你有unsigned long的值的话可以用汇编把它变成指针,或者就看我的.
Pointer = reinterpret_cast< void* > (address)
Void * unsigned long/int
至于这个地址,我想可以使用FPE2000来得到.先跟踪一下拉.
最后,别忘了关闭句柄.
bool ClosehProcess()
{
if(m_hProcess)
{
if(CloseHandle(m_hProcess))
{
m_hProcess=NULL;
return true;
}
}
return false;
}
mincer 2001-05-01
  • 打赏
  • 举报
回复
能举个例子吗?
alwaysakid 2001-05-01
  • 打赏
  • 举报
回复
createprocess
readprocessmemory
writeprocessmemory
virtualallocex
virtualfreeex

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧