首页
社区
课程
招聘
[旧帖] 请教ntquerysysteminformation的5号功能 0.00雪花
发表于: 2012-10-19 13:08 2851

[旧帖] 请教ntquerysysteminformation的5号功能 0.00雪花

2012-10-19 13:08
2851
为了查询其它进程的工作状态,在VB里用ntquerysysteminformation的5号功能。代码如下:

Dim sysProcInfo() As Byte 'SYSTEM_PROCESS_INFORMATION

  Dim lngLen As Long

  Dim lngResult As Integer = NtQuerySystemInformation(5, 0&, 0&, lngLen)

  ReDim sysProcInfo(lngLen - 1)

  Dim status As Integer = NtQuerySystemInformation(SYSTEM_PROCESSINFORMATION, VarPtr(sysProcInfo), sysProcInfo.Length, IntPtr.Zero)

  If (status <> NO_ERROR) Then

  Exit Sub

  Else

'接下来不知道怎么将byte数据转成'SYSTEM_PROCESS_INFORMATION的,再循环获取指定进程的工作状态。
  End If
请大家帮忙解决啊!!

谢谢!!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
typedef struct _VM_COUNTERS
{
                ULONG PeakVirtualSize;//虚拟存储峰值大小;
                ULONG VirtualSize;//虚拟存储大小;
                ULONG PageFaultCount;///页故障数目;
                ULONG PeakWorkingSetSize;///工作集峰值大小;
                ULONG WorkingSetSize;///工作集大小;
                ULONG QuotaPeakPagedPoolUsage;//分页池使用配额峰值;
                ULONG QuotaPagedPoolUsage;//分页池使用配额;
                ULONG QuotaPeakNonPagedPoolUsag;//非分页池使用配额峰值;
                ULONG QuotaNonPagedPoolUsage;//非分页池使用配额;
                ULONG PagefileUsage;//页文件使用情况;
                ULONG PeakPagefileUsage;///页文件使用峰值;
}VM_COUNTERS,*PVM_COUNTERS;

typedef struct _CLIENT_ID
{
        PVOID UniqueProcess;
        PVOID UniqueThread;
} CLIENT_ID, *PCLIENT_ID;

typedef struct _SYSTEM_THREADS{
        LARGE_INTEGER KernelTime;
        LARGE_INTEGER UserTime;
        LARGE_INTEGER CreateTime;
        ULONG WaitTime;
        PVOID StartAddress;
        CLIENT_ID ClientId;
        ULONG Priority;
        LONG BasePriority;
        ULONG ContextSwitches;
        ULONG ThreadState;
        ULONG WaitReason;
        ULONG Reversed;
} SYSTEM_THREAD_INFORMATION,*PSYSTEM_THREADS;

typedef struct _SYSTEM_PROCESSES {
        ULONG NextEntryDelta;
        ULONG ThreadCount;
        LARGE_INTEGER Reserved1[3];
        LARGE_INTEGER CreateTime;
        LARGE_INTEGER UserTime;
        LARGE_INTEGER KernelTime;
        UNICODE_STRING ProcessName;
        ULONG BasePriority;
        ULONG ProcessId;
        ULONG InheritedFromProcessId;
        ULONG HandleCount;
        ULONG SessionId;
        ULONG_PTR PageDirectoryBase;
        VM_COUNTERS VmCounters;
        ULONG PrivatePageCount;
        IO_COUNTERS IoCounters;
        SYSTEM_THREAD_INFORMATION Threads[1];
} SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;

有这些信息应该够了吧
2012-10-19 16:44
0
游客
登录 | 注册 方可回帖
返回
//