摘要: 遍历系统中加载的驱动可以在R3层完成,通过几个未导出的函数:ZwOpenDirectoryObject、ZwQueryDirectoryObject,下面是具体的代码。//在这定义些基本的数据结构,这些本身是在R0层用的比较多的typedef struct _UNICODE_STRI... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(1938) 评论(0) 推荐(0)
摘要: 在很早之前我根据找到的一些资料以及自己的实践总结了一篇如何将VS2015上的代码上传到GitHub上,后来我发现有小伙伴私信我,说跟我上面写的不一样,但是那段时间也比较忙,当我发现有人私信的时候差不过过了一个多月了,也就没有回复,最近重新装了系统,在重新下载相关插件时速度太慢了,实在... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(1131) 评论(0) 推荐(0)
摘要: 这篇文章会持续更新,由于在驱动中,有许多常用的操作代码几乎不变,而我自己有时候长时间不用经常忘记,所以希望在这把一些常用的操作记录下来,当自己遗忘的时候,有个参考创建设备对象创建设备对象使用函数IoCreateDevice,它的参数如下:NTSTATUS IoCreateDevi... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(418) 评论(0) 推荐(0)
摘要: 使用IO定时器IO定时器每隔1s就会触发一次,从而进入到定时器例程中,如果某个操作是每n秒执行一次(n为正整数)可以考虑在定时器例程中记录一个计数器大小就为n,每次进入定时器例程中时将计数器减一,当计数器为0时,表示到达n秒,这个时候可以执行操作。IO定时器只适合处理整数秒的情况 在... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(450) 评论(0) 推荐(0)
摘要: 驱动程序的主要功能是用来处理IO请求,而大部分的IO请求是在派遣函数中完成的,用户模式下所有的IO请求都会被IO管理器封装为一个IRP结构,类似于Windows窗口程序中的消息,不同的IRP被发送到不同的派遣函数中处理IRP与派遣函数IRPIRP(I/O Request Packag... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(812) 评论(0) 推荐(0)
摘要: 应用层对设备的同步与异步操作以WriteFile为例,一般的同步操作是调用WriteFile完成后,并不会返回,应用程序会在此处暂停,一直等到函数将数据写入文件中并正常返回,而异步操作则是调用WriteFile后会马上返回,但是操作系统有另一线程在继续执行写的操作,这段时间并不影响应... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(609) 评论(0) 推荐(0)
摘要: 在C语言中,if和switch是条件分支的重要组成部分。if的功能是计算判断条件的值,根据返回的值的不同来决定跳转到哪个部分。值为真则跳转到if语句块中,否则跳过if语句块。下面来分析一个简单的if实例:if(argc > 0){ printf("argc > 0\n");}if (argc ... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(636) 评论(0) 推荐(0)
摘要: 常量是在程序中不能更改的量,在C/C++中有两种方式定义常量,一种是利用define宏定义的方式,一种是C++中新提出来的const型常变量,下面主要讨论它们之间的相关问题;define定义的常量: define是预处理指令的一种,它用来定义宏,宏只是一个简单的替换,将宏变量所对应的值替换,如下面... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(1901) 评论(0) 推荐(0)
摘要: 计算机本身是不认识程序中给的变量名,不管我们以何种方式给变量命名,最终都会转化为相应的地址,编译器会生成一些符号常量并且与对应的地址相关联,以达到访问变量的目的。 变量是在内存中用来存储数据以供程序使用,变量主要有两个部分构成:变量名、变量类型,其中变量名对应了一块具体的内存地址,而变量类型则表明... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(862) 评论(0) 推荐(0)
摘要: windows堆管理是建立在虚拟内存管理的基础之上的,每个进程都有独立的4GB的虚拟地址空间,其中有2GB的属于用户区,保存的是用户程序的数据和代码,而系统在装载程序时会将这部分内存划分为4个段从低地址到高地址依次为静态存储区,代码段,堆段和栈段,其中堆的生长方向是从低地址到高地址,... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(704) 评论(0) 推荐(0)