<读书笔记>Windows内核安全——第六章 磁盘过滤

本文是关于Windows内核安全的读书笔记,重点介绍了如何创建一个磁盘卷上层过滤驱动,实现卷的还原功能。驱动在启动后,对还原卷的写操作仅限当前,重启后数据清零。内容涵盖磁盘卷设备理解、上层过滤驱动创建、PNP处理以及Boot驱动回调函数和稀疏文件的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       本章目标:完成一个磁盘卷设备的上层类过滤驱动,该过滤驱动的功能是实现对卷的还原,即开启该驱动的功能之后,对还原卷的写操作将只适用于当前,重启电脑后所写入的数据都将清零,类似于还原卡之类的功能。

1、磁盘卷设备

       OK,根据章节的主题。首先要知道什么是磁盘卷设备,根据《windows internals》一书中的讲解,Windows的存储结构自上而下分成以下各个部分,如图所示:


(擦,一个图片翻译了N久,尼玛~)

       根据图中可以看出各个部分的功能,从中我们可以看见卷设备所处在的层级。


2、上层类过滤驱动

    根据驱动的层级,类功能驱动的上下可以添加相应的过滤驱动,添加在上层的称为上层过滤驱动,添加在下层的称为下层过滤驱动(前面的笔记中也有类似的介绍)。

代码分析:

1、  DriverEntry

DriveEntry中有一个API:

VOID IoRegisterBootDriverReinitialization(

 _In_      PDRIVER_OBJECTDriverObject,

<?php $username = $_POST["username"] ; $password = $_POST["password"] ; if($username === "admin" && $password === "admin1") { // 读取所有笔记文件 $notes = []; $note_files = glob('notes/*.txt'); foreach ($note_files as $file) { $id = basename($file, '.txt'); $content = file_get_contents($file); $notes[$id] = $content; } ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>读书笔记系统</title> <link rel="stylesheet" href="styles.css"> </head> <body> <script> alert('登陆成功'); </script> <div class="container"> <h1>我的读书笔记</h1> <form action="add_note.php" method="post" class="note-form"> <h2>添加新笔记</h2> <div class="form-group"> <label for="book_title">书名:</label> <input type="text" id="book_title" name="book_title" required> </div> <div class="form-group"> <label for="note_content">笔记内容:</label> <textarea id="note_content" name="note_content" rows="5" required></textarea> </div> <button type="submit">保存笔记</button> </form> <div class="notes-list"> <h2>我的笔记</h2> <?php if (empty($notes)): ?> <p>暂无笔记,添加你的第一条读书笔记吧!</p> <?php else: ?> <?php foreach ($notes as $id => $content): ?> <div class="note-card"> <div class="note-content"><?= nl2br(htmlspecialchars($content)) ?></div> <form action="delete_note.php" method="post" class="delete-form"> <input type="hidden" name="note_id" value="<?= $id ?>"> <button type="submit" class="delete-btn">删除</button> </form> </div> <?php endforeach; ?> <?php endif; ?> </div> </div> </body> </html> <?php } else { echo "<script>alert('账号或者密码不正确');</script>"; } ?>
最新发布
07-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值