windows内核驱动相关
stecdeng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CPU与IRP的一些相关函数
VOID KiAdjustIrpCredits ( VOID )其中 Number = KeNumberProcessors;Prcb = KiProcessorBlock[Index]; 多核情况下调整每个CPU的IRP对象配额。在while (Index LookasideIrpFloat, Adjust),不过最后一个CPU为什么是 Interlocke原创 2012-05-23 13:24:51 · 1073 阅读 · 0 评论 -
U 盘文件监控
很简单的一个小玩意 就是监控U盘插上后记录创建 改名字 删除操作。 不过我这个是MINIFILTER架构;并且没有通知用户层 直接在C盘目录下创建文件记录操作的。 后来改了改;用于记录某些EXE安装过程中;出现了哪些SYS文件;方便分析同我的《关于隐藏文件夹附代码》一样否是从MINIFILTER的PASSTHROUGH框架改出的在PASSTHROUGH框架上逐步添加的一些代码 1.监控U原创 2012-05-23 13:23:04 · 2456 阅读 · 1 评论 -
HOOK ntfs 禁止格式化
if(bHooked == FALSE) { RtlInitUnicodeString (&HookDriverName, L"\\FileSystem\\Ntfs"); //获得\Driver\VolSnap驱动对象 status = ObReferenceObjectByName ( &HookDriverName, OBJ_CASE_INSENSITIVE, 0, 0, *原创 2012-05-29 15:03:13 · 1359 阅读 · 0 评论 -
内核情景分析笔记 内存
每个进程有4G内存空间,其中2G内核空间是共享的。另外2G内存是每个进程私有。但是进程这么多,每个进程2G,系统怎么也变不出来。于是有了内存映射一说,使用到的才进入内存,平时为空或者在倒换文件中。这个页式存储机制对于现代操作系统比段式内存机制更重要。 每个进程对于自己的空间使用VadRoot记录。结构如下: typedef struct _MADDRESS_SPACE { PMEMORY原创 2012-05-23 13:19:36 · 749 阅读 · 0 评论 -
IoGetRelatedDeviceObject学习
PDEVICE_OBJECT IoGetRelatedDeviceObject( IN PFILE_OBJECT FileObject ) /*++ Routine Description: This routine returns a pointer to the actual device object than an I/O Request原创 2012-05-23 13:24:18 · 1388 阅读 · 0 评论 -
windows内核缓存代码解析
VOID CcInitializeVacbs( ) { SIZE_T VacbBytes; PVACB NextVacb; // 根据全局信息 计算缓存 即除以256KB // 初始化缓存信息参数 挂入队列 等待使用 CcNumberVacbs = (MmSizeOfSystemCacheInPages >> (VACB_OFFSET_SHIFT原创 2012-11-02 14:02:51 · 1338 阅读 · 1 评论 -
windbg 经典死锁调试
代码见 // Deadlock_Debug.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "windows.h" #include // All the thread must get all of critial_section // Classic Deadlock CRITICAL_SECTION原创 2013-05-13 15:16:46 · 1390 阅读 · 0 评论 -
重命名文件的几种写法
现在主要的是通过往ZwSetInformationFile发送HANDLE和改名请求 再者就是 往 IoSetInformation 发送FILEOBJECT和改名请求 以及我自己模仿iosetinformation写成的创建IRP改名 void RenameFileROutineByHandle() { UNICODE_STRING UniFileString; OBJECT_A原创 2013-04-21 15:17:31 · 1351 阅读 · 0 评论 -
ObpReferenceProcessObjectByHandle 学习
NTSTATUS ObpReferenceProcessObjectByHandle ( IN HANDLE Handle, ...... OUT PVOID *Object, ...... ) { //获取当前线程 Thread = PsGetCurrentThread (); *Object原创 2012-05-23 13:25:34 · 964 阅读 · 0 评论 -
关于隐藏文件夹
学了文件过滤驱动,其实多少都要尝试下文件夹隐藏,网络上关于这些的讲解和代码都不少。 主要是使用文件过滤驱动 监控IRP_MJ_DIRECTORY_CONTROL的IRP,对其返回的FILE_BOTH_DIR_INFORMATION结构进行过滤和修改达到我们隐藏我们指定的文件夹的目的。FILE_BOTH_DIR_INFORMATION结构体如下:[code] typedef struc原创 2012-05-23 13:23:47 · 1331 阅读 · 0 评论 -
c++ 计算cpu占用率
计算CPU占用率就是获取系统总的内核时间 用户时间及空闲时间 其中空闲时间就是内核空转 所以内核时间包含空闲时间 然后计算 运行时间 = 内核时间 加 用户时间 减去 空闲时间 间隔时间 = 内核时间 加 用户时间 cpu使用率% = 运行时间 / 间隔时间 ; 无论单个进程cpu占用率还是系统整个cpu占用路 都是如此原理 核心代码就是如下几段原创 2017-02-20 11:46:53 · 9178 阅读 · 4 评论 -
主机性能监控之wmi 获取系统信息及内存性能信息
欢迎转帖 请保持文本完整并注明出处 这里参考了http://www.cnblogs.com/lxcsmallcity/archive/2009/10/11/1580803.html 使用了PYTHON 和 vc 进行了调用WMI的代码编写 通过搜索和查看MSDN 可以找到WMI的基本用法 其实主要是WMI接口的初始化 使用 释放的过程 然后就是查找MSDN原创 2017-02-20 11:49:20 · 2235 阅读 · 0 评论 -
磁盘保护原理简介
磁盘保护确保用户在正常使用电脑的情况下,所有保护分区的操作在重启系统后都会恢复,达到预防病毒、保护数据的目的。 用户的角度来看,可能会觉得很神奇。想实现这个功能,其实需要一个磁盘过滤程序,对磁盘的操作进行过滤和区分操作。 写入操作。应用程序操作某个文件,对文件进行写入改动操作,最后会对应到,写入改动硬盘上的某些扇区。而磁盘保护程序会过滤检测到这些扇区操作,将写入转移到其它位置,而不是真正写入到原创 2017-03-03 10:52:44 · 1858 阅读 · 0 评论 -
学习笔记目录
网页爬虫部分 C++ 提取网页内容系列之五 整合爬取豆瓣读书C++ 提取网页内容系列之四正则 C++ 提取网页内容系列之三 C++ 提取网页内容系列之二 C++ 提取网页内容系列之一 获取电驴首页推荐信息和指定栏目信息 网络部分 asio boost boost 编写finger服务 boost asio 学习(九) boost::asio 网络封装 b原创 2017-05-03 17:32:29 · 685 阅读 · 0 评论
分享