gpt4 book ai didi

windows - NtQueryObject 卡在具有特定访问掩码的对象类型编号 30 上

转载 作者:可可西里 更新时间:2023-11-01 14:44:57 37 4
gpt4 key购买 nike

我看到 NtQueryObject 因具有这些授权访问值的重复句柄而挂起(handle.GrantedAccessACCESS_MASK 类型):

1179785 (integer) --> 0b100100000000010001001 (binary)
1180063 (integer) --> 0b100100000000110011111 (binary)
1180041 (integer) --> 0b100100000000110001001 (binary)
2032127 (integer) --> 0b111110000000111111111 (binary)
||||||| | |
||||||| | |
||||||| | |
^^^^^^^ ^ ^
Possible culprit bits seem to be 3rd and 7th bit, but could also be 9th to 15th bit.

总是,handle.ObjectTypeNumber 是 30。这个对象类型号是多少,我怎样才能得到这个类型的特定权限列表?我的实验表明它必须是 0-15 位导致此对象类型编号 30(整数)挂起。 handle 是一个 SYSTEM_HANDLE 类型,定义为:

typedef struct _SYSTEM_HANDLE
{
ULONG ProcessId;
BYTE ObjectTypeNumber;
BYTE Flags;
USHORT Handle;
PVOID Object;
ACCESS_MASK GrantedAccess;
} SYSTEM_HANDLE, *PSYSTEM_HANDLE;

我正在编写一个取证工具,使用描述的方法枚举所有打开的文件句柄 here .

最佳答案

我来晚了一点,但如果你只对基于磁盘的文件感兴趣,你可以这样做:

if(GetFileType(handle) == FILE_TYPE_DISK) {
...
}

挂起通常发生在非磁盘文件(例如管道)上。使用这种技术,您根本不需要担心 handle.GrantedAccess。

关于windows - NtQueryObject 卡在具有特定访问掩码的对象类型编号 30 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26867480/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com