阅读:4484回复:7
我HOOK了ZwCreateThread,怎么判断是不是创建远程线程?
我用SSDT HOOK了ZwCreateThread。想通过比较参数的ProcessHandle和当前调用者的Handle来判断是否为远程线程。当不同时就认为是创建远程线程。
但发现有点问题,就是Explorer.exe经常要打开其他程序时,也会传不同的Handle。这样就会误报。 绿盟上有说用Thread通知回调,而且说忽略System的线程创建,好象在XP下不行。 有谁有什么好办法hook到远程线程创建呢? |
|
最新喜欢:wingma... |
沙发#
发布于:2007-05-09 20:15
嘿嘿~这个你可以研究一下啦~注意远程线程是一个特殊线程,他必须在程序内其他线程已经存在的前提下出现~~
呵呵~~ |
|
|
板凳#
发布于:2007-08-23 11:58
老大能不能说详细些,俺也想解决这个问题啊,谢谢!
|
|
地板#
发布于:2008-03-19 09:39
Thread通知回调可以实现,xfocus上有现成的代码,但是通过ZwCreateThread如何实现不太清楚
|
|
地下室#
发布于:2008-04-07 16:57
用handle貌似很多误报的,也不知道是不是误报,反正调用某些正常的ms api都会出现问题
|
|
5楼#
发布于:2008-05-03 10:57
判断调用者的ProcessId和被调用的ProcessId是不是同一个,前提是被调用的ProcessId的线程个数大于1个。
|
|
6楼#
发布于:2008-05-03 13:11
如果钩住内核的PspCreateThread 如何得到调用者的ProcessId?
|
|
7楼#
发布于:2008-05-03 20:05
你不会Hook SSDT吗?
|
|