首页
社区
课程
招聘
[求助]SSDT Hook后如何取得主调者的模块名
发表于: 2008-1-23 23:36 5016

[求助]SSDT Hook后如何取得主调者的模块名

2008-1-23 23:36
5016
我用SSDT   Hook钩了NtCreateFile函数,但是现在我想要知道是谁调用了NtCreateFile,比如说ABC.EXE进程的123.dll通过CreateFileA最终调用到了NtCreateFile,我怎么才能知道调用NtCreateFile的是123.dll呢?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
2
据偶知道的,从SSDT好像不能知晓是谁调用的,不过跳出这个小圈圈,可以看看filemon是怎么做的~
另外监视模块可以调用PsSetLoadImageNotifyRoutine,不过MS和这个没什么关系呀~

R3层挂个全局HOOK, 谁调用就注入到谁的进程里面.然后得到进程相关信息...
2008-1-24 03:27
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
psgetcurrentprocess 获得调用ntcreatefile的进程 然后自己分析调用堆栈找到call ntdll!ntcreatefile的地址,然后拿着这个地址在进程加载的dll表中找到相应的dll
2008-1-24 04:45
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
4
感动

炉子牛就是牛啊
2008-1-24 08:02
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
其实我和炉子兄的想法是一样的,但无奈水平有限,不知道该怎样分析堆栈然后拿这个地址在加载的DLL表中找
我现在退一步,已知有一个线程是123.dll创建的,能否根据这个线程ID来找到123.dll呢?我看Process Explorer就实现了这样的功能(在用户模式实现也可以)
2008-1-24 10:59
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
psgetchrrentthread
2008-1-24 14:47
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我找到一个方法,根据线程ID
procedure GetModuleByTID(PID,TID:Cardinal;szModuleName:PWideChar);
var
  hProcess,hThread:THandle;
  StartAddr,tmp:DWORD;
  szNameTmp:array [0..FILENAMESIZE - 1] of WideChar;
  i:Byte;
const
  THREAD_QUERY_INFORMATION = $40;
begin
  hThread := OpenThread(THREAD_QUERY_INFORMATION,False,TID);
  ZwQueryInformationThread(hThread,ThreadQuerySetWin32StartAddress,@StartAddr,
    SizeOf(DWORD),@tmp);
  hProcess := OpenProcess(PROCESS_QUERY_INFORMATION,False,PID);
  GetMappedFileNameW(hProcess,Pointer(StartAddr),szModuleName,FILENAMESIZE);
  {……}
  CloseHandle(hThread);
  CloseHandle(hProcess);
end;
2008-1-24 19:51
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
GetMappedFileNameW(hProcess,Pointer(StartAddr),szModuleName,FILENAMESIZE);

不知道GetMappedFileNameW能得到类似于dll1.dll+0x2345这样的StartAddress不。

既然根据tid,那就PsGetCurrentThreadId吧
2008-1-24 20:09
0
游客
登录 | 注册 方可回帖
返回
//