首页
社区
课程
招聘
想写一个像Winhex这样的软件,支持内存编辑。
2004-10-20 14:42 8742

想写一个像Winhex这样的软件,支持内存编辑。

2004-10-20 14:42
8742
收藏
点赞1
打赏
分享
最新回复 (4)
雪    币: 211
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
cpu 1 2004-10-20 15:17
2
0
这一种工具原理相当简单,我没有源代码,但可以提示一下几个有帮助的函数和原理!

HANDLE OpenProcess(
  DWORD dwDesiredAccess,  // access flag
  BOOL bInheritHandle,    // handle inheritance flag
  DWORD dwProcessId       // process identifier
);

BOOL ReadProcessMemory(
  HANDLE hProcess,  // handle to 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
);

BOOL 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
);

BOOL CloseHandle(
  HANDLE hObject   // handle to object to close
);

工作原理:
对于一个已知进程ID,Open它,取得它的操作Handle,然后就可以对它的进程内数据进行读取和写进,最后完成关闭它!
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dislimit 2004-10-20 15:26
3
0
哈哈,看起来果然简单。
多谢提点。
雪    币: 199
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
playar 2004-10-20 17:30
4
0
再加上VirtualProtectEx, VirtualLock/Unlock一类
雪    币: 291
活跃值: (400)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
草原猎豹 4 2004-10-23 19:32
5
0
这类软件,我认为关键是Hex显示控件不好写
象winHEx自己的Hex显示还有大大小小的问题呢
游客
登录 | 注册 方可回帖
返回