写在前面

本科毕业设计是实现一个基于 windows 的透明加密过滤系统。由此对 windows kernel development,尤其是 file system 进行过较为深入的探索。对于防终止的需求,转到调用层实现,由此对 HOOK 技术进行了系统的学习和探索。

学习过程中作了不少笔记,但由于时间原因只是间断零碎的整理了一些到博客中。后来研究生阶段转向 machine learning 和 data mining 的相关课题,对系统安全的这一块内容涉及甚少,也就没有进一步整理更新。

期间有不少网友与我沟通联系表示对该话题很感兴趣。工作落实以后,对自己的文件进行整理,现在将一些自己的学习资料跟大家分享,希望对研究系统尤其是 windows 内核的同仁们有一点帮助。

这里主要对曾经已经发布的资料进行梳理并将一些 demo 进行分享。 需要注意的是,分享的程序在 Windows 7 及以前版本的操作系统上运行没有问题,但不保证其他环境可以正常运行。对于相关的环境配置和参数说明,至今不一定适用。建议读者注意参考官网最新的文档,通过 google或更新的blog解决问题。不过话说回来,最靠谱的还是官方文档!!

此处主要是对自己工作的一个总结,如果能对大家起到帮助就更好了。代码和调试过程的细节本人不再提供支持和维护,毕竟精力有限。由于个人能力有限,资料难免有纰漏,欢迎指正。如果大家有更有趣的发现或更好的进展欢迎分享,相互学习。

总的来说,整个学习过程确实踩了不少坑,但也正因此让整个过程更有趣。 The road to success was trial and error development, recompilation, and lots of crashes. ——— 这句话是曾经看书时记下来的,用来形容这一过程再贴切不过。与大家共勉~。

github 文件夹, 可能会不定期更新。

资料整理

相关内容整理如下。技术分享-windows kernel 是一次技术沙龙的分享,对内核程序开发进行了一个粗略的介绍,其中还分享了一些有趣的小 demo。HOOK,一些 HOOK 的小程序和code。防终止的基于Windows透明加密 过滤系统研究与实现 是我的论文和答辩 ppt,可以对 windows 内核文件系统一个较为系统的了解。

一些学习资源:

我与 windows kernel 的一段时光的更多相关文章

  1. Windows Kernel Way 1:Windows内核调试技术

    掌握Windows内核调试技术是学习与研究Windows内核的基础,调试Windows内核的方式大致分为两种: (1)通过Windbg工具在Windows系统运行之初连接到Windows内核,连接成功 ...

  2. Windows Kernel Way 扉言

    七年寒窗,但求一道. 笔者在学习windows/linux以及各类编程语言.框架之初因摸不到门路而磕磕绊绊,因寻不到明师而步履蹒跚,或不知缘从何起,或不知路在何处,只能尝试.回溯.重来.反反复复,竟也 ...

  3. Windows kernel pool 初探(2014.12)

    Windows kernel pool 1. 简介 Kernel pool类似于Windows用户层所使用Heap,其为内核组件提供系统资源.在系统初始化的时候,内存管理模块就创建了pool. 严格的 ...

  4. Windows Kernel Security Training Courses

    http://www.codemachine.com/courses.html#kerdbg Windows Kernel Internals for Security Researchers Thi ...

  5. [微软官网]One Windows Kernel

    One Windows Kernel https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/One-Windows-Kerne ...

  6. 显示器驱动程序 NVIDIA Windows Kernel Mode Driver Version 已停止响应 并且己成功恢复 解决方法

    原文:http://news.160.com/?p=1890 在玩游戏中 经常 出现显示器驱动程序 NVIDIA Windows Kernel Mode Driver Version 已停止响应 并且 ...

  7. OD: Windows Kernel Debug

    内核调试入门 内核程序运行在内核态,因此不能像对用户态应用程序那样来调试.关于内核调试方面的知识请参考<软件调试>这本书.目前内核调试主要有以下三种方法. 一是使用硬件调试器,它通过特定的 ...

  8. Windows多线程中关键段(Critical Section)的应用

    先看如下代码:(用Visual Studio 2010按照Win32 Console程序创建向导创建) #include "stdafx.h" #include <proce ...

  9. MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption 2017-05-18 16:45

    wget "https://raw.githubusercontent.com/rapid7/metasploit-framework/6d81ca42087efd6548bfcf92417 ...

随机推荐

  1. ssh密钥登录

    一.生成密钥对(两种方式)并配置 方式1:使用ssh-keygen(1)生成并配置 (1)生成密钥对 [root@iZwz9catu2mrq92b07d1d0Z ~]# ssh-keygen -t r ...

  2. Android Imageview 图片居左居右,自定义圆角

    android:scaleType="fitStart"    图片靠左不变形显示, android:scaleType=”fitEnd”  图片靠右显示,不变形. 半透明andr ...

  3. 从CentOS安装完成到生成词云python学习日记

    欢迎访问我的个人博客:原文链接 前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + ...

  4. 记一次改造react脚手架的过程

    公司突然组织需要重新搭建一个基于node的论坛系统,前端采用react,上网找了一些脚手架,或多或少不能满足自己的需求,最终在基于YeoMan的react脚手架generator-react-webp ...

  5. JS 函数节流和去抖

    1.什么是节流和去抖? 节流.就是拧紧水龙头让水少流一点,但是不是不让水流了.想象一下在现实生活中有时候我们需要接一桶水,接水的同时不想一直站在那等着,可能要离开一会去干一点别的事请,让水差不多流满一 ...

  6. python网络编程之单线程之间的并发

    单线程之间的并发就是利用一个线程实现并发的效果,也就是利用了cup遇到阻塞的那段时间去做别的事情,从而提高了cup的利用率,使之在单个线程中就实现了并发的效果. 下面就是一个简单的服务端单个线程实现并 ...

  7. Android Weekly Notes Issue #286

    December 3rd, 2017 Android Weekly Issue #286 本期文章包含如何通过踩坑来学习Kotlin,以及利用Kotlin的data class做MVVM状态保存,还包 ...

  8. gitlab环境搭建

    企业级的git管理程序.最好用的之一吧.估计其它的也得叫之二. 怎么搭建呢? 2G以上配置的机器才可以搞. . 如下 安装需要注意的是.如果开了80端口,8080的需要修改配置文件  下面会提到 1. ...

  9. 处理eclipse启动时报java.lang.IllegalStateException

    这是我写的第一篇博客,博客我来了: 我是好学的人,希望在这上面遇到志同道合的人,对技术有更高追求的人: 重启eclipse的时候报出来 An error has occurred, See the l ...

  10. springBoot actuator监控配置及使用

    准备环境: 一个springBoot工程 第一步:添加以下依赖 <dependency> <groupId>org.springframework.boot</group ...