摘要:磁盘保护确保用户在正常使用电脑的情况下,所有保护分区的操作在重启系统后都会恢复,达到预防病毒、保护数据的目的。 用户的角度来看,可能会觉得很神奇。想实现这个功能,其实需要一个磁盘过滤程序,对磁盘的操作进行过滤和区分操作。 写入操作。应用程序操作某个文件,对文件进行写入改动操作,最后会对应到,写入改动
阅读全文
摘要://系统物理页面是由 (Page Frame Number Database )简称PFN数据库来进行管理,实际上是一个数组,每个物理页面都对应一个PFN项。 进程的地址空间是通过VAD(Virtual Address Destriptor)管理。每个进程都有一个AVL树来保存这些VAD节点,来记录
阅读全文
摘要:页式映射 本系列截图来自网络搜索及以下基本书籍: 《Windows内核设计思想》 《Windows内核情景分析》 《WINDOWS内核原理与实现》 一个32位虚拟地址,该地址其实分为三个部分:页目录表偏移、页表偏移和页偏移。其22-31位表示页目录表偏移,12-21位表示页表偏移,剩下的0-11位表
阅读全文
摘要:截图及内容参考 《Linux内核源代码情景分析》 《自己动手写操作系统》 nasm boot.asm -o boot.bin dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc 保护模式下各个段权限转移规则段分为数据段和代码段代码段分为一致代码段和
阅读全文
摘要:学了文件过滤驱动,其实多少都要尝试下文件夹隐藏,网络上关于这些的讲解和代码都不少。主要是使用文件过滤驱动监控IRP_MJ_DIRECTORY_CONTROL的IRP,对其返回的FILE_BOTH_DIR_INFORMATION结构进行过滤和修改达到我们隐藏我们指定的文件夹的目的。FILE_BOTH_...
阅读全文
摘要:PDEVICE_OBJECTIoGetRelatedDeviceObject( IN PFILE_OBJECT FileObject )/*++Routine Description: This routine returns a pointer to the actual dev...
阅读全文
摘要:VOIDKiAdjustIrpCredits ( VOID )其中 Number = KeNumberProcessors;Prcb = KiProcessorBlock[Index];多核情况下调整每个CPU的IRP对象配额。在while (Index Lookaside...
阅读全文
摘要:if(bHooked == FALSE){RtlInitUnicodeString (&HookDriverName, L"\\FileSystem\\Ntfs");//获得\Driver\VolSnap驱动对象status = ObReferenceObjectByName (&HookDrive...
阅读全文
摘要:现在主要的是通过往ZwSetInformationFile发送HANDLE和改名请求再者就是往IoSetInformation发送FILEOBJECT和改名请求以及我自己模仿iosetinformation写成的创建IRP改名voidRenameFileROutineByHandle(){ UNIC...
阅读全文
摘要:ProcessHacker学习笔记ProcessHacker是一款拥有windows任务管理器的开源软件。学习该软件,可增长windows操作系统多方面系统机制知识和性能统计设计的能力。1、获取进程内存占用率windows系统下,无论任何版本,都可以在任务管理器下查看各个进程的内存占用率。XP 20...
阅读全文
摘要:代码// Deadlock_Debug.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include // All the thread must get all of critial_section// Classic ...
阅读全文
摘要:目前正在阅读毛老师的《windows内核情景分析》一书对象管理章节,作此笔记。Win内核中是使用对象概念来描述管理内核中使用到的数据结构。此对象(Object)均是由对象头(Object Header)组成,实际上由于对象头概念的特殊结构,还有些可选成分。于是一个对象实际上是分为三部分。OBJECT...
阅读全文