自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iT2afL0rd's Blog

Energy and persistence conquer all things

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 博客搬家

新博客 iT2afL0rd's Blog

2014-11-01 17:11:14 737

转载 高效时间管理-介绍GTD

http://cdc.tencent.com/?p=790高效时间管理-介绍GTD  人说在IT公司没有不忙的。你会发现每天RTX要闪烁几十个对话框是再正常不过的事情。可能你正好在写一个ppt,同时领导安排今天必须出一封邮件,刚在酝酿的时候突然还会有人电话催你开会,离开时刚好还有个朋友在QQ上请求帮忙找回密码,每天周而复始,逢人遍说忙似乎成了流行的口头禅。你会发现,时间

2014-09-14 22:27:28 689

原创 驱动程序内存分配

一、 何谓可分页和非分页内存       默认情况下,内核加载器会加载所有的代码部分和全局数据到非分页内存中。而且,加载器是一次加载整个驱动的可执行文件,包括相关的DLL。加载后,内核加载器关闭驱动程序文件,甚至你可以删除当前正在执行的驱动文件。但是,你可以告诉加载器你希望驱动的哪部分是可分页,所谓可分页,就是可能会被换页出内存(Page out)。可以

2009-10-26 18:58:00 1296

原创 RtlFreeUnicodeString误用引起驱动程序错误

这几天一直在调一个驱动程序,今天终于调出来了,发现原来是RtlFreeUnicodeString函数引起的。先写一段小程序来做一个测试:#include VOID OnUnload(IN PDRIVER_OBJECT pDriverObj){ KdPrint(("Enter OnUnload!/n")); KdPrint(("Unload Successfully!/n"));

2009-10-20 23:11:00 2903 2

原创 [转载]Windows系统错误代码大全

0 0x00000000 作业完成。 1 0x00000001 不正确的函数。 2 0x00000002 系统找不到指定的档案。 3 0x00000003 系统找不到指定的路径。 4 0x00000004 系统无法开启档案。 5 0x00000005 拒绝存取。 6 0x00000006 无效的代码。 7 0x00000007 储存体控制区块已毁。 8 0x0000

2009-10-20 14:54:00 2283

转载 [转载]给即将工作的人九条建议

主动是一种特别的行动气质,也就是说自己知道做有价值的事,不用别人去催。职场 上的主动者,往往得以进入各行各业的高收入者阶层。主动和被动虽然只有一字之差,但是它们对工作 的意义却是完全不同的。许多人每天都在迟迟不愿将自己的构想付诸于行动,也因此荒废了许多的宝贵时间,以下总结出9招,相信按我们说的做,你也会成为职场上幸福的主动者。1. 按部就班地行动事业成功 的人往往耐得住寂寞 ,在那些看似程

2009-10-10 10:10:00 900

原创 坚持不懈

如果觉得做不下去了,就硬着头皮坚持做,然后就类似于麻木了,适应了,那种望而却步的感觉会逐渐自动退去。惊人的简单,但事实就是如此,硬着头皮,过了那个情绪上最艰难的时候,也就适应了。                                                                                                           

2009-09-02 14:03:00 694

原创 WinDBG循环执行命令

WinDBG中循环命令有两种:1. z命令      可以使用z命令来循环执行一个或者多个命令。z命令的格式是:z(),括号中为条件表达式,当该表达式值为0时,就停止执行命令。z命令循环执行它前面的命令,然后测试自己的条件。循环结束之后再去执行后面的命令。当只有一条z命令的时候,它只是测试自己的条件,但是没有其他任何有意义的操作,进入了死循环。      下面给出一个简单的例子:|

2009-08-19 13:09:00 2305

转载 利用VMKD加速WinDBG虚拟机联调

VMKD  is a program that provides high speed kernel debugging supportfor VMware virtual machines. VMKD allows you to debug a VMware VM in ahigh speed fashion, instead of using the much slower and

2009-08-18 14:12:00 12248

原创 WinDBG常用断点命令

WinDBG提供了多种设断点的命令: bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。 对于后者,WinDBG 会自动找到MyApp!SomeFunction 对应的地址并设置断点。 但是使用bp的问题在于:1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效; 2)WinDBG

2009-08-18 10:39:00 8827

转载 [转载]键盘驱动原理

0 概述    我们将讨论 ps/2 键盘的驱动。主要讨论的内容有,ps/2 键盘的硬件,使用键盘驱动的应用层,键盘驱动的初始化,键盘驱动如何完成自己的工作,以及一些涉及到的相关内容。需要注意的是,以后我们提到的键盘,如果没有特殊说明,都是指 ps/2  键盘。1 ps/2 键盘的硬件    要以写一个硬件的驱动为目的的话,需要对这个硬件有一定的了解,但并不需要太深入,

2009-08-03 19:29:00 4702

原创 Windows内核学习笔记(六)-- [总结]创建IRP的四种不同方式

在驱动程序中,经常会调用其他的驱动程序;其中,手动构造IRP,然后将IRP传递到相应驱动程序的派遣函数中是一种比较简单的方法,下面就来介绍下手动创建IRP的几种不同的方法及其特点。         创建IRP总共有4种方法。分别通过调用:IoBuildSynchronousFsdRequest、IoBuildAsynchronou

2009-07-26 15:31:00 3716

转载 [转载]Windows内核技术的精华站点

