摘要: WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。1. WinDbg介绍: Debugging Tools and Symbols: Getting Startedhttp://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx A word for WinDbghttp://mtaulty.com/communityserver/blogs/mike_taultys_blog/archive/2004/08/03/4656.as. 阅读全文
posted @ 2011-07-11 16:14 飞翔荷兰人 阅读(360) 评论(0) 推荐(0) 编辑
摘要: Windows内核(一).sys放在Drivers目录下。运行在R0层。在WDK的相应环境中,进行相应代码目录,build.一个内核程序被看作一个PE格式的DLL,它是被Windows整个内核调用的一个DLL,一旦加裁,就成为内核的组成部分。所有的内核内存空间是共享的。内核程序崩溃,Windows系统也就崩溃了。DriverEntry是一个内核程序的入口,以system进程名出现。编写内核的规则:不能调用Windows应用层API函数,而应用内核API。关于字符串,内存处理,打印等,参见前面Rtl函数浮点数要特殊处理在Windows中,不同类型设备的驱动有不同的安装方式,ini文件。非“任何类 阅读全文
posted @ 2011-07-11 15:33 飞翔荷兰人 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 了解机器码X86所有指令的机器码长度不定,且连续排列,因此读取机器码的唯一方法是从头开始逐条解析指令。nop指令是单字节,可以用作填充替换长指令后的多余区域。XDE32反汇编引擎。关于进一步机器码的构成分析,可以看[6]。CPU权限级与分页机制Intel的x86通过ring级别进行访问控制,共分四级。R0最高,R3最低。现在的操作系统只分两级R0和R3.R0代表内核态,R3代表用户态。运行模式:实模式:CPU启动后处于实模式。只能访问1MB内存,单任务,所有任务都运行在R0层。如DOS。保护模式:支持分段、分页,可运行多任务。如Linux,Window.系统管理模式(SMM)虚拟8086模式: 阅读全文
posted @ 2011-07-11 15:33 飞翔荷兰人 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 内核线程在驱动中生成的线程一般是系统线程。系统线程所在的进程名为“System”。NTSTATUSPsCreateSystemThread( OUT PHANDLE ThreadHandle, //用来返回句柄,放入一个句柄指针即可 IN ULONG DesiredAccess, //一般总是填写0 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, //NULL IN HANDLE ProcessHandle OPTIONAL, //NULL OUT PCLIENT_ID ClientId OPTIONAL, //NULL IN PKSTART_ 阅读全文
posted @ 2011-07-11 15:32 飞翔荷兰人 阅读(861) 评论(0) 推荐(0) 编辑

I Love Lina~