Windows 内核安全编程技术实践

news2024/9/21 2:40:33

《Windows 内核安全编程技术实践》,这是一本Windows 10内核安全开发系列丛书,探索 AntiRootKit 反内核工具核心原理与技术实现细节,揭开ARK工具的神秘面纱,本书以实战角度出发摒弃了大量无用的专业术语,欢迎阅读并提出建议。

访问GitHub | 访问Gitee

下载PDF图书 线路1 | 下载PDF图书 线路2

封面设计

内容简介

《Windows 内核安全编程技术实践》 是一本Windows 10 x64内核安全开发系列丛书,本书是LyShark多年的技术积累编写而成,不同于市面上的多数内核开发系列丛书,本书是以底层安全角度为切入点忽略了驱动开发中项目实践部分,LyShark发现多数丛书都会携带太多的技术概念,这些概念并不利于技术实践,本书将忽略太多没有意义的专业术语,所有文章均以实战角度出发,由简入深递进式教学,通过学习本书你可掌握反内核工具是如何实现的,这些技术细节相信市面上你绝对学不到,或者找到的都是过时的,LyShark追求高质量文章,保证每一篇文章都是可被直接应用。

撰写初衷

某一天,笔者想要实现一款ARK反内核工具,在找资料时发现市面上多数ARK工具都经过了VMP高强度加密,内核代码尤为宝贵这一点可以被理解,多数有源码的项目也都是过时的无法正常使用,故想要将ARK反内核工具功能在最新版本的Windows 10 x64系统上面实现,既可以整理归纳自己的知识体系,也可以帮助更多底层爱好者学习内核开发技术,让更多安全爱好者从中受益。

法律警告

本书内容首发于博客园,根据《中华人民共和国著作权法》相关规定本人享有著作权,本书的发放仅用于技术交流学习,本书内容免费,禁止第三方倒卖,如果您在第三方购买到本书请与作者联系,作者(LyShark)将追究倒卖者法律责任,纯净的技术交流需要你我共同来维护,感谢您阅读并支持作者的创作。

书籍目录

  • 第一章:环境配置篇

    • 1.1 WDK8.1 驱动开发环境配置
    • 1.2 WinDBG 配置内核双机调试
    • 1.3 内核测试模式过DSE签名
  • 第二章:基础知识篇

    • 2.1 内核中的链表与结构体
    • 2.2 内核中的自旋锁结构
    • 2.3 内核字符串转换方法
    • 2.4 内核字符串拷贝与比较
  • 第三章:驱动通信篇

    • 3.1 驱动与应用的简单通信
    • 3.2 应用DeviceIoContro开发模板
    • 3.3 通过SystemBuf与内核层通信
    • 3.4 通过ReadFile与内核层通信
    • 3.5 通过PIPE管道与内核层通信
    • 3.6 通过Async反向与内核通信
  • 第四章:驱动读写篇

    • 4.1 内核CR3切换读写内存
    • 4.2 内核MDL读写进程内存
    • 4.3 通过内存拷贝读写内存
    • 4.4 内核R3与R0内存映射拷贝
  • 第五章:内核SSDT解析篇

    • 5.1 内核枚举SSDT表基址
    • 5.2 内核枚举完整SSDT表
    • 5.3 枚举ShadowSSDT表基址
  • 第六章:内核进程线程篇

    • 6.1 内核中枚举进线程与模块
    • 6.2 监控进程与线程对象操作
    • 6.3 内核监控进程与线程创建
    • 6.4 内核DKOM实现进程隐藏
    • 6.5 内核中实现Dump进程转储
    • 6.6 内核遍历进程VAD结构体
    • 6.7 运用VAD隐藏R3内存思路
    • 6.8 内核摘链DKOM进程隐藏
    • 6.9 内核无痕隐藏自身分析
    • 6.10 内核强制结束进程运行
  • 第七章:内核模块篇

    • 7.1 内核判断驱动加载状态
    • 7.2 内核取ntoskrnl模块基地址
    • 7.3 内核取应用层模块基地址
    • 7.4 内核通过PEB得到进程参数
    • 7.5 断链隐藏驱动程序自身
    • 7.6 内核特征码搜索函数封装
    • 7.7 内核LDE64引擎计算汇编长度
    • 7.8 内核层InlineHook挂钩函数
  • 第八章:内核枚举篇

    • 8.1 内核枚举IoTimer定时器
    • 8.2 内核枚举DpcTimer定时器
    • 8.3 内核枚举PspCidTable句柄表
    • 8.4 内核枚举Minifilter微过滤驱动
    • 8.5 内核特征码扫描PE代码段
    • 8.6 内核枚举LoadImage映像回调
    • 8.7 内核枚举Registry注册表回调
    • 8.8 内核枚举进程与线程ObCall回调
  • 第九章:内核监控篇

    • 9.1 内核监控进程与线程回调
    • 9.2 内核注册并监控对象回调
    • 9.3 内核监视LoadImage映像回调
    • 9.4 内核运用LoadImage屏蔽驱动
    • 9.5 内核监控Register注册表回调
    • 9.6 内核监控FileObject文件回调
  • 第十章:其他篇

    • 10.1 内核封装WSK网络通信接口

特别感谢

感谢自己对自己的不放弃,努力走自己的路,虽然无法得到别人的认可,但自已还是要认可自己!

许可协议

CC BY-NC-ND 4.0

中华人民共和国著作权法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Qt中设置窗体背景颜色及透明度的方法介绍

