- 博客(120)
- 资源 (16)
- 收藏
- 关注
原创 过滤驱动容易让新手纠结的几个函数
1. IoAttachDeviceNTSTATUS IoAttachDevice( IN PDEVICE_OBJECT SourceDevice, IN PUNICODE_STRING TargetDevice, OUT PDEVICE_OBJECT *AttachedDevice);将【指定指针】的设备对象附加到【指定名称】的设备对象所在的【设备对象栈】
2011-07-18 18:40:28 2936
原创 StrCmpLogicalW字符串逻辑比较函数
今天在CSDN上看到有人讨论关于Windows资源管理器的排序方式规则,Windows是有这个API函数来解决这个事情的:StrCmpLogicalW。/*Compares two Unicode strings. Digits in the strings are consid
2011-07-12 09:27:16 5566 2
转载 如何使用内存池监视器 (Poolmon.exe) 来解决内核模式内存泄漏
工具poolmon.exe说明(XP下可以用memsnap工具)1. 使能Tag模式在使用poolmon之前,你必须使能Tag模式并重新启动服务器。池Tag的特性是将收集和计算的信息通过分配内存的Tag值进行排序。注:使用Windows 2003服务器不需要使
2011-07-05 08:11:18 5839
原创 加载顺序
前一段时间,在XueTr上发现个有趣的东西【驱动模块-加载顺序】,很好奇这个顺序是怎么来的,调查了一下。在系统初始化的时候,决定驱动程序在什么时候被载入的信息保存在注册表中。 1. 首先,按【批次】第一批,第二批,第三批顺序载入. 【批次】,是由【HKLM/SYSTEM/CurrentControlSet /Services/驱动名/Start】决定的。 2. 其次,同一批次的
2011-06-29 08:45:00 992
原创 64bit and 32bit和X64 and X86 的问题
1、64位处理器 与 32位处理器 64位处理器是指可以对虚拟地址空间(virtual address space)进行64位寻址的处理器。64位处理器可以以64位格式存贮数据,并可以对64位操作数执行数学运算操作。另外,处理器的通用寄存器(GPRs)和运算器(ALUs)也是64位的。目前市场上Intel兼容处理器可以实现64位计算的主要有3种:1) Intel IA64,基于安腾2处理器
2009-11-13 10:30:00 3199 1
转载 ANSI 多字节 Unicode 学习笔记
Unicode :宽字节字符集 1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。 调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。 2. 如何对DBCS(双字节字符集)字符串进行操作? 函数 描
2009-11-12 09:03:00 1517
原创 驱动开发学习笔记1
1.驱动程序在某些特定时候可以理解为内核模块,即运行在Ring0级的一段代码。2.内核模块位于内核空间,而内核空间又被所有的进程共享。因此,内核模块实际上可以位于任何一个可能的进程空间中的。这些进程取决于请求的来源、处理的进程。3.系统进程不代表内核空间的进程,而是特指进程“System”,它的PID始终为4,在内核代码中调用PsGetCurrentProcessId就可以
2009-07-30 15:46:00 893
转载 Linux的分段和分页机制
Linux的分段和分页机制 1.分段机制 80386的两种工作模式 80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。 分段机制 在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。 从逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄存器作为段选择器,用来
2009-07-27 08:53:00 777
转载 【翻译】“PE文件格式”1.9版 完整译文(附注释)
1 【翻译】“PE文件格式”1.9版 完整译文(附注释) --------------------------------------------------------------------------------标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释)作 者: ah007时 间: 2006-02-28,13:32链 接: http://bbs.p
2009-07-23 17:18:00 1619
原创 驱动程序的分类
自学驱动程序,很辛苦,不是看不懂,而是苦于无门可入。看了一些资料,总结了一些驱动的类型,希望对其他人有点作用,不期望起多大的作用,只要不误人子弟就行!1. 虚拟设备驱动程序VxDVxD,虚拟设备驱动程序,Win9X下的一种驱动程序类型。其中x代表虚拟设备的名字,如VKD代表虚拟键盘设备。VxD本身是运行在Ring0级的32位的可执行程序,它是Windows应用程序和实际硬件之间的接
2009-07-23 17:11:00 2138 3
原创 typedef的用法小结
typedef的作用用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR
2008-07-29 14:16:00 738
原创 算符优先分析
算符优先分析.h#include iostream>#include list> using namespace std;//创建一个list容器的实例LISTCHAR typedef listchar> LISTCHAR; //优先关系比较数组,其中和=表示优先关系,1,2....6表示6种类型的错误,而7则是规约完成的标志char Table[7][7]=...{
2008-05-16 12:57:00 1409
转载 Windows快捷方式文件格式解析
Windows快捷方式文件格式解析作者:Cuick下载源代码 大家知道通过IShellLink接口可以得到快捷方式的各种属性。具体怎么做,网上有很多文章,这里就不介绍了。现在主要是分析一下快捷方式文件的格式,并且自己写一个解析程序。为了方便大家理解,解说完每个段后附上一个快捷方式对应部分的事例数据并附内容解说。这里以Windows Media Player在桌面上的快捷方式为例。一、文件的整
2008-05-04 22:30:00 1036
转载 PE文件格式详解(下)
PE文件格式详解(下)作者:MSDN译者:李马 (http://home.nuc.edu.cn/~titilima)预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的
2008-05-04 22:23:00 851
转载 PE文件格式详解(上)
PE文件格式详解(上)作者:MSDN译者:李马 (http://home.nuc.edu.cn/~titilima) 摘要 Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications)
2008-05-04 22:21:00 728
转载 关于蚊香数组的实现
123 894 765 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 这样的数组称蚊香数组 给定参数N 求data[N][N]蚊香数组的实现 /**//*解这类题,主要就是要注意方向和步长控制 以你这道题为例谈谈做法 1 2 3 4 5 16
2008-04-30 08:49:00 2307 2
原创 简单的递归下降分析
递归下降分析程序输入输出示例:(1) E→TG (2) G→+TG|-TG|ε (3) T→FS (4) S →*FS|/FS|ε (5) F→(E)|i 输出的格式如下:(1)输出一个以#结束的符号串(包括+ - * /
2008-04-24 21:16:00 2797
转载 COM 技术介绍(全部)
一、COM介绍 1、定义 (Component Object Model) COM是微软公司的最高级的,包罗万象的二进制通讯规范(也就是说是大家都要遵守的合同)。用于软件组件间跨进程,跨机器,和操作系统进行交互操作。COM是透明位置的。它可以在EXE,DLL或者远程机器上使用。 OLE是一个主要与用户界面相关的高级功能的集合。COM和OLE的概念界限原本就不清晰,总是容
2008-04-12 10:59:00 9943 1
原创 VC++ 的MFC 和ATL 及COM 是什么?
一、什么是MFC 微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个输助软件开发包,MFC作为与VC++血肉相连的部分(注意C
2008-03-17 18:25:00 18005 10
转载 直接通过ADO操作Access数据库
直接通过ADO操作Access数据库作者/徐景周下载源代码 我在《VC知识库在线杂志》第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读、写Excel表格文件”和“直接通过DAO读、写Access文件”,先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法。ADO(Active Data Object,活动数据对象
2008-03-05 17:26:00 1081
转载 传说中的100句英语可以帮你背7000单词
1. Typical of the grassland dwellers of the continent is the American antelope, or pronghorn.1.美洲羚羊,或称叉角羚,是该大陆典型的草原动物。2. Of the millions who saw Haley’s comet in 1986, how many people will live lo
2008-02-07 07:33:00 885
转载 孙鑫VC学习笔记:ActiveX 控件
孙鑫VC学习笔记:ActiveX 控件作者:华仔 | 录入时间:2007-12-26 | 点击:313 次 打印此文章 | 字体:大 中 小基本概念:容器和服务器程序 容器应用程序时可以嵌入或链接对象的应用程序。Word 就是容器应用程序。服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel 就是服务器应用程序。ActiveX 控件不能独
2008-02-06 10:44:00 2054
转载 实现有声音的电子钟表
代码简介或代码解析: 在实时的应用程序中,有时候需要显示时间,那么在对话框中显示时钟是个好主意,可是怎么来实现呢?一般要从CStatic类派生一个类CXJWDigitClock.实现步骤:1 把EDClock.h/cpp加入到工程中,当然您也可以自己来派生2 把res目录下12个BMP资源导入到工程中,当然您也可以自己制作12个类似的BMP图象注意他们在Resource.h中的
2008-02-06 10:27:00 1792
转载 不用位图文件的电子钟表
代码简介或代码解析: 不用位图文件的电子钟表实现步骤:1 把CGCColorStatic.h/cpp和GCClock.h/cpp加入到工程中2 在StaticDigitalClock2Dlg.h中添加 #include "GCClock.h"3 添加如图所示的控件,并为第一个单选按钮IDC_RADIO_12HOURS添加一个变量int m_iFormat;4 在StaticD
2008-02-06 10:23:00 1118
转载 简单的LED时钟控件
偶然的一次机会看到了这个小小的控件,想必大家都知道该如何利用它了吧。o(∩_∩)o.../**////////////////////////////////////////////////////////////////////////////////////////////////////////#ifndef __MFC_EXT_DIGITCLOCK_H__#define __MFC
2008-02-06 09:56:00 1054
转载 消息钩子函数入门篇
Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,
2008-01-12 11:30:00 710
转载 有关注册表API函数
注册表的操作,API为我们提供了大约25个函数。他提供了对注册表的读取,写入,删除,以及打开注册表及键值时所有函数,并且可以达到对注册表的备份,连接和对远端注册表进行查看等等。注册表对整个系统十分重要,你在进行操作时,一定要先考虑清楚。这些函数有: RegCloseKey RegConnectRegistry RegCreateKey RegCreateKeyEx RegDeleteKey
2008-01-12 11:26:00 2677
转载 如何用非对称密码算法制作共享软件的注册码
网上大多数共享软件的注册码(又称为序列号)的设计都不是很好,比较容易被破解者做出注册机来。下面介绍一种利用公钥算法(又称为非对称算法)RSA制作注册码的方法。采用这种方法,不知道密钥的话时很难写出注册机来。实际上有部分软件已经使用了这类方法。大家都知道RSA采用一对密钥,即公钥和私钥,从公钥难于推出私钥,反之亦然,这个难度是基于大数分解的难度。利用RSA生成共享软件注册码的思路如下:1、先随机
2008-01-12 11:21:00 1382 3
转载 共享软件如何赚钱
经常看到很多同行们对共享软件能否赚到钱感到困惑,虽然大家都知道的周易前辈的MP3 CD Maker创下了月入四万的记录,但这对我们大多数人来说,只是一个很遥远的梦,就好象是水中的月亮,可望不可及。这个也曾经是我投入这个行业是的目标,虽然到目前我的收入才达到他的四分之一,但我已心滿意足了,回顾两年多的编程生活,总结了一些经验,希望和大家分享,最重要的一点,我将它做为这篇文章的题目吧,那就是:我一直在
2008-01-11 14:34:00 2070
转载 108条vc小技巧知识
(1) 如何通过代码获得应用程序主窗口的指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example:TCH
2008-01-02 17:35:00 2635
转载 汇编艺术
By xlfancy 多一字节也嫌多,多一时钟更嫌慢! ——引自XXX高人语录我总是想这样去做,可每每照猫画虎反类犬以下摘自 老罗的缤纷天地之《组合语言之艺术》这里下载 http://asp.7i24.com/netcool/laoluo/collections/index.htm直接下载 h
2007-12-25 22:43:00 1092
原创 Linux下的汇编程序设计
By IPOz(于2002-11-5发表) 引言: 汇编语言是低级语言,与硬件和操作系统紧密联系。个人电脑以前都是用DOS,现在发展成了WINDOWS, 而另一个操作系统Linux也正在崛起。下面比较一下这三个操作系统: DOS 较稳定,速度快 但无法充分发挥计算机性能,没有图形界面WINDOWS
2007-12-25 22:40:00 830
转载 一种另类“关于(About)”对话框的动态显示方法
一种另类“关于(About)”对话框的动态显示方法作者:戚高下载源代码介绍 一般的系统帮助文件在显示关于帮助信息的时候大部分采用的方法是静态的形式将要显示的内容显示到界面上,由于这次担任项目开发,我总觉得那样太单调了,于是,在各个网站搜索后发现了一个很好的控件类(字模显示控件类),于是我进行扩充完成了一些动态显示的功能,完成后的各种要显示的帮助信息能够象放映电影一样的进行动态显示,效果蛮好的
2007-12-23 15:24:00 994
转载 一种简单注册码加密的例子分析
一种简单注册码加密的例子分析作者:广东南海昭信公司 king_koo 前言:为了保护软件开发者的权益我们经常需要对软件进行加密限制,以防止未经许可的随意拷贝。另一方面我们也可能需要在自己的共享软件中提供注册码的功能。近期笔者因为要对一软件进行加密限制,故对简单加密的方法做了一翻"研究"(找资料).下面我把我的方法写出来,希望对初学者有一
2007-12-23 14:48:00 1247
转载 基于SHA-256的HMAC文件校验器
基于SHA-256的HMAC文件校验器作者:Gamsn下载源代码 HMAC即带密钥的HASH函数,用它产生的报文鉴别码(MAC)可以实现报文鉴别。这里我将其做成一个软件,用于对文件的合法性进行校验。以下我先简单介绍软件相关背景知识再介绍其代码实现。 一、背景知识简介 有时候进行通信的双方基于安全的考虑需要对对方发过来的消息进行校验,以确定消息是未经第三方修改过的。这种校验可以这样进行:
2007-12-23 14:42:00 2251 2
转载 linux常用命令大全--档案目录篇
linux常用命令大全--档案目录篇一.cd名称 : cd 使用权限 : 所有使用者 使用方式 : cd [dirName] 说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。 另外,"~" 也表示为 home direc
2007-12-20 15:03:00 817
转载 →『C/C++面试题大汇总』
→『C/C++面试题大汇总』 最近因为找工作,收集了很多C语言方面方面的面试题以及答案。现在新工作搞定了,决定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。 发布之
2007-12-13 23:59:00 1021
转载 嵌入式开发.C语言面试题
预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年
2007-12-13 23:56:00 791
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人