- 博客(16)
- 资源 (18)
- 收藏
- 关注
转载 KiFastCallEntry() 机制分析
概述Win32 子系统 API 调用ntdll!ZwWriteFile() 函数ntdll!KiFastSystemCall() 函数_KUSER_SHARED_DATA 结构切入 KiFastCallEntry() 函数读取 TSS 信息KTRAP_FRAME 结构系统服务例程号与 ServiceTableServiceTableServiceTable entry读取目标例
2014-02-28 15:21:18 1075
转载 error U1087: cannot have : and :: dependents for same target
DDK下build -c错误:error U1087: cannot have : and :: dependents for same target 被build的source code所在path不能含有空格.
2014-02-28 11:15:40 864
转载 使用 Lookaside List 分配内存
使用 Lookaside List 分配内存概述lookaside list 节点结构节点内存块 size初始化节点分配内存释放内存动态调整 lookaside list 节点深度1. 概述windows 提供了一种基于 lookaside list 的快速内存分配方案,区别于一般的使用 ExAllocatePoolWithTag() 系列函数的内存分配方式。每次从 loo
2014-02-28 10:31:38 5605
转载 Windows内存管理(3)--检查内存可用性,结构化异常处理 和 ASSERT
1. 检查内存可用性在驱动程序开发中,对内存的操作要格外小心。如果某段内存是只读的,而驱动程序试图去写操作,会导致系统的崩溃。DDK提供了两个函数,帮助程序员在不知道某段内存是否可读写的情况下,试探这段内存的可读写性。VOID ProbeForRead( IN CONST VOID *Address, IN SIZE_T Length,
2014-02-28 10:24:02 869
转载 Windows内存管理(2)--Lookaside结构 和 运行时函数
1. Lookaside结构频繁的申请和回收内存,会导致在内存上产生大量的内存“空洞”,从而导致最终无法申请内存。DDK为程序员提供了Lookaside结构来解决这个问题。我们可以将Lookaside对象看成是一个内存容器。在初始化的时候,它先向Windows申请了一块比较大的内存。以后程序员每次申请内存的时候,不是直接向Windows申请内存,而是想Lookaside对象申请内
2014-02-28 10:23:34 1017
转载 Windows内存管理(1)--分配内核内存 和 使用链表
1. 分配内核内存Windows驱动程序使用的内存资源非常珍贵,分配内存时要尽量节约。和应用程序一样,局部变量是存放在栈空间中的。但栈空间不会像应用程序那么大,所以驱动程序不适合递归调用或者局部变量是大型数据结构。如果需要大型数据结构,我们可以在堆中申请。堆中申请的函数有以下几个:(1)PVOID ExAllocatePool( I
2014-02-28 10:23:05 1660
原创 error C2443: operand size conflict
#include void main(){int a=98;__asm{ mov al,a and al,11011111B mov a,al}printf("%c\n",a);}编译出现下面的错误:--------------------Configuration: cc - Win32 Release------------
2014-02-27 14:57:59 2180
转载 CPUID 指令的使用
使用 CPUID 指令可以从 processor 厂商里获得关于 processor 的详细信息,CPUID 指令是从 Intel 486 处理器以后开始加入支持。1. 检测处理器是否支持 cpuid 指令现在的处理器都支持 cpuid 指令,确实没必要去检测是否支持,除非在古老的机器上运行才有必要。当然,这里只是作为一个知识点介绍,在 eflags.ID 标志位是 Processor
2014-02-27 14:49:25 17445
转载 Windows内核驱动开发入门学习资料
声明:本文所描述的所有资料和源码均搜集自互联网,版权归原始作者所有,所以在引用资料时我尽量注明原始作者和出处;本文所搜集资料也仅供同学们学习之用,由于用作其他用途引起的责任纠纷,本人不负任何责任。(本资料由代码疯子整理)一、书籍推荐《Windows驱动开发技术详解》作者:张帆、史彩成;出版社:电子工业出版社《天书夜读:从汇编语言到Windows内核编程》作者:谭文、邵坚磊;出版社:
2014-02-27 11:12:01 1147
转载 重载内核全程分析笔记
重载内核内容:1、 将内核文件加载到内存2、 进行基址重定位3、 重定位ssdt结构4、 Hook KiFastCallEntry,让RING3进程调用走新内核下面一步一步的进行分析1、 加载内核文件我们要加载哪一个文件呢?答案是:ntkrnlpa.exe,我测试的系统的XP sp3,该文件所在目录为C:\WINDOWS\system32\ntkrnlpa.e
2014-02-25 17:27:15 1632
转载 对A盾原理的小小总结,膜拜A神
A盾的原理是在驱动加载时重载os内核,获取原始ssdt表的地址。应用层点击查询的代码在文件A-ProtectView.cpp中,每种点击操作调用相应的query查询函数,在query函数里 ReadFile。读操作的Handle是A盾自定义的操作码,类似DeviceIoControl的控制码,比如handle 为LIST_SSDT,LIST_INLINEHOOK等。驱动加载时hoo
2014-02-24 15:19:55 5113 1
转载 部分主流杀软驱动挂钩分析
本帖最后由 shulun743 于 2014-1-24 12:27 编辑主要说32位系统:挂钩方式,现在常用的就是挂钩ssdt,shadown ssdt,inline hook挂钩文件系统过滤驱动和HOOK NT!KiFastCallEntry!不具体讨论HOOK和INLINE HOOK的区别了!就是蓝屏不蓝屏的问题!主要讨论挂钩位置的问题:分为两大阵营:1
2014-02-24 15:08:52 970
转载 修改ActiveProcessLinks链表隐藏进程
在Windows内核中有一个活动进程链表AcvtivePeorecssList。它是一个双向链表,保存着系统中所有进程的EPROCESS结构。特别地,进程的EPROCESS结构包含一个具有指针成员FLINK和BLINK的LIST_ENTRY结构,这两个指针分别指向当前进程的前方和后方进程。当某些模块需要获得系统中运行的所有进程信息时,就会遍历这个链表。若在PsActviePoroessList链表
2014-02-21 18:08:17 2639
转载 win7+vs2010配置驱动开发环境(问题种种版...)
本来按照这个来做,能跑通helloworld,可是复杂的驱动就会出错....不知道什么原因,后来就直接用命令行来编译的。--------------------------------------------------------------------------------------------------------------------- 这个学期和老师做
2014-02-08 11:08:42 1145
原创 Visual Studio 2010 error C2065: '_In_opt_z_' : undeclared identifier 编译错误
当用Visual Studio 2010 编译时 发生如下编译错误:2>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2065: '_In_opt_z_' : undeclared identifier2>C:\Program Files (x86)\Micro
2014-02-08 10:50:33 1941 1
转载 如何有效管理Windows系统帐户权限
权限是Windows管理的基础,当然与Windows用户关系最密切,平时接触最多的是与帐户相关的权限。对于Windows帐户权限的管理,你是否完全了解呢?下面,笔者以Winsows XP为例进行相关测试,希望对提升认识有所帮助。 1、系统权限概述 大家知道,Windows NT系统是个等级森严的系统,操作系统通过对用户(帐户)授权来实施管理。以Windows XP系统为例,系统默
2014-02-07 15:48:43 1934
dotnetfx_cleanup_tool
2015-07-23
error C4996
2015-07-11
解决rdlc报错 An error occurred during local report processing
2015-07-07
VC 常见编译错误.pdf
2015-02-13
ReloadKernel(重载内核全程分析)
2014-02-25
如何HOOK桌面窗口消息
2013-12-26
代码注入的三种方法
2013-12-26
Windows下DNS ID欺骗的原理与实现
2013-11-16
NDIS+IM防火墙安装文件和源代码
2013-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人