[url]http://www.osronline.com[/url],技术含量很高的Windows驱动开发站点,该站点的list基本上覆盖了所有Windows驱动开发的常见问题,强烈推荐; [url]http://www.microsoft.com/whdc[/url],微软的驱动开发资源主页,可以获取很多官方资料; [url]http://www.wd-3.com/[/url],该站点

2009-07-25 20:26:00 1551

原创 Windows内核学习笔记(五)-- 详解CTL_CODE宏

我们在说DeviceIoControl函数时其第二个参数dwIoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。 CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),Access(访问限制,14-15位),Function

2009-07-25 09:26:00 7829

原创 Windows内核学习笔记(四)-- 编写程序手动加载驱动程序

#include #include #include #include #define DRIVER_NAME "HelloDriver"#define DRIVER_PATH "..//MyDriver//HelloDriver.sys"//装载NT驱动程序BOOL LoadNTDriver(char* lpszDriverName,char* lpszD

2009-07-23 09:58:00 4778 1

原创 Windows内核学习笔记(二)-- IoCallDriver函数与PoCallDriver函数

      今天看书的时候看到了这两个函数,开始还没在意,以为是同一个,功能应该一样。后来想想一样的干嘛还弄两个呢,于是就查了一下,发现这两个函数差别还蛮大的。首先来看这两个函数的原型:NTSTATUS IoCallDriver( IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp );NTSTATU

2009-07-19 19:23:00 8282 1

原创 Windows内核学习笔记(一)--浅谈驱动对象、设备对象与请求

      最近在学习Windows内核编程,同时也接触到了一些驱动的概念,其中有一些概念让人比较容易混淆,所以就写了这篇文章发表一下自己的看法:      首先,谈谈驱动对象(DRIVER_OBJECT),可以说驱动对象代表的是一个驱动程序(或者叫内核模块)。在写内核程序时,必须要填写这样一种结构,来告诉Windows程序提供的功能。内核程序并不生成进程,它们有系统的System进程加载,可

2009-07-18 14:49:00 3786 1

转载 [转载]城里城外看SSDT

看了这篇文章,觉得写得很好,很实用,怕以后想找的时候找不到了,所以转过来。感谢文章作者马锐老师。原文链接:http://www.titilima.cn/show-201-1.html引子2006年,中国互联网上的斗争硝烟弥漫。这时的战场上,先前颇为流行的窗口挂钩、API挂钩、进程注入等技术已然成为昨日黄花,大有逐渐淡出之势;取而代之的,则是更狠毒、更为赤裸裸的词汇:驱动

2009-07-18 10:30:00 1474 1

原创 [转载]Typedef 用法详解

Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。 typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef来编写更美观和可读的代码。所谓美观,意指 typedef能隐藏笨拙的语法构造以及

2009-07-10 14:45:00 1177

转载 [转载]程序员的credit

document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text");

2009-06-25 22:56:00 1158

转载 [转载]STL算法:prev_permutation和next_permutation的使用

在标准库算法中,next_permutation应用在数列操作上比较广泛.这个函数可以计算一组数据的全排列.但是怎么用,原理如何,我做了简单的剖析.首先查看stl中相关信息.函数原型:template bool next_permutation( BidirectionalIterator _First, BidirectionalIterator

2009-06-19 23:35:00 3823 1

转载 [转载]GNU Emacs 常用快捷键

基本命令C-x C-c : 退出EmacsC-x C-f : 打开一个文件,如果文件不存在,则创建一个文件C-g : 取消未完成的命令编辑C-z (redefined): Undo;原来C-z是挂起Emacs(然后用fg命令调出);C-x u 是默认的命令; 移动一下光标,再C-z就可以redoM-d : 删除光标后的词语

2009-06-17 23:00:00 921 1

转载 [转载]虚继承与虚基类的本质

      虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断一个继承是否是虚继承的,虽然这两个概念的定义是非常的简单明确的,但是在C++语言中虚继承作为一个比较生僻的但是又是绝对必要的组成部份而存在着,并且其行为和模型均表现出和一般的继承体系之间的巨大的差异(包括访问性能上的差异),现在我们就来彻底的从语言、模型、性能和应用等多个方面对虚继承和虚基类进行研究。      首先还是先给出

2009-06-14 18:09:00 1315 1

原创 关于类对象大小的 sizeof 计算问题(续)

上一篇文章关于这个计算说到了虚继承,后来想象,C++里面还有一个重要的多重继承还没有提到,下面就接着上一篇来说说多重继承,先看一个例子:#include using namespace std; class A{ private: int m_aa;public: A() { cout << "A::A()" << endl; } ~A(

2009-06-13 10:16:00 1319

原创 关于类对象大小的 sizeof 计算问题

之前看了很多关于类对象大小问题的计算,今天闲着没事就来整理整理,写写自己的看法。首先,来看看一个只有构造函数和析构函数的空类:#include using namespace std;class Base{public: Base(); ~Base();};int main(int argc, char *argv[]){ cout << siz

2009-06-12 17:34:00 6881 6

转载 [转载] 给 C++ 程序员的50个忠告

1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要

2009-06-11 22:52:00 867

原创 C++ 中 new 的3种不同的方法

        C++中的 new 有3中使用方式,它们是: plain new 、 nothrow new 和 placement new 。这3种形式极大地扩展了内存分配的灵活性。        1. plain new        从字面上看,这就是普通的 new ,也是我们平时使用的 new ,这里就不多说。        2. nothrow new        no

2009-06-08 22:02:00 1478 1

WinDBG详细基础教程

详细介绍了WinDBG的使用,配置,基础教程 内核调试 联机调试

2009-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除