最近在看Windows的job对象,这个job有点类似于进程的容器,可以对进程做出一些限制。如果要查看一个job的具体信息,需要有一个打开的句柄。如果这个job非自己创建的,需要知道其名称,用OpenJobObject打开。现在问题是:怎么查到本机已有的Job对象,并获得其名称?我看到ProcessExplorer可以做到,真想了解人家是怎么做的:
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界
用NtQueryInformationJobObject就可以查Job信息,不过看了一下XP代码好像里面不能直接查名字。
再看了看NtOpenJobObject里面用的是ObOpenObjectByName,那应该用NtQueryObject就可以查询其ObjectNameInformation了。
至于怎么枚举进程的Object就应该不难了吧