本文主要介绍在 Qt 中设置窗体背景颜色及透明度的方法。 说明: 本文中的应用程序是面向 Windows 操作系统的;本文中使用的 Qt Creator 版本号为:7.0.0;本文中使用的 Qt 版本号为:5.14.2。 1 利用样式表(S…

Github每日精选(第82期):还在用logging试试loguru

Loguru 如果你还在使用logging,不妨花点时间来看看Loguru,Loguru是一个Python日志记录的库。 您是否曾懒于配置记录器而使用print()?。。。 我确实这样做了,但日志记录对于每个应用程序来说都是基本的&a…

Redis集群系列十二 —— 故障转移二

场景 模拟集群中有一个 master 宕机场景。 故障转移自动故障转移和手动故障转移。 自动故障转移 打开日志监控 为了更好折查看效果,通过 watch 命令实时查看集群的动态日志变化,如图: watch redis-cli -p 30001 cluster nodes 注意&#…

用SQL语句进行数据库查询(复杂查询)

前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:上一篇学习了如何使用SQL语句进行简单的数据查询,本篇…

C++ 简单工厂模式 与 工厂模式

简单工厂模式: 一个工厂,多个产品。产品需要有一个虚基类。通过传入参数,生成具体产品对象,并利用基类指针指向此对象。通过工厂获取此虚基类指针,通过运行时多态,调用子类实现。 注意:简单工厂…

S32K144—autoMBD是什么?

基于模型的设计(Model-Based Design,MBD)是一项非常具有发展潜力的技术,autoMBD 致力于分享和传播 MBD 相关技术,让更多人可以快速、高效地在项目开发中使用 MBD。 MBD能做什么? 从大的范围来说&#xff…

14 Python 办公自动化

目录 1、普通文件自动化管理 1.1 文件的复制 1.2 文件内容的复制 1.3 文件的裁剪 1.4 文件的删除 1.5 文件的压缩与解压缩 1.6 文件的查找 1.7 查找含有指定内容的文件 1.8 清理重复的文件 1.9 批量修改目录中的文件名称 2、文件夹的自动化管理 2.1 文件夹的复制 …

机器学习中的数学原理——线性可分问题

这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下《白话机器学习中的数学——线性可分问题》! 一、什么是线性可分问题 线性可分…

kibana和elasticsearch-head安装手册

kibana和elasticsearch-head安装手册 0 安装包下载 组件安装包下载地址kibanakibana-8.5.2-linux-x86_64.tar.gzelastic官网:https://www.elastic.co/cn/downloads/past-releases#kibana elastic中文社区:https://elasticsearch.cn/download/nodenode-…

关键字:static

文章目录一、static关键字的使用static修饰属性实例变量静态变量(类变量)内存解析static修饰方法static注意点如何确定什么时候使用static?方法属性单例设计模式饿汉式懒汉式区分饿汉式和懒汉式一、static关键字的使用 1、可以用来修饰&…

回首满是自豪

写在前面hi朋友,我是几何心凉,感谢你能够点开这篇文章,看到这里我觉得我们是有缘分的,因着这份缘分,我希望你能够看完我的分享,因为下面的分享就是要汇报给你听的,这篇文章是在 2022 年 12 月 3…

【柔性数组与局部性原理】

柔性数组概念 柔性数组特点 局部性原理 柔性数组概念 对于柔性数组,也许你之前从未听说过,柔性数组,顾名思义,就是数组,它的柔性柔在元素个数可以动态变化, 即柔性数组是未知大小的,数组大小…

Elasticsearch:使用 Node.js 将实时数据提取到 Elasticsearch 中(二)

在我的上一篇文章 “Elasticsearch:使用 Node.js 将实时数据提取到 Elasticsearch 中(一)”,我详细描述了如何如何使用 Node.js 来采集地震数据。在今天的文章中,我们来详细描述如何对数据可视化。我们还将创建一个 we…

推荐七个Python效率工具!让你事半功倍

为了提高效率,我们在平时工作中常会用到一些Python的效率工具,Python作为比较老的编程语言,它可以实现日常工作的各种自动化。为了更便利的开发项目,这里给大家推荐几个Python的效率工具。 1、Pandas-用于数据分析 Pandas是一个强…

UEditorPlus v2.8.0发布 颜色自定义,文档功能完善

UEditor是由百度开发的所见即所得的开源富文本编辑器,基于MIT开源协议,该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器,主要做了样式的定制,更符…

vim使用教程图文教程(超详细)

1. 三种模式 vim编辑器有三种模式:命令模式、编辑模式、末行模式。 「命令模式」:可以进行删除、复制、粘贴等快捷操作。「编辑模式」:可以编辑文件内容。「末行模式」:可以通过命令操作文件,比如搜索、保存、退出等…

【C语言】字符串小练习(每日小细节012)

前言: 欢迎打开这篇博客,从今天开始,每天和大家分享一个C语言小细节,不久之后还会追加C 一些常常被忽视的小细节和思想统一的编程题目是这个专栏的核心哦 虽然简单但千万别在细节处失分!!!&…

【Linux编辑神器:vim】

目录 1. vim的基本概念 2. vim的基本操作 3. vim正常模式命令集 4. vim底行模式命令集 5. 简单vim配置 6 总结 什么是Vi/Vim? vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令&#xff0…

【算法】关于双指针的奇技淫巧(一):对撞指针

一、对撞指针 对撞指针由两个指针组成,分别指向数据的头部和尾部: 两个指针分别从两头移动,寻找符合答案的位置后停下。对撞指针主要应用于有序数组的求和,我们使用一个题目进行说明: 示例如下: 根据题目可…

元数据管理Datahub基本介绍和特点

目录1. 基本介绍2. 功能特色2.1 支持不同平台的元数据同步和搜索2.2 血缘关系2.3 查询数据集的统计信息2.4 实时治理2.5 Datahub的权限管理2.6 使用Domains、Glossary Terms、tags对数据Entity进行管理2.7 在Web界面对元数据进行管理1. 基本介绍 Datahub是现代数据栈的元数据管…