能力值:
( LV2,RANK:10 )
|
-
-
2 楼
建立一个LogAnalyse.exe程序,
其LogAnalyse.exe中启动另一个程序:B.exe
WinExec("F:\\B.exe", SW_NORMAL);
那么在B.exe程序已经被启动后,如何知道自己是被别的程序启动了呢?
不能用NtQueryInformationProcess这个函数。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
NtQuerySystemInformation SystemProcessesInformation
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
哈哈,补充说明下。不能使用:
NtQueryInformationProcess
NtQuerySystemInformation
RtlGetNativeSystemInformation
ZwQueryInformationProcess
ZwQuerySystemInformation
希望有其他方式获得父进程的信息,或者有方法判断有父进程即可。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
多谢高人指点,我去研究下SystemProcessesInformation
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
有没有办法对抗API hook呢?
别人hook了NtQueryInformationProcess,我们怎样才能实现NtQueryInformationProcess相同的功能呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
想要绕过Hook的话,看你要获取什么样的信息,要获取父进程pid? 对方如何处理Hook
NtQuerySystemInformation其实有很多可以弄的,比如一般NtQuerySystemInformation过滤进程信息只处理5号功能即SystemProcessInformation
但是其实还有SystemExtendedProcessInformation、SystemSessionProcessInformation
都可以获得完整的系统进程信息
另外一些比较一般的挂钩NtQuerySystemInformation处理隐藏进程信息的东西
通常是不会重组数据或抹去隐藏的进程信息,而是采用把要隐藏的上个项目的NextEntryOffset跳到要隐藏的下一个项目上,这时通过数据分析(需要有结构信息知识)就能找出被隐藏的节点
开动脑筋的话,优美的方法无穷无尽
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
太牛了,非常感谢!
学习了,受教了。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
厉害,我又回来研究这个问题了。
|
|
|