本站的1位用户
加入于2021-05-27
Windows驱动开发,网站开发
好好学习,天天向上。
    以下代码摘自TOASTER电源管理IRP_MJ_POWER的注释The system dispatches different IRP_MJ_POWER IRPs to ToasterDispatchPower for different purposes:To query a drive......
    阅读数:1点赞数:02023-11-28 11:21:40
    微软在x64系统中推出了DSE保护机制,DSE全称(Driver Signature Enforcement),该保护机制的核心就是任何驱动程序或者是第三方驱动如果想要在正常模式下被加载则必须要经过微软的认证,当驱动程序被加载到内存时会验证签名的正确性,如果签名不正常则系统会拒绝运行驱动,这种机制也......
    阅读数:0点赞数:02023-11-24 17:25:30
    什么是PIPE管道?在Windows编程中,数据重定向需要用到管道PIPE,管道是一种用于在进程间共享数据的机制,通常由两端组成,数据从一端流入则必须从令一端流出,也就是一读一写,利用这种机制即可实现进程间直接通信。管道的本质其实是一段共享内存区域,多数情况下管道是用于应用层之间的数据交换的,其实驱......
    阅读数:3点赞数:02023-11-24 17:09:34
    发送端#define EXAMP_PIPE L"\.\PIPE\EB3F2E4B_52E2_40F9_A17D_B4A2588F23AB" #define BUF_SIZE 4096void CPipeDlg::SendData(PUCHAR pData, ......
    阅读数:2点赞数:02023-11-24 16:57:04
    // mictest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include #include #include #inc......
    阅读数:0点赞数:02023-11-24 15:36:54
    内核中读写内存的方式有很多,典型的读写方式有CR3读写MDL读写,内存拷贝实现读写拷贝读写的核心是使用MmCopyVirtualMemory这个内核API函数实现,通过调用该函数即可很容易的实现内存的拷贝读写。MmCopyVirtualMemory是Windows内核中一个非常有用的函数,它可......
    阅读数:7点赞数:02023-11-16 15:46:00
    首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为无效,此时CR3读写就失效了,当然如果能找到CR3的正确地址......
    阅读数:4点赞数:02023-11-16 15:07:40
    关于时间片1) 当一个新的线程开始执行时,初始化程序会在KTHREAD.Quantum赋初始值,该值的大小由KPROCESS.ThreadQuantum决定(观察ThreadQuantum大小)2) 每次时钟中断会调用KeUpdateRunTime函数,该函数每次将当前线程Quantum减少3个单......
    阅读数:2点赞数:02023-11-14 10:04:32
    线程切换的函数是:KiSwapThread,该函数内部调用 KiSwapContext进行堆栈信息的切换。ReactOS的源代码如下:LONG_PTR FASTCALL KiSwapThread(IN PKTHREAD Thread,IN PKPRCB Prcb ) { ......
    阅读数:5点赞数:02023-11-14 09:40:49
    1. PEPROCESS NTAPI PsGetCurrentProcess2. HANDLE NTAPI PsGetCurrentProcessId(VOID) 3. variable PsGetCurrentThreadId4. define PsGetCur......
    阅读数:5点赞数:02023-11-13 16:43:07
    以下文章虽为转载,但也包含了本人的修改与测试验证。Windows内核中是无法使用vector容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构LIST_ENTRY通过一些列链表操作函数对结构体进行装入弹出等操作,LIST_ENTRY是Windows内核中定义的......
    阅读数:9点赞数:02023-11-13 15:26:15
    ThreadSwitch.cpp// ThreadSwitch.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ThreadCor......
    阅读数:6点赞数:02023-11-13 12:05:35
    线程3种状态:正在运行就绪等待等待线程链表阻塞的线程在等待线程链表中。KTHREAD结构体中: +0x0d8 WaitListEntry : _LIST_ENTRY +0x0d8 SwapListEntry : _SINGLE_LIST_ENTRY当一个线程处于等待状......
    阅读数:2点赞数:02023-11-13 11:32:49
    KPCR全称Kernel Processor Control Region (KPCR) 是操作系统内核的一部分,用于管理处理器(CPU)。在 Windows 操作系统中,每个处理器都有一个 KPCR 结构,用于存储处理器运行的操作系统内核的线程上下文,包括寄存器、控制寄存器和处理器状态。KPCR ......
    阅读数:5点赞数:02023-11-13 11:01:05
    使用.symfix可以设置Windbg的符号库为微软官方的:SRV*D:Symbol*http://msdl.microsoft.com/download/symbols;但是由于网络等原因,经常导致符号库下载失败等。故可以使用备用国用镜像地址:SRV*e:Symbol*http://ms......
    阅读数:20点赞数:02023-11-10 17:03:34