能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我想你在RING0都可以弄 在RING3应该更简单的 以前病毒使用的一种技术就可以了 修改KERNEL32.dll文件的函数(好象是createprocess)
|
能力值:
( LV9,RANK:250 )
|
-
-
3 楼
不是会返回一个进程的Handle吗?
有了这个,你还有什么得不到的?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
是的,要是等到它返回了,我的确能得到EXE的文件名,但我的目的是根据EXE名字有选择的运行,所以在想知道它的EXE文件名的时候还没有调用真正的 NTCreateProcess,此时该用什么方法得到啊。
|
能力值:
( LV9,RANK:250 )
|
-
-
5 楼
偶记得好像运行到这里的时候,内存已经分配完成,然后进程自身映像和ntdll.dll也都已经加载了,其他的dll都还没有加载。这时可以遍历进程空间,然后判断进程名字嘛。
|
能力值:
( LV9,RANK:1210 )
|
-
-
6 楼
KPROCESS里有,查查Native API
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢大家,已经解决了,用的是一个叫作GetMappedFileName的函数。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
老兄能不能说一下GetMappedFileName功能,这个东西你在什么地方找的?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
你应该不可能在RING0级下操作?
|
能力值:
( 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);
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
顶!!!!!!!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
|
|
|