08 2021 档案
Windows内核--通用IRP派遣函数的编写
摘要:1 void IrpTest(PDRIVER_OBJECT DriverObject) 2 { 3 DriverObject->MajorFunction[IRP_MJ_CREATE] = HelloDDKDispatchRoutin; 4 DriverObject->MajorFunction[I
阅读全文
反调试——3——反调试手段
摘要:反调试——3——反调试手段 反调试的方法有非常非常多,这里介绍一些比较常见的。 通过CloseHandle() 通过CloseHandle来试图关闭一个不存在的句柄,如果程序处于调试状态就会引发异常,否则没有任何反应。 这种机制在User下看起来就是调用一个CloseHandle,但是其实它的内部逻
阅读全文
反调试——2——深入NtQueryInformationProcess
摘要:反调试——2——深入NtQueryInformationProcess ProcessDebugPort这个标志位里面涉及到的东西比较复杂,所以要展开来讲。 CheckRemoteDebuggerPresent(): CheckRemoteDebuggerPresent function (debu
阅读全文
反调试——1——开始反调试
摘要:反调试——1——开始反调试 前面的文章可以算是反调试的一些铺垫了,现在算是正式开始。 调试器的工作流程 调试器调试分两种情况,一种是附加进程,一种是通过可执行程序来创建进程调试。 创建进程: 通过CreateProcess并设置为DEBUG_PROCESS模式来启动。 BOOL CreateProc
阅读全文
反调试——异常过滤器
摘要:反调试——异常过滤器 首先什么是异常:很简答就是CPU遇到了无法执行的指令。 异常处理的流程: CPU->操作系统->调试器(如果有)->VEH->SEH->异常过滤器(SetUnhandleExceptionFilter) 异常过滤器: https://docs.microsoft.com/en-
阅读全文
Windows内核--交互注册表Reg
摘要:void RegTest()//内核的操作Reg函数和User下的函数不一样 { RawCreateOpenRegTest(); EasyOpenRegTest(); EditReg(); QueryReg(); } void RawCreateOpenRegTest() //内核的操作Reg函数和
阅读全文
网络游戏逆向分析-4-分析喊话call参数来源
摘要:网络游戏逆向分析-4-分析喊话call参数来源 好久没更新了,去实习去了,大家见谅一下。 前面找到了喊话功能call函数,然后分析了它的参数有五个,分别的四个push的和一个ecx: 第一次edx = 0ebx = 0ecx = 7E205ABC //字符串的首地址edx = 5ABEB800ec
阅读全文
Windows内核--文件交互.demo
摘要:void FileTest() { //进行文件相关操作 //创建文件 CreateFileTest(); //打开文件 OpenFileTest(); //修改或获取文件属性 ModifyFileAttributesTest(); //读写文件 ReadFileTest(); WriteFileT
阅读全文
Windows内核开发-6-内核机制 Kernel Mechanisms
摘要:Windows内核开发-6-内核机制 Kernel Mechanisms 一部分Windows的内核机制对于驱动开发很有帮助,还有一部分对于内核理解和调试也很有帮助。 Interrupt Request Level中断请求级别 Deferred Procedure Calls(DPC) 延迟调用 A
阅读全文
Windows内核--运行时函数(内存相关).demo
摘要:运行时函数就是编译器会根据你写的底层的硬件再将你自己写的调用了API的代码翻译成底层可以用的代码。 1 #define BUFFER_SIZE 1024 2 void RtlTest() 3 { 4 PUCHAR pBuffer = (PUCHAR)ExAllocatePool(PagedPool,
阅读全文
Windows内核--Lookaside例子程序.demo
摘要:1 typedef struct _MYDATA { 2 LIST_ENTRY ListEntry; 3 ULONG X; 4 ULONG Y; 5 }MYDATA, * PMYDATA; 6 void LookasideTest() 7 { 8 //初始化Lookaside对象 9 PAGED_L
阅读全文
Windows内核--使用内核链表.demo
摘要:typedef struct _MYDATA { LIST_ENTRY ListEntry; ULONG X; ULONG Y; }MYDATA, * PMYDATA; void LinkListTest() { LIST_ENTRY linkListHead;//链表头 InitializeLis
阅读全文
Windows内核开发-5-调试
摘要:Windows内核开发-5-调试 开发内核也是会有调试的,但是它的调试和普通的我们在User下正常开发的调试不一样,它是直接把整个机器拿来调试,User下通常是把进程附加然后拿来调试。调试也有很多方法,比较常用的是用vs来双机调试和Windbg来双机调试,这里采用Windbg来双机调试,因为就算是v
阅读全文
浙公网安备 33010602011771号