10 CaperingRabbit

尚未进行身份认证

Windows下信息安全软件研发|项目管理

等级
TA的排名 9w+

未公开文档函数的调用

<br /><br />在编写驱动程序的过程中,会经常遇到要调用一些没有在文档中公开的函数,这个该如何处理呢?<br />其实在内核中调用不像ring3层那样麻烦,只需要重新声明一下,下面就以ZwQuerySystemInformation为例示范一下:<br />NTKERNELAPI<br />NTSTATUSZwQuerySystemInformation(<br />       IN  ULONG SystemInformationClass,<br />       IN  OUT

2010-12-30 13:49:00

SSDT Hook之修改内存保护

<br />Windows系统对部分内存写了保护,防止内存也被修改,比如xp和2003,它们使得SSDT变成只读的表,以此来防止任何应用程序来修改这个表。<br /> <br />有两种方法可以绕过写保护,一种是修改控制寄存器的CR0中的写保护位来绕过,另一种是利用MDL(MemoryDescriptor List)来绕过写保护。<br />第一种方法比较简单,也就是把CR0重的WP(写保护)位设置为0,就可以禁止内存保护了。//取消内存保护_asm{ Push eax Mov

2010-12-27 15:35:00

第三讲:Windows驱动的结构

最近有点忙,一直没有时间来总结一下,好不容易逮着个有时间的星期天,静下心来,好好总结一下,完成未完成的系列教程,好了,废话少说,开题了。现在进行Windows驱动开发,主要有两种框架,一种是NT框架的驱动,一种是WDM框架的驱动程序,微软后来为了区分WDM驱动的,又推出了KMDF和UMDF两种框架,KMDF是针对内核态的驱动程序开发的框架,而UMDF是用户态的驱动程序的开发框架,这两个框架对底

2010-03-13 12:16:00

Windows API编程

 读书笔记-Windows API编程基于动态链接库输出函数的API接口比较复杂,获得必需靠文档,并且容易出现“动态链接库地狱”基于COM的API接口相对高级了许多。win32 API的类型;基础服务类公共控件类图形设备接口用户界面网络服务Windows shell 函数这六类接口中,基础服务类最为重要,通过它能够对Windows的内存、文件、设备等

2010-02-21 17:19:00

第二讲:我的第一个驱动

 配置好了开发环境之后,下面就要通过具体的程序来了解驱动的开发了。下面我们以一个WDM驱动的框架来实现Windows驱动程序的HelloWorld。作为一个驱动程序,首先应该写的是它的入口函数,这点跟MFC的WinMain或者C++中的Main函数一样,驱动的入口函数使用DriverEntry。在入口函数中主要实现的功能是一些分发例程的注册以及其他的需要初始化的事务。DriverEntry

2010-02-03 15:48:00

Windows驱动开发入门系列教程

 从事驱动开发也有一段时间了,从最初的无头苍蝇到懵懵懂懂,到入门,直至今天,感觉一路走来,走了不少的弯路,只因为没有人引导。前几天,一个朋友问到我怎么学习Windows驱动开发,我就想到把我学习Windows驱动开发的过程分享一下,也算我的一点总结。我总结了一下,大概分为这么几部分内容:第一讲:开发环境与工具篇主要讲述驱动开发的工具、调试的工具,开发环境的配置等知识,通过本篇的学习,您

2010-02-02 11:43:00

面向对象,还是面向对象

前一阵子闲暇,看了几本面向对象的书,在工作的时候也尝试了一下面向对象的分析与设计,理论和时间一结合,感觉受益匪浅,也想写点东西,后来,项目一忙,就把这事给忘记了。最近为了写一个界面友好一点的驱动测试程序,我又拾起了MFC。说实在,以前我就感觉MFC就是一些控件,所以以前也没认真看看,只是了解一点皮毛。以前主要写一点控制台应用程序,后来就转入驱动程序的开发了,不过这几天尝试了一下MFC,发现并不

2010-01-20 11:38:00

DDK翻译:IOCTL指令简介

IO控制指令(IOCTLs)主要用于用户态应用程序和驱动之间的沟通或者设备栈内驱动之间的沟通,这种指令通过IRP来进行传送。  用户态应用程序通过调用DeviceIoControl来向驱动程序发送IOCTLs,有关DeviceIoControl的详细内容,微软的Windows SDK文档中有详细的介绍。对DeviceIoControl的调用会促使I/O管理器产生一个IRP_MJ_DEVIC

2010-01-05 10:57:00

Windows驱动开发:用C还是C++

 在做windows驱动程序开发之前,首先要确定开发的语言。在常见的编程语言中,我们可以选择C、C++、汇编语言甚至Delphi。不过由于微软提供的DDK开发环境所提供的文件和链接用的库只支持C和C++语言。所以一般都采用C或者C++。使用C语言,是比较容易上手,因为很多人都是从学习C语言而学习程序开发的,而在驱动开发的时候,用C语言写相对比较简单,不需要考虑太多的限制。用C++的话,

2009-12-30 08:30:00

Windows驱动开发入门

 因为公司有一个项目需要用到驱动的开发技术,因此自己也开始自己学习驱动的开发了。接触Windows驱动的开发也有几个月了,在这个过程中,虽然有工作的事情要忙,学的不是很专心,也看了不少书,自己也动手写了一点代码。可是过了几个月之后,我突然迷茫了,怎么感觉学的这么乱呢,我学了点什么东西啊,自己也回答不上来。我也想找高人指点一下,然而并未有人回应,于是我就自己思考。这两天,我没怎么看新的东西,

2009-12-14 08:22:00
勋章 我的勋章
    暂无奖章