• 2024-10-23系统调用之全局hook(项目)
    所谓的全局hook就是通过修改物理页属性把系统DLL的写拷贝去除达到修改指令不会重新分配物理地址通过WINDBG命令:!vad可以看到系统dll都是写拷贝属性通过修改MessageBoxW来测试:先把RING3程序的PID传给驱动层,通过驱动附加到进程修改PTE的R/W属性//修改MessageBoxWPTE属性cas
  • 2024-10-22ReactOS系统中EPROCESS结构体的声明
    ReactOS系统中EPROCESS结构体的声明ReactOS系统中EPROCESS结构体的声明文章目录ReactOS系统中EPROCESS结构体的声明EPROCESSEPROCESS////ExecutiveProcess(EPROCESS)//typedefstruct_EPROCESS{KPROCESSPcb;EX_PUSH_LOCKProcessLock;LA
  • 2024-03-26反反调试记录
    _EPROCESS->Peb(_PEB)->BeingDebugged置0_EPROCESS->Peb(_PEB)->NtGlobalFlag置0_EPROCESS->Peb(_PEB)->ProcessHeapasProcessHeap调用IsWindowsVistaOrGreater如果大于等于windowsvista​asFlagsOffset=0x70​asForceFlagsOffs
  • 2023-11-174.2 Windows驱动开发:内核中进程线程与模块
    内核进程线程和模块是操作系统内核中非常重要的概念。它们是操作系统的核心部分,用于管理系统资源和处理系统请求。在驱动安全开发中,理解内核进程线程和模块的概念对于编写安全的内核驱动程序至关重要。内核进程是在操作系统内核中运行的程序。每个进程都有一个唯一的进程标识符(PI
  • 2023-11-174.1 Windows驱动开发:内核中进程与句柄互转
    在内核开发中,经常需要进行进程和句柄之间的互相转换。进程通常由一个唯一的进程标识符(PID)来标识,而句柄是指对内核对象的引用。在Windows内核中,EProcess结构表示一个进程,而HANDLE是一个句柄。为了实现进程与句柄之间的转换,我们需要使用一些内核函数。对于进程PID和句柄的互相转换,
  • 2023-06-23驱动开发:内核中进程与句柄互转
    在内核开发中,经常需要进行进程和句柄之间的互相转换。进程通常由一个唯一的进程标识符(PID)来标识,而句柄是指对内核对象的引用。在Windows内核中,EProcess结构表示一个进程,而HANDLE是一个句柄。为了实现进程与句柄之间的转换,我们需要使用一些内核函数。对于进程PID和句柄的互相转换,
  • 2023-06-13驱动开发:内核LoadLibrary实现DLL注入
    远程线程注入是最常用的一种注入技术,在应用层注入是通过CreateRemoteThread这个函数实现的,该函数通过创建线程并调用LoadLibrary动态载入指定的DLL来实现注入,而在内核层同样存在一个类似的内核函数RtlCreateUserThread,但需要注意的是此函数未被公开,RtlCreateUserThread其实是对N
  • 2022-11-072种内核级反用户态调试方法
    0.前言  很久前写过一些应用层的反调试的文章,这类反调试方法的好处是易于实现,但缺点是很容易被绕过----保护因此失效。我们的危机公关手段是:将反调试功能放到内核中用驱
  • 2022-10-04Windows驱动开发基础——进程遍历
    在自己开发的驱动中进行进程遍历在windows每个进程都有一个EPROCESS结构体,出了Idle空闲进程和system进程之外,其余的进程都在磁盘上有自己的可执行文件,而Idle进程和system
  • 2022-08-31驱动开发:摘链DKOM进程隐藏
    DKOM即直接内核对象操作,我们所有的操作都会被系统记录在内存中,而驱动进程隐藏就是操作进程的EPROCESS结构与线程的ETHREAD结构、链表,要实现进程的隐藏我们只需要将某个进