最近在看Windows的job对象,这个job有点类似于进程的容器,可以对进程做出一些限制。如果要查看一个job的具体信息,需要有一个打开的句柄。如果这个job非自己创建的,需要知道其名称,用OpenJobObject打开。现在问题是:怎么查到本机已有的Job对象,并获得其名称?我看到ProcessExplorer可以做到,真想了解人家是怎么做的:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
用NtQueryInformationJobObject就可以查Job信息,不过看了一下XP代码好像里面不能直接查名字。
再看了看NtOpenJobObject里面用的是ObOpenObjectByName,那应该用NtQueryObject就可以查询其ObjectNameInformation了。
至于怎么枚举进程的Object就应该不难了吧