
驱动
`北极星
物来顺应,未来不迎,当时不杂,既过不恋
展开
-
xp+WinDBG+VMware调试内核
来源于:http://www.cnblogs.com/lzjsky/archive/2010/12/14/1905275.html呵呵,搞点突兀的标题而已。其实说的还是如何使用WinDBG和VMware来搭建调试内核的环境而已,这些网上已经有数不清的教程了,不过我喜欢自己亲手写一下。第一,把这个过程写一遍能加深印象,就算以后忘记了也可以有笔记查找,快速想起来。第二、网上的教程很多都是互相抄来抄转载 2012-09-14 14:46:22 · 781 阅读 · 0 评论 -
关于内存写保护和IRQL
摘自胡文亮win64驱动编程基础在内核里想要写入“别人的” 内存( 一般指NTOS 等系统模块的内存空间),还有另外的规矩,这里又涉及到另外两个概念:IRQL 和内存保护。 IRQL成为中断请求级别,从 0~31共32个级别; 内存保护可以打开和关闭, 如果在内存处于保护状态时写入,会导致蓝屏。 一般来说,要写入“别人的”内核内存, 必须关闭转载 2016-01-20 16:57:05 · 2080 阅读 · 0 评论 -
PagedPool 和 NoPagedPool的区别
摘自胡文亮Win64驱动编程基础PoolType 在 MSDN 的介绍上有 N 种, 其实常用的只有 2 种:PagedPool 和 NonPagedPool。 PagedPool 是分页内存,简单来说就是物理内存不够时,会把这片内存移动到硬盘上,而NonPagedPool 是无论物理内存如何紧缺,都绝对不把这片内存的内容移动到硬盘上。 在往下讲转载 2016-01-20 16:46:30 · 10348 阅读 · 0 评论 -
过游戏保护驱动
整理自CrazyWolf的博客学习下过游戏驱动保护的方法。篇一:////////////////////////////////////////////////////////////////////////////define#define SsdtTbaleSize 0x11C //////////////////////////////////////////////////转载 2015-11-20 18:08:18 · 4952 阅读 · 0 评论 -
驱动调试中怎么样让windbg停在DriverEntry
原文:http://blog.youkuaiyun.com/xum2008/article/details/7209785一般说来,调速驱动程序分为两种:1.存在PDB文件的调试:这里的PDB文件其实就是调试符号文件,假如我们调试的这样的文件,我们可以再windbg中使用 :bp 驱动名!DriverEntry,这个时候当加载驱动的时候,程序就会断在入口了。转载 2015-11-06 17:06:23 · 1109 阅读 · 0 评论 -
驱动获取自身路径示例代码
...OBJECT_ATTRIBUTES objectAttributes; UNICODE_STRING RegUnicodeKeyName; HANDLE hRegister; CHAR KeyFullInfo[MAX_PATH]; ULONG ulSize; ANSI_STRING AnsiDriverPath; UNICODE_STRING Uni原创 2014-09-11 14:46:17 · 1779 阅读 · 0 评论 -
驱动篇之注册表操作
在用户态下面,有大把的API可供我们操作注册表,例如RegOpenKey,RegCloseKey等,这些API都是由windows提供给用户态使用的API。 那么对于驱动层了,因为驱动编程,并没有哪个能够提供额外的库可供我们调用,肯定是不能调用如RegOpenKey等这些API函数,那难道内核态就不能操作注册表嘛?答案显示是不成立的。那我们回头想想API的调用方式,任何注册表的转载 2014-09-10 18:26:12 · 1104 阅读 · 0 评论 -
ntstatus 状态值查看
/* * Win32 definitions for Windows NT * * Copyright 1996 Alexandre Julliard * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser转载 2014-08-22 11:35:36 · 6380 阅读 · 0 评论 -
驱动开发之符号链接和设备名称
windows下的设备是以"\Device\[设备名]”形式命名的。例如磁盘分区的c盘,d盘的设备名称就是"\Device\HarddiskVolume1”,"\Device\HarddiskVolume2”, 当然也可以不指定设备名称。如果IoCreateDevice中没有指定设备名称,那么I/O管理器会自动分配一个数字作为设备的名称。例如"\Device\00000001"。\Device\[转载 2013-12-18 12:37:12 · 1714 阅读 · 0 评论 -
第二讲:我的第一个驱动
原文:http://blog.youkuaiyun.com/caperingrabbit/article/details/5285288配置好了开发环境之后,下面就要通过具体的程序来了解驱动的开发了。下面我们以一个WDM驱动的框架来实现Windows驱动程序的HelloWorld。作为一个驱动程序,首先应该写的是它的入口函数,这点跟MFC的WinMain或者C++中的Main函数一样,驱动转载 2016-02-19 13:49:26 · 1256 阅读 · 0 评论