最近在看Windows的job对象,这个job有点类似于进程的容器,可以对进程做出一些限制。如果要查看一个job的具体信息,需要有一个打开的句柄。如果这个job非自己创建的,需要知道其名称,用OpenJobObject打开。现在问题是:怎么查到本机已有的Job对象,并获得其名称?我看到ProcessExplorer可以做到,真想了解人家是怎么做的:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
用NtQueryInformationJobObject就可以查Job信息,不过看了一下XP代码好像里面不能直接查名字。
再看了看NtOpenJobObject里面用的是ObOpenObjectByName,那应该用NtQueryObject就可以查询其ObjectNameInformation了。
至于怎么枚举进程的Object就应该不难了吧