首页
社区
课程
招聘
[求助]HOOK NTCreateProcess后得到EXE文件名
发表于: 2007-4-18 14:28 17143

[求助]HOOK NTCreateProcess后得到EXE文件名

2007-4-18 14:28
17143
我HOOK了A进程里的NTCreateProcess(Ring3下),现在A进程想运行一个EXE文件,在我的MyNTCreateProcessEx函数中怎样才能得到这个EXE文件名,我知道在Ring0下是几个函数的问题,但Ring3下要怎么搞啊?
还有ZwUnmapViewOfSection打开NTCreateProcess传递进来的参数SectionHandle,为什么映射EXE文件和原来磁盘上的EXE有些不同啊(基本上一样,头部多了点东西)?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我想你在RING0都可以弄 在RING3应该更简单的   以前病毒使用的一种技术就可以了  修改KERNEL32.dll文件的函数(好象是createprocess)
2007-4-18 21:45
0
雪    币: 297
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
不是会返回一个进程的Handle吗?
有了这个,你还有什么得不到的?
2007-4-19 13:11
0
雪    币: 212
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是的,要是等到它返回了,我的确能得到EXE的文件名,但我的目的是根据EXE名字有选择的运行,所以在想知道它的EXE文件名的时候还没有调用真正的 NTCreateProcess,此时该用什么方法得到啊。
2007-4-19 14:21
0
雪    币: 297
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
5
偶记得好像运行到这里的时候,内存已经分配完成,然后进程自身映像和ntdll.dll也都已经加载了,其他的dll都还没有加载。这时可以遍历进程空间,然后判断进程名字嘛。
2007-4-19 19:21
0
雪    币: 494
活跃值: (629)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
6
KPROCESS里有,查查Native API
2007-4-19 20:26
0
雪    币: 212
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢大家,已经解决了,用的是一个叫作GetMappedFileName的函数。
2007-4-19 21:48
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
老兄能不能说一下GetMappedFileName功能,这个东西你在什么地方找的?
2007-4-25 17:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你应该不可能在RING0级下操作?
2007-4-25 20:57
0
雪    币: 212
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
DWORD addr;
char name[MAX_PATH];
int i;

addr=(DWORD)MapViewOfFile(hSection,PAGE_READONLY,0,0,0);
i=GetMappedFileName(GetCurrentProcess(),(LPVOID)addr,name,MAX_PATH);
UnmapViewOfFile((LPVOID)addr);

printf("%s \n",name);
2007-5-2 17:04
0
雪    币: 1312
活跃值: (5169)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
顶!!!!!!!!!!!!
2007-5-26 02:45
0
雪    币: 12
活跃值: (701)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
2022-7-7 14:22
0
游客
登录 | 注册 方可回帖
返回
//