|
发表于 2011-9-4 19:54:15
|
显示全部楼层
河北省唐山市
.版本 2
.子程序 枚举系统句柄, 整数型
.参数 句柄数组, SYSTEM_HANDLE_TABLE_ENTRY_INFO, 参考 可空 数组
.局部变量 计次, 整数型
.局部变量 data, 字节集
.局部变量 ret, 整数型
.局部变量 retlen, 整数型
.局部变量 NumOfHandle, 整数型
.局部变量 addr, 整数型
.局部变量 h_info, SYSTEM_HANDLE_TABLE_ENTRY_INFO
清除数组 (句柄数组)
retlen = 1
.循环判断首 ()
data = 取空白字节集 (retlen)
ret = ZwQuerySystemInformation (16, data, retlen, 0)
.如果真 (ret = -1073741820)
retlen = retlen × 2
data = 取空白字节集 (retlen)
到循环尾 ()
.如果真结束
跳出循环 ()
.循环判断尾 (ret = -1073741820)
addr = _取字节集指针 (data) + 4
NumOfHandle = 指针到整数_ (addr - 4)
.变量循环首 (addr, addr + 16 × (NumOfHandle - 1), 16, addr)
RtlMoveMemory1 (h_info, addr, 16)
加入成员 (句柄数组, h_info)
.变量循环尾 ()
返回 (NumOfHandle)
|
|