
windows内核知识点学习
文章平均质量分 60
是脆脆啊
菜就菜了怎么滴
展开
-
HEVD第八部分-UAF释放重引用
原理UAF的原理就是释放掉一个对象之后,但是并没有将其置为空,所以导致成为了悬挂指针,然后在使用就会出现一些奇怪的事情:有以下几种情况:内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然程序会崩溃。内存块被释放后,其对应的指针没有被设置为 NULL ,然后在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序很有可能可以正常运转。内存块被释放后,其对应的指针没有被设置为NULL,但是在它下一次使用之前,有代码对这块内存进行了修改,那么当程序再次使用这块内存时,就很有可原创 2022-03-11 15:06:21 · 308 阅读 · 0 评论 -
APC_dll注入
主要是以下五步//注入器//1.要注入到进程中首先要拿到进程ID//2.获取到LoadLibrary地址//3.在目标程序的体内开辟一块内存,用来写入dll地址//4.遍历线程-随便选一个目标进程的线程获取句柄//5.插入APC,把LoadLibrary作为APC的回调参数,然后把目标进程的dll地址作为参数#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<TlHelp3原创 2022-03-03 20:21:45 · 536 阅读 · 0 评论 -
线程的一些操作-学习记录
内核中:线程遍历#include<ntddk.h>//正常的驱动需要提供一个卸载函数VOID DriverUnload(PDRIVER_OBJECT pDriver) { UNREFERENCED_PARAMETER(pDriver); DbgPrint("unload success!!\n");}NTSTATUS EnumThreadFunc(DWORD_PTR pEprocess) { PLIST_ENTRY HeadNode = (PLIST_ENTRY)(pEpro原创 2022-03-03 16:17:08 · 223 阅读 · 0 评论 -
SSDT_HOOK
分别从静态,动态两种方法来hook静态是直接根据openProcess的调用号0xbe动态是防止地址发生改变或者其他,来动态函数索引进而HOOK的#include<ntifs.h>#include<ntimage.h> //提供 PE结构PULONG g_PageMapMemory = NULL;typedef struct _SSDTItem { PULONG FunAddressTable; ULONG Pknum; ULONG uIndexCount;原创 2022-03-03 14:24:10 · 305 阅读 · 0 评论 -
EPROCESS+KPCR+ETHREAD部分介绍-学习记录
**目前32位上结构体已经延展到了0x2bc **_EPROCESSnt!_EPROCESS+0x000 Pcb : _KPROCESS 详细见下面+0x098 ProcessLock : _EX_PUSH_LOCK 进程锁,和KPEOCESS不一样,只锁自己的结构+0x0a0 CreateTime : _LARGE_INTEGER 进程创建时间+0x0a8 ExitTime : _LARGE_INTEGER 进程退出时间+0原创 2022-03-02 12:11:13 · 1210 阅读 · 0 评论