如何访问其他进程的数据?

thur 2000-04-17 11:31:00
比如说fpe,金山游侠是怎样查询,修改游戏数据的?
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Benni 2000-04-28
  • 打赏
  • 举报
回复
关注
foxpig 2000-04-24
  • 打赏
  • 举报
回复
关注
edwardyi 2000-04-22
  • 打赏
  • 举报
回复
关注
lu0 2000-04-22
  • 打赏
  • 举报
回复
SIMON_SON,的确可以访问其他进程的地址空间.只不过多点TRICK而已.
在进程PDB里有CONTEXT结构.这是整个进程用户区的页表.这是一方面.另一方面.进
程的VAD结构含有对地址的描述.也是可以利用的.但是真正实践中用到的还是
READPROCESSMEMORY(...)和WRITEPROCESSMEMORY(...)因为该2函数是公开的解决问
题的方法.它的内部也用到了CONTEXT和VAD.
http://lu0.126.com
olo 2000-04-21
  • 打赏
  • 举报
回复
关注
simon_sun 2000-04-21
  • 打赏
  • 举报
回复
就我个人的理解,在win32中是因为每个进程有独立的进程空间,所以一个进程是不能访问其它进程的数据的。当然通过内存映射文件,以及特定的消息可以实现进程间的数据传递及共享。我想对于修改工具来说,只不过是了解一些游戏的配置或进度文件的格式,而对于文件的修改而已!
Jackzhu 2000-04-17
  • 打赏
  • 举报
回复
看看Tool Help Library
Toolhelp32ReadProcessMemory()类型的函数可以执行进程内存操作
zzh 2000-04-17
  • 打赏
  • 举报
回复
我觉得这是通过利用Toolhelp32ReadProcessMemory( DWORD th32ProcessID,
LPCVOID lpBaseAddress, LPVOID lpBuffer,
DWORD cbRead, LPDWORD lpNumberOfBytesRead )这个函数取得内存数据,然后再进行比较,程序本身有一张快表,保存查询的内容和变化的量。这样就可以找到数据了,然后再写回去就可以了,至于这个函数的参数具体意思,看MSDN帮助吧!

15,472

社区成员

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

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