
进程和线程
明白进程的本质 提供4GB空间 线程的本质 eip
qq_857305819
这个作者很懒,什么都没留下…
展开
-
判断进程是否有管理员权限
c语言判断是否有管理员权限原创 2022-06-08 15:53:05 · 731 阅读 · 0 评论 -
19043 ObRegisterCallbacks 回调的遍历和摘除
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION { _Inout_ ACCESS_MASK DesiredAccess; _In_ ACCESS_MASK OriginalDesiredAccess;} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;typedef struct _OB_PRE_DUPLICA原创 2021-10-28 10:37:06 · 648 阅读 · 0 评论 -
枚举进程句柄
#include <windows.h>#include <stdio.h>#define NT_SUCCESS(x) ((x) >= 0)#define STATUS_INFO_LENGTH_MISMATCH 0xc0000004#define SystemHandleInformation 16#define ObjectBasicInformation 0#define ObjectNameInformation 1#define ObjectTypeI原创 2021-09-19 14:45:44 · 531 阅读 · 0 评论 -
枚举进程信息
// test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include<Windows.h>#include <stdio.h>#define STATUS_INFO_LENGTH_MISMATCH 0xc0000004typedef struct _LSA_UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer;} LSA_UNICODE_STRI原创 2021-09-19 13:47:23 · 216 阅读 · 0 评论 -
遍历进程内存
#include<windows.h>#include<stdio.h>#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)// privatetypedef enum _MEMORY_INFORMATION_CLASS{ MemoryBasicInformation, // MEMORY_BASIC_INFORMATION MemoryWorkingSetInformation, // MEMORY_WOR原创 2021-07-13 11:25:53 · 471 阅读 · 0 评论 -
_KUSER_SHARED_DATA
kd> dt _KUSER_SHARED_DATA+0x000 TickCountLow : Uint4B+0x004 TickCountMultiplier : Uint4B+0x008 InterruptTime : _KSYSTEM_TIME+0x014 SystemTime : _KSYSTEM_TIME+0x020 TimeZoneBias : _KSYSTEM_TIME+0x02c ImageNumberLow : Uint2B+0x02原创 2020-07-14 11:43:48 · 559 阅读 · 0 评论 -
内核枚举常量定义
typedef enum _KTHREAD_STATE { Initialized, //0 Ready, //1 Running, //2 Standby, //3 Terminated, //4 Waiting, //5 Transition, //6 DeferredReady,//7 GateWait //8 } KTHREAD_STATE;原创 2020-05-19 15:57:50 · 274 阅读 · 0 评论 -
利用TEB和PEB在3环 断链模块 遍历模块
nt!_TEB +0x000 NtTib : _NT_TIB +0x01c EnvironmentPointer : Ptr32 Void +0x020 ClientId : _CLIENT_ID //UniqueProcess UniqueThread 进程ID +4 线程ID +0x028 ActiveRpcHan...原创 2020-05-02 13:58:33 · 838 阅读 · 0 评论 -
等待链表 调度链表
等待链表kd> dd KiWaitListHead8055b088 861f83e0 862e7e08 00000011 000000008055b098 e57a42bd d6bf94d5 01000013 ffdff9808055b0a8 ffdff980 804dd2cd 00000000 000004948055b0b8 00000000 ffdff9c0 8055...原创 2019-05-29 22:06:45 · 190 阅读 · 0 评论 -
_ETHREAD中两处process的区别
+44h的位置该处的process是系统用于线程访问内存时使用的cr3值。改变该处的值为其他进程的cr3就可以访问其他进程的内存。(ReadProcessMemory就使用了该方法)+220h该处的process记录的是哪一个进程创建的这个线程的cr3SwapContext里面使用的是+44h位置的值,判断要切换的线程是否跟当前线程是在同一个进程...原创 2019-06-07 16:04:12 · 552 阅读 · 0 评论 -
跨进程读写内存
解决方法是把数据写到高2G内存,然后切换cr3.把高2G的数据写入到目标程序。原创 2019-06-07 16:00:11 · 1498 阅读 · 0 评论 -
进程挂靠
原创 2019-06-07 04:23:47 · 252 阅读 · 0 评论 -
windows线程切换-线程优先级
原创 2019-06-07 03:47:34 · 679 阅读 · 0 评论 -
windows线程切换-tss
对应的SwapContext代码存完浮点寄存器,接着存的是_TRAP_FRAME原创 2019-06-06 17:19:40 · 334 阅读 · 0 评论 -
windows进程切换-时间片管理
原创 2019-06-06 16:38:36 · 2537 阅读 · 0 评论 -
tss结构
大小 104字节 windows任务切换只用到了esp0 和ss原创 2019-06-05 21:49:44 · 1370 阅读 · 0 评论 -
KPCR
KPCR结构体 CPU临时记录线程信息的一个结构体kd> dt _kpcrnt!_KPCR+0x000 NtTib : _NT_TIB+0x01c SelfPcr : Ptr32 _KPCR+0x020 Prcb : Ptr32 _KPRCB+0x024 Irql : UChar+0x02...原创 2019-05-28 19:45:07 · 330 阅读 · 0 评论 -
线程结构体
KernelStack 记录切换线程时 0环的esp位置原创 2019-05-28 18:50:13 · 1253 阅读 · 0 评论 -
进程结构体
kd> dt _EPROCESS+0x000 Pcb : _KPROCESS+0x06c ProcessLock : _EX_PUSH_LOCK+0x070 CreateTime : _LARGE_INTEGER+0x078 ExitTime : _LARGE_INTEGER+0x080 RundownProtect ...原创 2019-05-28 13:34:26 · 902 阅读 · 0 评论