首页
社区
课程
招聘
[求助]怎样计算某一个运行程序的内存基址
发表于: 2008-6-26 18:48 7155

[求助]怎样计算某一个运行程序的内存基址

2008-6-26 18:48
7155
请教各位高手,怎样计算某一个运行程序的内存基址。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Module = GetModuleHandle(); //进程映像的基址
2008-6-26 20:52
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
多谢楼上的回复,但好像不好使

我的目的是这样:

比如说我运行了一个程序,要查找该程序中是否存在某一特定字符,首先就要计算该程序在内存中的基址,然后加上偏移量。

试着用
hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dPID);
LPCVOID pAddress = NULL;
MEMORY_BASIC_INFORMATION mbi;
VirtualQueryEx(hProcess,pAddress,&mbi,sizeof(mbi))==sizeof(mbi);
{

  printf("mbi BaseAddress:%08x\n",mbi.BaseAddress);
  ReadProcessMemory(...);

  memcmp(...);
  ...
}

但VirtualQueryEx一直没成功,mbi.BaseAddress也只是等于0;

继续求助ing
2008-6-27 19:05
0
雪    币: 225
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
我支持
2008-6-27 19:12
0
雪    币: 249
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
call $+5
pop ecx
@@:dec ecx
xor cx,cx
cmp word[ecx],'MZ'
jne @B
2008-6-27 23:01
0
游客
登录 | 注册 方可回帖
返回
//