![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动开发
Answer-3
学如春起之苗,不见其增,日有所长!
展开
-
驳斥《沙盒用于数据防泄密是重大技术原理性失误》
http://blog.ifeng.com/article/30786929.html最近网上出现了一篇名为《沙盒用于数据防泄密是重大技术原理性失误》的文章,经作者鉴定,是某不良公司攻击技术领先的竞争对手苏州深信达公司的软文。该公司为何主动公开攻击竞争对手,可能和最近出现的该公司的客户大规模用沙盒加密替换其产品的浪潮有关。个人认为,不论什么原因,都不能成为使用这种伎俩的理由,有这个精力转载 2017-06-25 15:55:28 · 1091 阅读 · 0 评论 -
Dump文件
1. Dump文件1. Dump文件介绍Dump文件(Dump File),也叫转储文件,以.DMP为文件后缀。dump文件是进程在内存中的镜像文件,通过转换然后存储成以.DMP后缀的文件。dump文件根据存储时的选项不同,会生成不同大小的文件,其中记录信息也自然有所不同。2. Dump文件分类程序分两种,内核模式程序和用户模式程序,也即Ring0程序和Ring3程转载 2017-08-30 15:41:41 · 6885 阅读 · 0 评论 -
APC异步过程调用
转自:http://blog.sina.com.cn/s/blog_c2ef450f010192hx.htmlAPC 异步过程调用 记得第一次看见这个名词的时候,觉得云里雾罩,然而上网看了下它的介绍,感觉说的都是没头没脑的然而今天,我再次接触了它,我将自己对其的理解写下,若有不对,欢迎指正(参照《windows核心编程 》第五版) 狼影转载 2017-08-22 11:04:51 · 479 阅读 · 0 评论 -
线程可警告状态以及APC队列
转自:http://blog.csdn.net/qq_22423659/article/details/53425828一、线程可警告状态的真实含义1、通过另一些方法让线程"暂停"(非SuspendThread方法,比如SleepEx,wait函数族等),并可以进入一种称之为Alterable的状态(可警告状态)2、这种状态本质上其实是高速系统调度程序:当前现成的函转载 2017-08-22 10:56:35 · 769 阅读 · 0 评论 -
#pragma code_seg("INIT")/code_seg("PAGE")
转自:http://blog.chinaunix.net/uid-24504987-id-161192.htmlWindows规定有些虚拟内存可以交换到文件中,这类内存被称为分页内存有些虚拟内存 永远不会交换到文件中,这些内存叫非分页内存#define PAGEDCODE code_seg(“PAGE”);//分页内存#define LOCKEDCODE cod转载 2017-08-22 10:29:12 · 2734 阅读 · 0 评论 -
IRQL
最近开始入门windows 驱动开发,遇到一个IRQL。不知道何解,于是找了些资料,顺带记录下。下面的东西可能有不准确,如发现错误之处请指正,以免误导他人(罪过),谢谢!。1.什么是中断级(IRQL)中断是一个大家都很熟悉的概念,这里只通俗的解释一下。假如我正在课堂看小说,这时老师过来了,于是我以大家都有的速度迅速将将小说切换为课本。这个过程中,“老师过来”中断了“看小说”转而为“转载 2017-08-21 15:58:34 · 847 阅读 · 0 评论 -
IRP和IO_STACK_LOCATION
当一个应用程序调用函数去操作某个设备时,比如调用createFile,deviceIOControl,等等时,I/O管理器为此函数创建一个IRP数据结构对象和一个IRP_STACK_LOCATION数据结构对象数组。(数组个数等于驱动程序堆栈上驱动的个数)。IRP对象中的数据成员是已经被填充好了的,其中有一个CurrentLocation是当前IRP_STACK_LOCATION堆栈单元的转载 2017-08-17 16:15:12 · 313 阅读 · 0 评论 -
Win10下VS2015(WDK10)驱动开发环境配置
1、 概述微软在”WDK7600“以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio,然后再从微软官网下载集成的WDK开发包、或者离线安装包,但是安装后Visual Studio就集驱动程序开发,编译,安装,部署和调试于一身,使得Windows驱动程序开发会变得更容易。对于Windows 10和Visual Studio2015驱动开转载 2017-07-10 14:42:37 · 6926 阅读 · 1 评论 -
Windows驱动开发如何入门
http://blog.csdn.net/charlessimonyi/article/details/50904854转载 2017-07-10 11:33:21 · 247 阅读 · 0 评论 -
设备对象
设备对象的结构体中有3个域(1)DriverObject。这个比较好理解。就是这个设备对象所属的驱动对象。毕竟设备对象是由驱动对象创建的。(2)NextDevice。指向下一个设备对象。这里的指向:指的是由同一个驱动对象的创建的设备对象。他们之间由NextDevice形成链表。我们可以枚举这些设备。红色的“链表”很重要!!(3)AttachedDevice。转载 2017-07-21 15:58:58 · 344 阅读 · 0 评论 -
Windows驱动程序的加载
NT式驱动程序的加载1. 用DriverMonitor工具加载NT式驱动2. 在注册表中填写相应的字段,Windows对NT式驱动程序的加载,是基于服务的方式加载的,类似于Windows服务程序的加载。设备驱动程序的动态加载主要是基于服务控制程序(Service Control Manager,SCM)系统组件完成的。SCM组件为Windows中运行的组件提供许多服务,例如,启动,停止原创 2017-07-21 15:12:49 · 7098 阅读 · 0 评论 -
Windows驱动程序运行时函数的调用
编译器厂商一般在发布其编译器的时候,会连同运行时函数一同发布。Windows驱动程序不能再代码中使用编译器提供的运行时函数,因为大部分运行时函数是基于Win32 API实现的,由于Win 32 API运行在用户模式(RIng3层),驱动程序运行在内核模式(RIng0层),运行在内核模式下的程序不能调用用户模式下提供的API函数的。当然一些少部分的运行时函数并没有调用Win32 API,我们依然可以原创 2017-07-21 12:15:22 · 2655 阅读 · 0 评论 -
NT驱动程序和WDM驱动程序的区别
1.Windows驱动程序分为两类,一类是不支持即插即用功能的NT式的驱动程序;另一类是支持即插即用功能的WDM式的驱动程序。2.NT式的驱动程序要导入的头文件时NTDDK.H,而WDM式的驱动要导入的头文件为WDM.H.3.DriverEntry需要放在INIT标志的内存中。INIT标志指明该函数只是在加载的时候需要载入内存,而当驱动程序加载成功后,该函数可以从内原创 2017-07-21 13:59:27 · 3403 阅读 · 0 评论 -
Windows驱动程序调用约定
调用约定是指在函数进行调用的时候,会根据不同的调用规则,翻译成不同的汇编代码。不同的调用约定,会有不同的参数的入参顺序,和调用堆栈的处理方式。比较常用的分为C语言调用约定_cdecl,和标准调用约定_stdcall.Windows驱动程序的调用约定为标准调用_stdcall,尤其是驱动程序的入口点函数DrivereEntry,系统会寻找DriverEntry@8作为驱动程序的入口地址原创 2017-07-21 12:02:51 · 531 阅读 · 0 评论 -
Windows驱动程序开发语言
Windows驱动程序和Win32应用程序一样,都是PE格式,所以说,只要某种语言的编译器能够编译出PE格式的二进制格式文件,并且能够设置驱动程序的入口地址,那么这种语言就可以用来开发Windows驱动程序,所以可以选择C,C++,甚至是Delphi开发。但是由于微软提供的DDK开发环境中的头文件和链接库都是只支持C,C++。因此,大部分时候Windows驱动程序都是用C/C++进行开发的原创 2017-07-21 11:43:23 · 2463 阅读 · 0 评论 -
windows驱动开发学习
序言] 很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从事驱动开发时间不长也不短,大概也就3~4年时间.大多数人都认为会驱动开发的都是牛人,高手之类的.其实高手,牛人不是这样定义的.我们在学习驱动开发之前,一定要明白一个道理:术业有专攻,不要盲目跟风. [贡献转载 2017-06-25 15:56:38 · 561 阅读 · 0 评论 -
windows稀疏文件
稀疏文件(Sparse File), 指的是文件中出现大量的0数据,这些数据对我们用处不大,但是却一样的占用我们的空间,针对此,WINNT 3.51中的NTFS文件系统对此进行了优化,那些无用的0字节被用一定的算法压缩起来,使得这些0字节不再占用那么多的空间,在你声明一个很大的稀疏文件时(例如 100GB),这个文件实际上并不需要占用这么大的空间,因为里面大都是无用的0数据,那么,NTFS对稀转载 2017-10-17 17:06:02 · 2127 阅读 · 0 评论