一些零碎的记忆

1)
<R3层的gs 为TEB    +30h/+60h  为PEB   R0层gs 为kpcr>    
#include <intrin.h>
包含有:__readgsqword(0x60)  __readfsdword(0x30)  这二个命令
2)
符号                                 格式说明符                                        类型
%c, %lc                           ANSI字符                                            char
%C, %wc                         宽字符                                                 wchar_t
%d, %i                            十进制有符号整数                                 int
%D                                  十进制_int64                                     _int64
%L                                  十六进制的LARGE_INTEGER            LARGE_INTEGER
%s, %ls                           NULL终止的ANSI字符串                      char*
%S, %ws                        NULL终止的宽字符串                          wchar_t*
%Z                                 ANSI_STRING字符串
%wZ                              UNICODE_STRING字符串
%u                                 十进制的ULONG                                   ULONG
%x                                小写字符十六进制的ULONG                   ULONG
%X                                大写字符十六进制的ULONG                   ULONG
%p                                指针Pointer 32/64位
【NtQuerySystemInformation】  SystemProcessInformation类取进程线程结构体逆向NtQuerySystemInformation(SystemProcessInformation, pInfo, dwSize, &dwSize);



typedef struct _mSYSTEM_THREAD_INFORMATION {
	LARGE_INTEGER Reserved1[3];    
	ULONG Reserved2;				//+0x18
	PVOID StartAddress;				//+0x20
	CLIENT_ID ClientId;				//+0x28
	KPRIORITY Priority;				//+0x38
	LONG BasePriority;				//+0x3C
	ULONG Reserved3;
	ULONG ThreadState;				//+0x44
	ULONG WaitReason;				//+0x48
} mSYSTEM_THREAD_INFORMATION, * PmSYSTEM_THREAD_INFORMATION;
typedef struct _SYSTEM_PROCESS_INFORMATION {
	ULONG NextEntryOffset;		//结构长度 +0
	ULONG NumberOfThreads;		//线程数量	+4
	BYTE Reserved1[48];			//+8
	UNICODE_STRING ImageName;	//+38 中间空4个字节 到名字缓存区 +40
	KPRIORITY BasePriority;		//+48  空4字节
	HANDLE UniqueProcessId;		//+50	
	PVOID Reserved2;			//+58
	ULONG HandleCount;			//+60
	ULONG SessionId;			//+64	
	PVOID Reserved3;			//+68   //未初始化
	SIZE_T PeakVirtualSize;		//+70
	SIZE_T VirtualSize;			//应该为Dword +78  后空4字节
	ULONG Reserved4;			//+80
	SIZE_T PeakWorkingSetSize;	//+88
	SIZE_T WorkingSetSize;		//+90
	PVOID Reserved5;			//+98
	SIZE_T QuotaPagedPoolUsage;	//+A0  
	PVOID Reserved6;			//+A8
	SIZE_T QuotaNonPagedPoolUsage;	//+B0
	SIZE_T PagefileUsage;		//+B8    
	SIZE_T PeakPagefileUsage;	//+C0
	SIZE_T PrivatePageCount;	//+C8
	LARGE_INTEGER Reserved7[6];	//+D0  长度为0x38
	//后面紧接SYSTEM_THREAD_INFORMATION <线程结构>  注:但winternl.h  里未接  但事实取回来的数据里是接  逆向系统为win10 18363
} SYSTEM_PROCESS_INFORMATION;

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值