windows内核驱动相关
stecdeng
这个作者很懒,什么都没留下…
展开
-
CPU与IRP的一些相关函数
VOIDKiAdjustIrpCredits ( VOID )其中 Number = KeNumberProcessors;Prcb = KiProcessorBlock[Index];多核情况下调整每个CPU的IRP对象配额。在while (Index LookasideIrpFloat, Adjust),不过最后一个CPU为什么是 Interlocke原创 2012-05-23 13:24:51 · 975 阅读 · 0 评论 -
磁盘保护原理简介
磁盘保护确保用户在正常使用电脑的情况下,所有保护分区的操作在重启系统后都会恢复,达到预防病毒、保护数据的目的。用户的角度来看,可能会觉得很神奇。想实现这个功能,其实需要一个磁盘过滤程序,对磁盘的操作进行过滤和区分操作。写入操作。应用程序操作某个文件,对文件进行写入改动操作,最后会对应到,写入改动硬盘上的某些扇区。而磁盘保护程序会过滤检测到这些扇区操作,将写入转移到其它位置,而不是真正写入到原创 2017-03-03 10:52:44 · 1532 阅读 · 0 评论 -
主机性能监控之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 · 2121 阅读 · 0 评论 -
c++ 计算cpu占用率
计算CPU占用率就是获取系统总的内核时间 用户时间及空闲时间其中空闲时间就是内核空转 所以内核时间包含空闲时间然后计算运行时间 = 内核时间 加 用户时间 减去 空闲时间间隔时间 = 内核时间 加 用户时间cpu使用率% = 运行时间 / 间隔时间 ;无论单个进程cpu占用率还是系统整个cpu占用路 都是如此原理核心代码就是如下几段原创 2017-02-20 11:46:53 · 8818 阅读 · 4 评论 -
关于隐藏文件夹
学了文件过滤驱动,其实多少都要尝试下文件夹隐藏,网络上关于这些的讲解和代码都不少。主要是使用文件过滤驱动 监控IRP_MJ_DIRECTORY_CONTROL的IRP,对其返回的FILE_BOTH_DIR_INFORMATION结构进行过滤和修改达到我们隐藏我们指定的文件夹的目的。FILE_BOTH_DIR_INFORMATION结构体如下:[code]typedef struc原创 2012-05-23 13:23:47 · 1197 阅读 · 0 评论 -
ObpReferenceProcessObjectByHandle 学习
NTSTATUSObpReferenceProcessObjectByHandle ( IN HANDLE Handle, ...... OUT PVOID *Object, ...... ) { //获取当前线程 Thread = PsGetCurrentThread (); *Object原创 2012-05-23 13:25:34 · 874 阅读 · 0 评论 -
重命名文件的几种写法
现在主要的是通过往ZwSetInformationFile发送HANDLE和改名请求 再者就是 往 IoSetInformation 发送FILEOBJECT和改名请求以及我自己模仿iosetinformation写成的创建IRP改名voidRenameFileROutineByHandle(){UNICODE_STRING UniFileString;OBJECT_A原创 2013-04-21 15:17:31 · 1246 阅读 · 0 评论 -
windbg 经典死锁调试
代码见// Deadlock_Debug.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include // All the thread must get all of critial_section// Classic DeadlockCRITICAL_SECTION原创 2013-05-13 15:16:46 · 1234 阅读 · 0 评论 -
windows内核缓存代码解析
VOIDCcInitializeVacbs(){ SIZE_T VacbBytes; PVACB NextVacb; // 根据全局信息 计算缓存 即除以256KB // 初始化缓存信息参数 挂入队列 等待使用 CcNumberVacbs = (MmSizeOfSystemCacheInPages >> (VACB_OFFSET_SHIFT原创 2012-11-02 14:02:51 · 1265 阅读 · 1 评论 -
IoGetRelatedDeviceObject学习
PDEVICE_OBJECTIoGetRelatedDeviceObject( 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 · 1320 阅读 · 0 评论 -
内核情景分析笔记 内存
每个进程有4G内存空间,其中2G内核空间是共享的。另外2G内存是每个进程私有。但是进程这么多,每个进程2G,系统怎么也变不出来。于是有了内存映射一说,使用到的才进入内存,平时为空或者在倒换文件中。这个页式存储机制对于现代操作系统比段式内存机制更重要。每个进程对于自己的空间使用VadRoot记录。结构如下:typedef struct _MADDRESS_SPACE{ PMEMORY原创 2012-05-23 13:19:36 · 683 阅读 · 0 评论 -
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 · 1248 阅读 · 0 评论 -
U 盘文件监控
很简单的一个小玩意就是监控U盘插上后记录创建 改名字 删除操作。不过我这个是MINIFILTER架构;并且没有通知用户层直接在C盘目录下创建文件记录操作的。后来改了改;用于记录某些EXE安装过程中;出现了哪些SYS文件;方便分析同我的《关于隐藏文件夹附代码》一样否是从MINIFILTER的PASSTHROUGH框架改出的在PASSTHROUGH框架上逐步添加的一些代码1.监控U原创 2012-05-23 13:23:04 · 2222 阅读 · 1 评论 -
学习笔记目录
网页爬虫部分C++ 提取网页内容系列之五 整合爬取豆瓣读书C++ 提取网页内容系列之四正则C++ 提取网页内容系列之三C++ 提取网页内容系列之二C++ 提取网页内容系列之一获取电驴首页推荐信息和指定栏目信息网络部分 asio boostboost 编写finger服务boost asio 学习(九) boost::asio 网络封装b原创 2017-05-03 17:32:29 · 553 阅读 · 0 评论