博客专栏  >  架构   >  win内核

win内核

以个人的观点分析wrk1.2和ReactOS部分实现

关注
3 已关注
33篇博文
  • XpSp3(未开启PAE模式)内存管理之系统PTE区域 下

    前面XpSp3(未开启PAE模式)内存管理之系统PTE区域 上>的结尾部分留了一个疑问:系统空闲PTE链表的结尾部分和全局变量nt!MmSystemPtesEnd中保存的值不同。 这篇尝试解释是什么导...

    2017-02-05 14:31
    355
  • XpSp3(未开启PAE模式)内存管理之系统PTE区域 上

    前言     几年前就已经看过wrk中关于内存管理和缓存管理的实现,由于当时对内核调试尚不熟悉,因此仅仅停留在代码层面。现在结合windbg操作,希望能有新的收获。毛德操的对理解windows内核确有...

    2017-02-04 00:50
    483
  • xp sp3关闭PAE(物理内存扩展)

    这几天调试系统PTE区域,在获取nt!MmFirstFreeSystemPte指向的元素时,总无法获得正确的空闲pte值。反汇编nt!MiInitializeSystemPtes函数时发现这样的代码:...

    2017-02-02 16:34
    453
  • windbg下看系统非分页内存

    这篇文章实在是闲的无聊才写的,因为快过年了...文章基于xpsp3     先看看和非分页内存相关的全局变量,也好有个大局观: kd> x nt!MmNonPaged* 805517d8 ...

    2017-01-22 14:20
    563
  • MmGetSystemRoutineAddress实现

    MmGetSystemRoutineAddress这个函数也是比较有用的,是得到系统导出函数的地址,不过网上都是写了一堆汇编代码在哪里,根本没有可读性,还不如用IDA看呢。 下面的函数是摘自Re...

    2017-01-06 16:21
    382
  • windows 内核文档化API/导出但未文档化API/未导出API

    导出函数:顾名思义,出现在导出表(EAT)里面的函数,可以给外部调用的函数,验证是否为导出函数的方法,熟悉逆向的朋友可以使用LordPE之类的工具查看,当然也可以使用GetProcAddress或者M...

    2017-01-06 16:15
    490
  • IO_STACK_LOCATION与IRP的一点笔记

    IO_STACK_LOCATION和IRP算是驱动中两个很基础的东西,为了理解这两个东西,找了一点资料。 1. IRP可以看成是Win32窗口程序中的消息(Message),DEVICE_OBJ...

    2016-11-26 21:27
    317
  • 通过右键安装inf文件来安装驱动程序这种方式可取吗?

    很多人拿到驱动包准备安装驱动时,往往先想到通过鼠标右键-安装这种方式来安装驱动。且不说能不能安装成功,要支持这种安装方式,对inf文件有一定的要求:inf文件中需要包含[DefaultInstall]...

    2016-11-06 17:29
    3104
  • 驱动程序中使用event view记录日志

    Eventdrv是MS ddk中的一个demo,演示如何在驱动中使用event view日志。本文译自src/general/tracing/evntdrv/evntdrv.htm 概述 Even...

    2016-10-23 17:04
    925
  • 用setupapi.dev.log查找驱动安装过程中的错误

    错误难以避免,驱动安装后经常会见到YB,遇到这样的情况可以查看windows设备驱动安装日志: C:\Windows\inf\setupapi.dev.log. 每次安装一个驱动,都以: >>> [...

    2016-10-22 17:21
    1771
  • 使用DpInst安装驱动程序

    出差时发现一些大公司使用DpInst工具安装驱动,当时觉得这种方式安装驱动相当方便,出于好奇回来后自己也尝试这种安装方式。     DpInst.exe工具位于ddk目录redist\DIFx\dp...

    2016-09-25 21:33
    3047
  • Inf2Cat应用的参数使用详细介绍(inf2cat生成cat文件)

    Inf2Cat Inf2Cat (Inf2Cat.exe) 是一个命令行工具,该工具确定驱动程序包的 INF 文件是否可以针对指定的 Windows 版本列表进行数字签名。如果可以,那么 I...

    2016-09-17 14:09
    1281
  • IoRegisterPlugPlayNotification源码分析

    IoRegisterPlugPlayNotification函数的作用是为指定guid的设备注册一个回调函数,当进入设备驱动并调用IoSetDeviceInterfaceState使能设备访问接口后,...

    2016-08-30 22:24
    852
  • 安装驱动程序(1)----驱动预安装

    前面toaster驱动程序的安装都是通过手动安装的方式,把sys/inf等文件安装到系统中。说实话,这么复杂的过程除了开发者,其他人能流畅的安装上驱动还真是天方夜谭了。如果读者曾在电脑城买过电脑配件,...

    2016-07-31 16:00
    1576
  • windbg+网线双机调试内核

    最近要调试bluetooth,涉及到具体硬件因此不能用虚拟机和命名管道调试内核了,另外现在的PC追求轻便化,因此连串口都没了,不得不考虑使用网线调试。网上转了一圈发现了这篇:基于网络的内核调试   ...

    2016-06-29 20:13
    3755
  • Pnp管理器(2)

    前一篇Pnp管理器(1)提到了总线上设备变化时,将产生Pnp消息并在Pnp管理器个组件间流动。消息传递的最终目的是通知某个组件加载驱动。本文看一下Pnp管理器收到消息后加载驱动的流程。     当P...

    2016-06-28 21:50
    3280
  • Pnp管理器(1)

    以前写过一篇Pnp管理器的文章,感觉写的有点肤浅,因此打算另起一篇写Pnp管理器。Pnp管理器是个大的组件:从内核到用户态都有涉及,因此需要分若干篇章分析。本篇立足于Pnp管理器中连接各个模块之间消息...

    2016-06-27 22:08
    1015
  • 用windbg寻找设备树根节点

    用ReactOS上明确说过,Pnp管理器对每种设备都会创建一个虚拟root device用于构建设备树;同时这个新创建的root device又作为一个设备栈的栈底,往上形成完整的设备栈。用windb...

    2016-06-21 21:33
    2962
  • DDK样例toaster分析(1)

    msddk样例中toaster是一个比较完整和值得学习的pnp驱动,包括了一个完整的设备栈(含总线驱动/功能驱动,以及设备栈中各层过滤驱动)和驱动安装程序(含驱动安装包/类安装程序/协安装程序)。本篇...

    2016-06-17 17:39
    852
  • DDK样例toaster分析(2)

    前一篇 DDK样例toaster分析(1) 主要讨论了toaster样例中的busenum总线驱动。本篇将讨论从总线驱动过渡到功能驱动,也就是toaster.sys。     成功安装busenum....

    2016-06-18 16:30
    845

WDF框架分析
4715
LiveCD
55007
设备驱动
147012
器之卷
3222742
调试器的实现
1811958
Exploit
2011990
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部