随笔分类 -  64位内核开发知识

摘要:[toc] # VsCode配置Wdk7600开发环境 以及 "自动编译" 和 sources文件简单介绍.. ## 一丶 简介 虽然`Wdk7600`已经过时,但还是有很多项目是使用`Wdk7600`编写的. 而很多老项目配置环境有很多种方式. 如配置在`visual studio 中编写`. 配 阅读全文
posted @ 2023-06-06 11:38 iBinary 阅读(651) 评论(0) 推荐(0)
摘要:64位内开发第二十三讲,分层过滤驱动-键盘过滤 来自: iBinary - 博客园 禁止爬虫.如果遇到此文章不是 出自 博客园 或者 腾讯云+社区. 请举报目标网站. 或者跳转至 本人博客园进行查看. 因为文章随时更改.可能今天只是写了一部分.或者有错误. 而明天就进行更改重发了. 但是爬虫爬取的文 阅读全文
posted @ 2022-08-21 13:25 iBinary 阅读(847) 评论(0) 推荐(0)
摘要:64位内开发第二十二讲,分层过滤驱动编程详解 来自: iBinary - 博客园 禁止爬虫.如果遇到此文章不是 出自 博客园 或者 腾讯云+社区. 请举报目标网站. 或者跳转至 本人博客园进行查看. 因为文章随时更改.可能今天只是写了一部分.或者有错误. 而明天就进行更改重发了. 但是爬虫爬取的文章 阅读全文
posted @ 2022-08-19 18:54 iBinary 阅读(797) 评论(0) 推荐(0)
摘要:驱动程序调用驱动程序 一丶驱动调用驱动介绍. 1.1 驱动调用驱动介绍 驱动调用驱动.其实就是两个内核内核驱动之间的通信. 比如应用程序和驱动程序通信就算为一种通信. 应用程序可以 发送 IRP_MJ_READ 请求(ReadFile) 发送给 DrvierA程序. 然后DriverA进行相应的 I 阅读全文
posted @ 2022-08-03 15:39 iBinary 阅读(1142) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2022-07-29 18:01 iBinary 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2022-03-06 18:09 iBinary 阅读(4) 评论(0) 推荐(0)
摘要:IRP 派遣函数 与通信方式 一丶IRP 1.1 IRP介绍 理论知识 在Windows内核中,有一种数据结构叫做 IRP(I/O Request Package) 也就是输入输出请求包。它是与输入输出相关的重要数据结构 只要了解了IRP 那么驱动开发以及内核你就会了解一大半了。 当上层 应用程序 阅读全文
posted @ 2022-01-24 11:50 iBinary 阅读(2974) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2022-01-16 22:54 iBinary 阅读(73) 评论(2) 推荐(0)
摘要:MiniFilter文件过滤第一讲 文件过滤框架以及安装方式 一丶MiniFilter 文件过滤框架 1.1 简介 MiniFilter是微软为我们开发的一个新的驱动,称为过滤管理器.(Filter Manager或者 fltmgr).这个驱动主要作用就是如果有文件操作可以通知我们. MiniFil 阅读全文
posted @ 2022-01-16 12:09 iBinary 阅读(8385) 评论(0) 推荐(1)
摘要:Windows内核驱动 使用 C++ 代码编程 一 丶 C++在Windows内核中的使用 1.1 简介 在驱动内核中是可以使用C++来进行编程的.只不过需要你重载一下new delete等函数 你可以看使用类 使用继承等. 但是如果是内核API的时候注意需要对其进行 C函数导出. 否则就会报解析不 阅读全文
posted @ 2022-01-08 21:52 iBinary 阅读(1945) 评论(0) 推荐(0)
摘要:MDL 内存描述符列表 一丶MDL简介 1.1 MDL描述 虚拟地址会跨越一系列连续的虚拟地址,IO缓冲区也可以分布在多个物理页上,并且这些物理页是不连续的。操作系统就会使用 内存描述符表(MDL)这个结构来描述虚拟内存缓冲区的物理页面布局的。 MDL其实是一个MDL结构体,他后面跟着一个描述 I/ 阅读全文
posted @ 2020-11-03 11:02 iBinary 阅读(3852) 评论(0) 推荐(0)
摘要:64位内开发第十一讲,内核下的进程操作 一丶进程的遍历 1.1 内核中的进程简介 在内核中 进程(Process) 其实就是一个结构体, 这个结构体称为 EPROCESS 这个结构体很巨大. 一般就记录了这个进程的一些信息. 比如: 进程名 进程的PID(编号) 进程路径 父进程PID 等等. 在 阅读全文
posted @ 2019-10-19 19:05 iBinary 阅读(5235) 评论(0) 推荐(0)
摘要:驱动中遍历模块 一丶简介 1.1 基于 PsLoadModuleList 方法 简介: 进入内核了.遍历内核中使用的模块该怎么办. 其实在驱动中.我们的DriverEntry入口位置. 提供了两个参数. 一个是DrIverObject另一个则是注册表路径. 其实遍历模块的技巧就在这个DriverOb 阅读全文
posted @ 2019-10-17 17:42 iBinary 阅读(3638) 评论(0) 推荐(0)
摘要:x64内核中强删文件的实现 一丶简介 说道删除文件.有各种各样的方法. 有ring3 也有ring0. 而且也有许多对抗的方法. 如ring3想删除一个文件.被占用你就无法删除.此时可以通过解除句柄进行删除 ring0中想删除一个文件.有常规方法也有非常规方法.常规方法就是 设置文件属性为删除.然后 阅读全文
posted @ 2019-09-27 10:50 iBinary 阅读(1968) 评论(0) 推荐(0)
摘要:一丶定时器使用简介 这一篇主要讲一下 时间 日期 以及定时器的相关代码. 1.1 IO定时器 1.1 .1 I/O定时器的使用 在内核下 IO定时器是实现定时器的一种方式, IO定时器可以每隔 1S(一秒)来执行一次由程序员自定义的程序函数. 那么请看下面使用到的DDK函数. 主要是三个方法和一个 阅读全文
posted @ 2019-08-18 15:56 iBinary 阅读(1490) 评论(2) 推荐(1)
摘要:内核中常用的数据结构 数据结构 何为数据结构 不管是Ring0还是Ring3数据结构都是必须要知道的.数据结构是一种思想. 以及怎么存储数据. 跟语言无关.平台无关. 如:(链表,数组,栈,队列.图.树...) ring0下数据结构非彼数据结构. 意思就是数据结构思想都是一样的. 你只需要熟悉rin 阅读全文
posted @ 2019-06-15 10:16 iBinary 阅读(976) 评论(0) 推荐(1)
摘要:多线程编程 一丶多线程安全. 1.什么是多线程 现在的程序基本是很多个线程.不想以前一样.而进程和线程的关系就是 一对多的关系. 进程做外键放到线程中. 数据关系是这样的. 简单理解为 进程就是一个 容体. 里面的线程就是它进存储的任务. 一个线程只能做一个事情. 多个线程可以做多个事情. 2.超线 阅读全文
posted @ 2019-06-15 10:15 iBinary 阅读(945) 评论(0) 推荐(0)
摘要:一丶同步与互斥详解,以及实现一个进程监视软件. 1.用于线程同步的 KEVENT 事件很简单分别分为 事件状态. 以及事件类别. 事件状态: 有信号 Signaled 无信号 Non-signaled 事件类别 自动恢复 Synchronization 自动设置 不自动恢复. Notificatio 阅读全文
posted @ 2019-06-09 16:34 iBinary 阅读(1782) 评论(0) 推荐(1)
摘要:中断级别IROL了解 一丶IRQL 1.了解什么是中断 中断就是产生的一个电信号.比如键盘.当按下就会产生电信号发送给CPU 而CPU就会停止当前处理.去执行电信号.他是根据IRQL中断级别来进行处理的. 如下图: 中断说白了就是个电信号.打断CPU执行的代码. 去调用中断处理函数. 此时CPU就处 阅读全文
posted @ 2019-06-08 14:49 iBinary 阅读(1693) 评论(0) 推荐(0)
摘要:一 丶注册表编程 二 注册表简介 2.1 ring3注册表 在内核中我们的注册表只有两个 key 内核 对应ring3 \Registry\Machine\software HKEY_LOCAL_MACHINE \Registry\User\ HKEY_USERS 其它的三个是从这些内核中映射出来的 阅读全文
posted @ 2019-06-08 14:48 iBinary 阅读(1872) 评论(0) 推荐(1)