带你丛林玩内核第一期解锁 bl 演戏机行为一加 pad, 因为主包设备并不是曲强的 colo ross 一 六系统,所以保留了 fast boot 模式, 你们如果是曲强的 colo ross 一 六的,只需要深度测试等一天就可以解锁了。有的部分老机型也是没有保留 fast boot, 也需要进行深度测试。 将我 oppo 同理开始教学。首先连续点击版本号,打开开发者选项,将 usb 调戏和 oem 解锁打开这里主包用的是紫罗兰工具箱, 在工具箱下载专区新安装安卓驱动,因为主包安装过了,也就不延续了。在主页引导进入 fast boot 模式, 这个页面就是 fastboot 模式,你们没有先度测试之前,也可以点击工具箱引导进入,测试一下手机有没有保留 fastboot, 这样可以省下一天先度测试时间。回到电脑点击基本刷入,这里有执行命令,可以不用命令行,自己输入点击执行就好了。 到第二界面后,按音量键调到第二个开机键,确认开机屏幕上有两行黄字就代表解锁成功了。工具箱在浏览器搜就可以找到,一定要在官网下载,也可以进酒吧交流群拿文件和探讨下一期 root 教学。
粉丝1091获赞5518

大家好,本期为大家带来橘子驱动的下载、安装与使用教程。首先请下载橘子驱动引擎文件,按照操作指引逐步进行即可。 咱们点击 vivo 继续下载,跟着小白点操作即可。下载完成后点击用其他应用打开,选择芒果米器, 任选一个文件路径,将以下载的文件移动至目标目录,这里建议放入新建的文件夹中, 我这边是移动到刚创建的文件夹里面。声明文档供九页,输入 s、 e、 c 并按下回车键即可切换页面。阅读完毕后同意相关声明复制所需的声明文本, 这里跟着我选择目标声明文字,复制之后粘贴回车,这离我没有咪远,然后他自动退出了。 接下来我教大家如何获得卡蜜,嗯,然后在这里搜索我们的机器人获取蜜月,跟我操作即可。点击开始后即可自动获取蜜月, 在此可查看蜜月的绑定设备信息。复制蜜月后来看我这边操作,跟着我操作,然后粘贴蜜月, 这里选择自己的内核版本操作下载即可。好啦,嗯, 这期视频到此结束,嗯,谢谢大家观看,不忘私聊!

各位观众朋友们大家好,今天我们来聊一聊 windows 内核驱动开发中的磁盘 i o 操作。这些操作看似复杂,但只要抓住 api 函数的使用顺序就能理清脉络。 中心思想是在 windows 内核中操作磁盘,本质上是围绕 r p 级输入输出请求包展开的,我们需要按照创建对象、绑定设备、构建请求、发送请求,等待完成 清理资源这一流程,依次调用对应的内核 a p i。 下面我就按照这个顺序为大家娓娓道来。第一步,在驱动入口函数 driver entry 中,首先要调用 i'll create device, 这个函数负责创建一个设备对象,代表我们的驱动将要控制的磁盘设备。你需要指定设备类型、设备扩展大小、设备名称等参数。有了设备对象, 驱动才能被系统识别。第二步,为了让应用程序能够访问这个设备,通常要调用 i o create symbolic link 创建一个符号链接,把内核中的设备名称映射到用户太可以访问的 win 三二路径,比如 dos devices 下的某个盘符。 第三步,如果你的驱动需要工作在现有磁盘驱动之上,比如做一个过滤驱动,那么就要调用 i o attach device to devices tech。 这个函数会把我们刚创建的设备对象挂载到磁盘的设备站上,这样所有发往底层磁盘的 i o 请求都会先经过你的驱动。现在设备对象已经就位, 接下来就要处理真正的读写请求了。当应用程序发起读或写操作时,系统会生成一个 ip 并发送到设备站。你的驱动需要在相应的分发函数中处理这个 ip。 在 分发函数里,你首先需要调用 i'll get current r e stack location, 获取当前设备站位置 对应的 r r p 站单元。从这个单元中你可以提取出读写的偏移量、长度、缓冲区等信息。然后你需要构建一个新的 r p 来向下层磁盘驱动发送请求。最常用的函数是 i'll build synchronous i add request, 它可以构造一个同步的读写 ip。 注意,这里要根据操作类型指定 ip mg red 或者 i r p m j right, 同时把上层传来的缓冲区、偏移和长度填入。构建完 r p 之后,就要调用 iuc driver。 这个函数是核心中的核心,它的作用就是把刚刚构造好的 i r p e 发送给设备站中下一层的驱动。调用 i o call driver 之后,你的驱动就暂时交出控制权, 等待下层驱动完成。实际硬盘 i o。 由于我们构建的是同步请求,所以需要等待 i o p e 完成。这时要调用 can wait first angle object 等待一个事件对象,这个事件对象是在你构建 airpay 与时关联到 ip 中的。当底层驱动完成 isle 并调用 isle complete request 时, 这个事件会被触发, carry the first ingle, object 就 会返回。当等待结束后,你需要检查 r p 的 完成状态,判断硬盘读写是否成功。之后,必须调用 i l free ip 来释放你之前构建的 ip, 避免内存泄露。 最后别忘了处理最初的上层 ip。 你 要把执行结果和读到的数据复制回原始 ip 的 缓冲区,然后调用 i o complete request, 告诉系统这个 ip 已经处理完毕。至此,一次完整的硬盘 i o 操作就结束了。以上就是在 windows 内核驱动开发中进行硬盘 i o 操作所涉及的 主要 api 函数及其使用顺序。从 i o create device 创建设备,到 i o car driver 发送请求,再到 i o complete request 完成请求,每一步都有对应的函数。记住这个流程,你就能在内核世界里 稳稳地操控词盘了。感谢您的聆听,我们下期再见!

设想一下,当你坐在电脑前,行云流水的移动鼠标,打开一个个窗口,一切看起来是不是顺滑的理所当然。但其实啊,你眼前看到的这个精美的桌面,说白了仅仅是个前台的视觉幻想。 我们平时早就习惯了这种流畅,可你要是往幕后看,哇哦,那里实际上藏着一个极其复杂、纪律严明到令人发指的超级交响乐团,正在每一毫秒里疯狂运转呢。 在今天的这期深度解析里,咱们就来彻底撕开这层幻象,一起钻进 windows 那 盒那个充满魔力的幕后世界,看看这台庞大的机器到底是怎么转起来的。 好,咱们直接切入正题,想象一下,你的电脑里其实存在着两个完全平行的世界。在左边,也就是所谓的 win 三用户模式。这是你和你的应用程序,比如记事本啦,浏览器啦,平时待的地方。 在这个区域,规矩极其严格,权限卡的死死的,他们想直接碰一下底层硬件,绝对没门,他们就像是被关在一个极其安全的沙盒里。 但是你看看右边润陵内核模式,这就是无所不能的内核幕后世界了。住在这里的操作系统核心,对整个系统的所有硬件拥有绝对的说一不二的控制权。 这两个事件那是精卫分明啊,为什么呢?为了保险起见吗?这样一来,就算你的记事本儿彻底卡死,碰会了整台电脑也不至于跟着一起完蛋。 那你可能就要问了,既然被死死关在沙河里,这些应用程序到底怎么跨过这条红沟,让硬件真重动起来去干活儿呢? 秘密就在这儿,系统调用,也就是 cisco, 你 可以把它看作是一张极其关键的闪闪发光的 vip 后台通行证。 当你的程序真需要硬件当把手,比如读个硬盘,或者在屏幕上画点东西,它就会甩出这个指令。就在这一瞬间,注意了, cpu 立刻踏过门槛,瞬间从用户台跃入内核台。一场严密精准而且绝不容许有半点差错的幕后大邪作就此拉开帷幕。 那么,这个复杂的核能到底长什么样呢?其实非常有意思,我们可以把这个看似极其庞杂的那核结构,想象成咱们非常熟悉的四根核心支柱。如果把 windows 比作一个全年无休的百老汇大剧院,那这四个组建就是你的幕后王牌制作团队。 h l 是 包揽一切脏活儿。雷回的剧场技术部维纳赫,也就是 kano, 是 掌控大局的执行导演 executive 曾呢,是维持日常运转的豪华管理天团。最后驱动程序就是咱们为了完成特殊任务专门请来的外援专家。 这四大金刚齐聚,零零的舞台,紧密协作,只要有任何一个人掉链子嘚儿,整场演出立刻拉闸终止。 咱们先来认识第一根支柱 h a l, 也就是硬件抽象层。它可是处在操作系统的最底层,也是整个系统里唯一需要亲自下场去跟那些乱七八糟、千奇百怪的物理硬件打交道的部门。 你可以把它当成一个终极的万能转接头。你知道的,市面上有成百上千种不同的主板、芯片、处理器架构,对吧?但有了 h a l, 它就能把这些让人头疼的硬件差异全部抹平,并且对内核的其他部分完美隐藏起来, 它等于是在片上面的系统。放心吧,你一直运行在一台标准化的完美电脑上呢。 为了方便理解,你可以把 h a l 想象成一个超级物流中心的卸货月台调度员。 你看,它主要包揽了这四大核心任务,不管是把核心下达的通用指令精准翻译成具体的硬件操作,还是管理极其精确的时间戳,或者是协调整个系统的时钟,甚至去搞定最底层的 p c i 总线访问, h a l 都能轻松拿捏。 也就是说,不管开进这个物流中心的是什么牌子、什么型号的卡车, h a l 都能用统一的标准黑化去指挥上面的叉车手。这么一来,高层领导就根本不需要去操心那些底层物理层面的鸡毛蒜皮了。 接下来就是咱们的第二大支柱,微核内核儿代码里通常管它叫 kernel, 很多人可能会觉得,既然是操作系统的中枢纽,那它肯定是个体型庞大、极其复杂的巨无霸吧? 其实完全不是这样,微软把最核心的这一块打磨的极其紧凑,非常清亮。他绝对不是什么臃肿迟缓的官僚机构,而是一个极其精干,耳朵上戴着耳麦,手里紧紧攥着秒表的执行导演。他只做一件事,用变态级的精确度掌控整个系统的运转节奏。 这位导演办事那是绝不废话,他只盯着这三件最核心的事。第一,残酷的县城调度。他要在多达三十二个优先级里决定接下来的几毫秒内,到底哪一个县城有资格使用 cpu。 第二,中断分发。一旦硬件突然发出信号,他必须火速把这个请求分配到合适的级别去处理。第三,多处理器同步。他被在底层搞定多核之间的同步机制,防止不同的 cpu 核心抢资源打起来。 你看,微内核更能没空管演员今天化了什么妆,他只确保最关键的演员在最精确的那一毫秒,分毫不差地站在舞台正中央, 好让我们顺着微能核而打下的基础继续往上看来,看看这一切是如何搭建起来的。 这就迎来了第三层, executive, 大 名鼎鼎的执行体。这就是那个由大量部门组成的豪华管理天团了,他们在内核模式下提供了系统的大部分上层服务。 如果说微能和是死钉秒表的执行导演,那么 executive 就是 剧场里管灯光、管音效、管安保的各路部门主管。他们人多势众,负责把操作系统里那些繁杂的功能实打实地落地执行, 这简直就是高度智能化运作的完美典范。你看这几个部门对象管理器就像个铁面无私的仓库大管家,系统里的万物都归他管,给他们发放巨柄 内存。管理器呢,超级大方,给每个进程画一张巨大无比的虚拟内存大饼。 i o 管理器活托托一个忙碌的物流枢纽,疯狂地路由着各种数据。 同时,进程和县城管理器负责安排新演员上场或者下台配置,管理器则在后台默默支撑着那个庞大的注册表。最后还有严苛的安全引用监视器,死死守住安全检查站。 这些部门个个身怀绝技,各司其职,但有一点,他们绝对无条件服从微内核的指挥调度。 现在核心拼图还剩下最后也是极其关键的一块设备驱动程序,咱们为什么非得需要他们呢? 其实啊,刚才提到的 i o 管理器,仅仅是搭起了一个通用的物流框架。要想把数据精准无误地放到特定设备手里,比如你刚买的最新款显卡或者网卡,咱们就得请外援了。 这些驱动程序就是硬件厂商或者第三方特聘过来的,拥有绝火的领域专家。打个比方,这些驱动程序就像是高级后厨大师或者是披萨专员, 功能驱动直接跟特定硬件对话,比如使唤你的高速 nvme 硬盘过滤驱动呢,就像个禁止的保安或者杀毒软件,半路拦截并检查请求,看看有没有家带私货。 总线驱动,负责在 usb 和 pci 通道上清点到底连了哪些设备。还有文件系统驱动,专门负责把抽象的文件操作翻译成磁盘上实打实的物理扇区,它们带着各自的独门兵器来到内核空间,全听主厨的调遣,为你的电脑带来了无限的硬件扩展可能。 接下来,让我们把这一切串联起来,上演好戏。 control s 的 故事 咱们已经认识了所有的幕后工作人员,现在是时候看他们怎么打一场完美的配合战了。当你写完文档按下 ctrl s 保存的那一瞬间,一场六步接力赛立刻以光速开跑。 第一步, word 向系统喊话要求保存。紧接着第二步,关键的 cisco 瞬间带你跨越边界,冲进 rio 的 核心世界。第三步, i o 管理器立马接手,把请求打包成一个 i o p 数据包扔给驱动层。 第四步, n t f s 驱动负责把高层请求翻译成词典,听得懂的扇区操作。第五步,更底层的 mini park 驱动接力跟上。最后第六步,通过哈尔铺好的底层通道,数据被狠狠地写进了你的物理硬盘。 最不可思议的是什么?在这电光火石之间微壳后还在疯狂切换着后台,无数个现成确保你正在听的音乐,连半个音符都没有卡顿,简直绝了! 所以啊,了解完这些,我们绝对需要重新认识一下那个让所有人血压飙升的东西。蓝屏死机 老师说,很多时候,蓝屏根本不是因为 windows 系统本身出了岔子,而是因为在这个 ring 零的核心舞台上,所有的组建,尤其是第三方驱动,都握着最高级别的生杀大权。 一旦某个外聘来的大师级驱动犯了魂,比如试图去写一块受保护的内存,内核的安全机制就会瞬间触发。 内核的态度特别刚烈,就好像在说,熊底,我已经拼老命在编你兜底了,但是有个外援自己绊倒了,实在带不动啊,为了保护你的核心数据不被毁,教他宁愿立刻拉闸停电给你甩个蓝色的笑脸,也绝对不会妥协半步。 从最底层的硬件翻译,到精确到毫秒的导演调度,再到庞大的管理天团和身怀绝技的外援, windows 内核绝对是一部极其精密、极其克制又充满着优雅美感的软件工程杰作。 所以下次当你在漫不经心的按下保存键或者秒开一个大型程序的时候,脑海里会不会浮现出这个隐形的正在为你疯狂演奏百万指令交响乐的幕后世界呢?感谢大家收看咱们这期的底层解析,保持这份好奇心,咱们下期再见!

大家好,欢迎来到本期深度解析,今天咱们要来一次极其硬核的下潜,我们要潜入操作系统的最深处,去看看在咱们电脑里面那个根本看不见的战场上,到底在发生什么。 怎么样?准备好一起揭开 windows 内核的神秘面纱了吗?在咱们正式潜入之前,我想先问大家一个非常直接甚至有点扎心的问题,到底是谁真正在控制你的电脑? 是你手里握着的鼠标吗?还是那些隐藏在屏幕背后深不可测的底层代码? 这其实就引出了咱们计算机架构里一个绝对核心的概念,权限级别。 好,那咱们就直接开始吧。今天的解析会分这几步走,首先是通往内核的旅程,接着聊聊 windows 驱动程序基础,还有神奇的内存映射魔法。然后我们会深入探讨那些不可思议的 rootkit 以及它们的隐身技术。 最后咱们再一起进入数字犯罪现场,学学怎么调时蓝屏死机。第一部分,通往核心内核的旅程,公共街道与地下金库 其实啊,为了保证系统的安全和稳定,现代操作系统在架构上都是严格分层的。你想想看,在三十二位系统里,从零一直到零 x 七 f f 一 f f f 这个庞大的地址范围全都属于用户模式。 这就好比是一条受限制的公共街道,咱们平时用的各种普通应用都在这儿老老实实地排队运行,但是一旦跨过零 x 八零零零零零零这条线,情况就完全不一样了, 这就进入了内核模式,一个高度戒备、拥有绝对权力的地下金库操作系统的核心程序和驱动全都在这儿发号施令。来到我们的第二部分, windows 驱动程序基础,看看怎么赋予开发者底层访问权限。 既然地下金库如此戒备森严,那硬件厂商和软件开发者要怎么合法的跨越鸿沟,进入这个特权区域呢? 答案大家肯定都不陌生,那就是驱动程序。说实话,微软在这方面可是下过血本了,改进的 早期的 w d m 时代,那简直就像狂野的西部一样,开发过程极其复杂,开发者还得手动处理急插急用和电源管理,一不小心系统就崩了。不过从 vista 时代开始,微软推出了现代化的 w d f, 他非常聪明地把那些要命的底层细节封装成了对象,甚至还贴心地拆分出了运行在科那的 k m d f, 以及跑在用户空间的 u m d f, 这可是帮开发者省了天大的麻烦,也大大降低了系统崩溃的风险。 第三部分,内存硬射魔法跨越这道虹沟这块真的是极其硬核,及其有趣, 咱们来看看开发者到底施展了什么魔法,能把数据安全地搬过隔离墙。首先要调用 i o allocate mdl 创建一个内存描述符列表。 紧接着这一步很关键哦,用 m m probe and lock pages 把这些内存页死死锁定在物理内存里,绝对不让系统把它们换出去。然后通过 m m get system address for mdl safe, 安全地拿到 kernel 的 映设地址。 到了这一步,才算是万事俱备,可以用 r t l copy memory 执行真正的数据拷贝了。最后,千万千万别忘了用 m m unlock pages 和 i o free m d l 把锁解开,清理干净。你看,这是一个严丝合缝的安全链条,错一步都不行。 接下来是第四部分,神奇的 rootkit, 带你领略核心的黑眼面, 万事皆有两面性,对吧?刚刚咱们聊的那些合法驱动所能获得的底层特权,其实正是那些恶意攻击者做梦都想得到的终极武器。这就不得不提 rootkit 了, 它可不是一般的恶意软件,它会彻底颠覆操作系统,深深潜伏在最底层,用来逃避所有杀毒软件的眼睛。 他们在内核空间里往往是直接拿着最高的 nt authority system 权限为所欲为。像当年的 rustalk 和 tdss 那 些老牌 rootkit, 简直开启了所谓恶意软件的黄金时代,只要他们成功扎根,就能获得完美的隐身能力和对系统的拥有控制权。 第五部分, rootkit 隐身技术,操作系统的隐形斗篷,那么它们到底是怎么把操作系统骗得团团转的呢?你要知道,现在的 windows 可是有内核补丁保护,也就是传说中的 patch guard, 还有强制的驱动程序签名机制, rootkit 必须得越过这些高墙,它们用的是极其变态的拦截技术, 比如用 i d t hoking 劫持中断描述伏表,用 d q o m 直接在内存里随意捏造篡改内核对象,用 s s d t hoking 篡改系统服务描述伏表,甚至夸张到用 ms r hoking 去劫持特定的 cpu 模型寄存器。 这些技术本质上就是在半路截胡了操作系统的正常调用,直接把安全软件变成了瞎子。咱们来具体上就是在半路截胡了操作系统的正常调用,直接把安全软件变成了,多不可思议。 在 windows 里,每一个正在运行的程序都有一个叫 e process 的 结构体,里面包缠了一个双向链表。通过 d k o m 技术, rootkit 能干嘛呢?它可以像剪断绳子上的某个节一样,直接在内存里把自己的程序节点从 active process links 链表里给摘除出来。 结果是什么?结果就是任务管理器在顺藤猫瓜找程序的时候,会直接跳过它,这可是真正的凭空消失啊!可是权力的反面就是巨大的风险。 在内核空间写代码,就像是在万丈深渊上走钢丝,绝对没有任何容错率。正像这句经典引用说的, rootkit 里的任何一个小 bug 都会立刻触发蓝屏死机,零漏洞是最低要求。 说真的,哪怕这个写恶意软件的黑客只是手都打错了一个内存地址,受坏人的电脑就会瞬间崩溃,这不仅会导致攻击彻底失败,还会把它们精心隐藏了。犯罪现场整个暴露在阳光下。最后一部分第六部分,调试蓝屏死机,咱们一起进入数字犯罪现场。 所以啊,下次你再遇到那张让人活大的蓝屏时,不妨换个思路。这其实并不是系统的无能,而是操作系统在发现核心被恶意破坏时,为了保护你不被完全接管,壮烈的拔剑自稳了。 而在他自尽的那一瞬间,他会给你留下一份无价的遗产。 d m p 内存转储文件,这就是一个被绝对冻结的坑派快照里面包含了死亡那一刻的停止信息,所有加载的驱动处理器的状态,还有每一个县城的调用堆站, 对防御者来说,这就是追查真凶的终极犯罪现场。那安全法医们到了现场第一步怎么做呢?首先,用功能无比强大的 windows 调试器 win dbg 加载这个 dot d n p 文件。 接着,一定要设置好微软的官方型号路径。这一步可以说是灵魂,它能把那些咱们看不懂的十六禁制、内存地址统统翻译成能看懂的函数名。最后,敲下 analyze v 这个超好用的自动分析命令, 系统就会顺藤摸瓜,精准地指出到底是哪个写的烂的驱动,或者是哪个潜伏的 rootkit 引发了这场灾难。 当然,有时候光靠自动分析是远远不够的,你得亲自下场深挖这几个快速列出的 windy bug 命令,就是法医手里最锋利的解剖刀。用 reload 和 lm 来重新加载和检查模块, 用 d t 去查看那些复杂的数据类型,比如刚才那个被篡改的 e process 链表,用 x 去检查特定符号,用 k 看看崩溃瞬间,到底是谁掉了谁。最后,用 process 和 thread 深入扒开正在执行的上下文, 只要你熟练掌握了这些,你就能在科那的废墟里,硬生生地把那些隐藏的幽灵给揪出来。 好了,随着咱们这次深度解析接近尾声,我想留给大家一个问题,仔细想想,你的系统核心现在真的觉得安全吗? 咱们一路走来,从安全的用户层一直下潜到了掌握生杀大权的核心层,看到了开发者怎么用 api 搭建桥梁,也目睹了 rootkit 如何在阴影里操控一切,更见证了防御者怎么通过蓝屏转处进行绝地反击? 这真的是一场在你每天盯着的屏幕最底层时刻爆发着的隐形高能战争,希望今天这次硬核之旅能让你对你的电脑有个全新的认识,非常感谢大家的收看,咱们下期深度解析,不见不散!

好,那么咱们正式地进入到 minifiler 的 这个专题课程啊。呃,咱们第一节课啊,先了解一下这个咱们文件系统的基础和什么 minifiler 的 这个架构啊。嗯,它跟这个文记文件啊系统有什么关系? 那么首先啊,首先咱们如果要是从这个文件系统这个视角来看的话,首先咱们先从啊,比如说这个用户的应用啊,这种应用 a p i, 那 么它会调用什么?比如说这个 create file 啊,还有这个 red file, 还有 red file, 对 吧? open 啊,不是, 就是关于这这种这个对什么文件的这种操作,哎,都会调这种 v 三二的 api, 对 吧?那 v 三二 api 通过什么系统调用之后呢?会调用到什么?会调用到咱们的这个本地的就是内核的 api nt 开头的 create file, 对 吧? 哎,这是一个哎调用过程,这之前咱们都很熟悉了,对吧?那么它再往下呢?它还会要干嘛?调用咱们的 i o 管理器的这种 api, 那 这片这个 api 呢?它会产生一个什么? i r q 的 这个生成,那么 a i r q 咱们之前其实已经 接触过了,在什么?在这个驱动通讯那一块啊,咱们其实已经写过了,我特意把它给翻出来,咱们来看一下啊,回忆一下, 这是当时咱们在写这个,呃,通信的时候,对吧?哎,咱们写的这个代码啊,如果这个印象不够深的啊,你可以回去看一眼那个 x 八六的那块的这个驱动通信。 那么咱们当时是什么?是通过什么通过这个 啊?这个设备设备控制 i o 控制啊,然后呢?传到什么?传到咱们的驱动,哎,这块,对吧?然后呢咱们通过什么?通过这里,呃,这里来接收啊,接收,那么这块就有一个什么 i r q 啊, i r q, 那么这个 i r q 呢?咱们来可以看一下啊。 呃,它是什么?它是咱们的这个 i o 的 请求数据包啊,它的英文缩写应该叫什么 i o 什么 request 的 什么玩意儿吧?啊? po po 它还是什么? 我找一下啊,忘了。 r 的 话应该是 pad, pad 啊,应该是 pad, 咱们来找一下啊, 这样方便咱们记,是吧?那这个 ikey 我 就在这儿直接标上了啊 啊?在这个咱们内核,哎,内核这个函数下边呢?它会调用什么?调用咱们的 i o 的 一个请求啊,那么 i o 请求完了之后呢?就会干嘛?进入到咱们的这个 mini filter 这个框架啊?这框架完了之后呢,就会调用 文件系统驱动,关于文件,关于文件的这些系统啊, n n t f s 还有这个像就咱们比如说咱们这个电脑啊,咱们这个电脑我看一下啊, 是吧?咱们,呃像这种词典,这种文件系统呢,就是都是什么 n t f s, 还有什么 fa f a t 啊这种这种文件。然后呢下边就会调用什么这个存储设备驱动啊,在下边就是硬件设备, 那么这块可能理解起来不是特别的容易理解啊,就是有可能这个你之前没有接触过硬件什么的,可能对这个, 呃,对这个硬件设备啊,还有包括下边这个存储设备驱动这块可能并不是特别的好理解,呃,咱们看一下, 我把它给标出来,好吧,方便这个大家理解。 首先呢咱们前面前面这几个应该就不需要了,对吧?不需要这个了解,因为之前咱们都已已经学过,对吧?咱们学内核啊,天天都是访问这种 nt 的 这种啊这种函数, 那么下边儿的话咱们来看一下啊从这儿 mini filter 啊这个框架啊这个框架开始咱们可以找什么呀?找这个关于它的系统 api 啊就是它框架 api 叫什么?叫做这个 mini 看一下有没有啊。 嗯就 这个啊这个 这我之前应该是有有打开过啊, 等等啊,我这有点噪音, 就烫啊就烫。呃这个,咳这个就是咱们的什么咱们的这个框架的啊这个啊这个文件啊这个文件, 那么它这里的话就是你 media filter 的 里边的函数都是在这这个这个文件里啊这个文件里那么下边还有什么?这个,呃系统什么文件系统驱动啊?文件系统驱动咱们也可以啊,找一下。 呃 n t f s 看下有没有有啊,像这个我这个电脑好像也没有复制过来也没有复制过来,还有什么 把它拿过来啊 啊还有什么还有这个 fa 关于这个文件系统的驱动呢都是这两个啊其实还有啊其实还有叫什么 我忘记了啊。但是呢应该是 这个这个也算啊这个也算 啊,你如果有兴趣的话你可以干嘛自己去打开什么这些呃文件呃这个文件啊这个文件自己去逆一下啊逆一下。 关于这个,哎文件系统的驱动呢就指的就是这些啊,那通过 mini filter 下边的话它就会可能就会调用这些啊这些文件,然后呢?哎紧接着到什么存储设备驱动啊存储设备驱动它也是啊,也是有一些,比如说咱们的这什么, 呃 有点卡 没完了是吧? the desk desk, 呃,像咱们这个词盘啊,词盘词盘这种驱动是吧?还有什么呢?还有咱们的,呃,比如像你们后边可能会用到啊,就是像这种, 呃这种 point, 到时候你们再做那个,再做鼠标啊,模拟鼠标之类的可能会用到这种这种东西 啊,尽管它不是这个鼠标的啊,但是呢它是属于什么?它是属于这种存储的这个存储存储端口啊,存储端口啊这种, 那么哎关于硬件设备呢?它可能就是比如说像咱们的这个啊这种哎,哎硬盘啊这种,哎虚拟,哎虚拟 这种都属于什么硬件啊?硬件设备大概就分为这这些。 好,那么关于咱们 mini filter 呢?它其实啊它其实呢是什么?它是基于什么? filter? manager 啊? manager 啊,这个什么,哎 由它这个框架来干嘛?基于它这个框架进行开发的,那么其实 mini filter 咱们翻译过来其实就是一个这个微的这个微型过滤器啊,微滤微型过滤器,那么像这个就是什么?就是它已已经传统的那种就是,哎过滤管理器这种啊, 那么它是比较简单并且容易开发的啊。然后呢?哎它是主要是用于什么?哎?文件系统操作前后进行什么?进行拦截和修改? 呃简单可以就这么去理解啊。然后呢它这里啊还有一个, 他有一个跟这个,呃传统的这种呃过滤过滤驱动呢,有一个这个对比啊,对比就放在这了啊,你可以自己去参考一下,可以去看一下,其实他有很多的呃优点,但,但是呢也有缺点,也有缺点,他并不是这个完美的。 呃,好,下边儿的话,咱们来了解一下 minifiler 的 工作流程啊。呃,首先呢,咱们刚才已经了解了这么一串儿的这个什么一个流程啊,那么咱们现在从 minifiler 里边儿去看啊,首先呢咱们干嘛?哎?调用什么 create file 这种 api 啊?然后呢 它会干嘛?它会,哎,经过咱们的这个叫做什么?叫做咱们的 mini filter 这个框架啊。然后呢咱们可以干嘛可以进行这个拦截这种请求,比如说你是创建文件还是这个读或者写这种文件呢?咱们都可以拦截。 然后呢他有一个前置啊,前置回调,也就是说,比如说你在创建之前就是没有创建成功啊,没有创建成功也是创建之前啊,进行一个前置回调,咱们可以在这进行拦截。 如果啊这里过去之后呢,这里干嘛?他系统就会干嘛进行一个文件系统的这个处理,真正的处理处理完了之后呢,他有个什么后置的回调函数, 那么咱们也可以干嘛将它的这个后置回调函数进行一个拦截或者修改,最后呢将这个结果返回到给什么给这个应用层,或者给这个 请求方啊,谁请求的咱们就返返回给谁,这就是咱们的 mini filter 一个大概的一个工作流程啊,其实很简单啊,并不复杂。 那么如果你想这个了解啊,比如说,呃更详细的去了解它的一个呃应用或者是一个概念的话,你可以来读这个叫什么 内核安全,这个与驱,呃与驱动开发。这这篇啊,里边有讲啊,有讲啊,像关于这个文件系统微过滤驱动这一块啊,也就是咱们的 mini filter, 还有就是咱们的 internal, 这个 windows internal 这块儿,它应该是有一个文,呃,文件的系统这块儿,然后 我记得它这里好像也提过, 咱们来找一下啊。啊,它这里也也有提, 像这个就是什么,整个的,咱们的什么,呃,整个的一个架构图啊,架构图, 这是关于内存这块的,这个架构图可能看起来有点复杂啊,我们再看一下啊,这是系统监测是吧?啊?这个进程监测 这里提,但是提的并不多啊,提的并不多,你可以去自己去参考去看一下, 这个就是咱们的一个 mini filter, 这个工作工作流啊,然后呢?关于这个 a r t 啊,这里有有写它是什么,它是什么?它是这个系统用来描述 i o 请求的这个数据结构,也就是咱们的这个请求包啊,请求包文, 哎,每当什么?每当这个应用进行文件操作时,哎,系统就会创建一个 i r p 啊,可以理解成什么?每次咱们访问文件,不管你是干什么,它都会升上一次这种请求, 那么在技术站,它会在什么?这个驱动站中啊,从上而下的传递,那么其中包括什么?包括咱们的请求类型,对吧?之前咱们有有了解,比如说 咱们之前写的这个通讯,通讯驱动,对吧?那么它在这里咱们来看一下 a r p, 对 吧?然后 m g, 然后 create 啊,这个创建对应的是创建函数,那这个函数呢?咱们是干嘛?哎,打开设备啊,打开设备,还有什么 close 啊,关闭设备啊,都是一一对应的,也就是这种。 呃操作类型。然后还有什么?还有这个关于他的这个文件的对象啊,文件对象里边会包括什么文件的各种信息,包括他的什么?包括他的这个路径和访问权限啊, 紧接着呢?还有什么?呃,缓冲区的这个长度,包括返回状态,还有这实际传输的这个字节数,咱们之前都有有写过,对吧?这种是状态,对吧?这是返回的这个应该是返回的字节数啊。 啊,那这块呢?我也写,呃,写出来了,对吧?就关于它的一些这个常用的一些,呃,它的操作类型啊,对比啊,它的这个什么什么样的操作对应什么样的这个,哎,文件请求类型啊, 那么咱们经常用到的就是什么?就是咱们的这个 code 啊,还有这个读跟写啊。 好,那么它的回调处理流程呢?我大概在这里也分了一个, 也画了一张图啊,意思就是说这是什么?这边是,哎,预先的这种回调,就是咱们在处理 请求之前啊,真系统真正处理请求之前啊,前置回调,那么它会干嘛?哎?要检测这个权限拦截操作,进行这个修改,然后呢?记录日期啊,然后呢?这个它后边 后边这个回调呢?经常会是用到什么检测检测结果,还有就是修也是修改数据啊,清理资源统计分析的话,不一定啊,不一定。好,那么 这里咱们先不用看啊,咱们先不用看,等到真正开发的时候咱们咱们再回来看这个东西。好,然后呢? minifilter 的 这个实际的应用场景呢?哎,主要是用用于这么几个场景,大概了解一下就可以了啊, 它的这个用用处还是比较广泛的。 那么这节课呢,主要咱们就先了解一下 minifilter 的 大概的一个概念啊,在脑子里边有个印象,对吧? 然后呢下节课咱们来进行深入啊,深入呢去理解这个 mini filter。

人一定要强大自己,内核驱动,如何强大自己?多学知识,学完知识之后多实践,反复锤炼,把知识融入到自己的身体里,变成自己的本领,周而复始,能力便会一点点提高。 说起来简单,但做起来特别难,因为学习知识是一个苦中作乐的过程,前期会特别苦涩,你能不能坚持下来,把知识学到身上之后,进行实践的过程更是一个浴火重生的过程, 反复催炼,反复打磨,见证一下自己的知识是不是适合,自己,所学的知识是不是有用,把有用的知识融入到自己的骨血里,变成自己的本事。 当你能力提高之后,你再看周边的人,你会有不同的看法,你再看周边的事物,你会有不同的想法。 能力提高之后,以前你许多想而不得的东西会自动登门。

哈喽,大家好,欢迎来到超迷频道,前段时间比较忙,视频停更了,非常抱歉让大家久等了,今天开始我将恢复视频更新, 那么今天我就用这台双网口 me 魔方小主机安装误班图,这台小主机可以安装无线网卡,我准备了英泰尔 ax 二幺零 和螃蟹无线网卡,稍后进行安装。我这里使用 wintoy 和 v p e 制作系统,启动优盘,相应的构件和工具在官网已经下载好了,放在了这里, 系统和工具都可以在官网中 直接下载,这是温推的官网,这是 vpe 的官网乌班图,当前最新的乌班图是二十二点零四点三, 我们 m 一小主机安装这个二十二点零四点三,二点五 g 二十六,网卡和无线网卡可以直接使用旧版本的,比如十八点零四,需要升级内核安装驱动才能正常使用。仪态网和无线网, 这里可以下载旧版本,英特尔官网中有相应的说明,我们来看一下。 二二六,网口 需要内核五点十六点一八以上英特尔 wifi 六 a x 二幺零需要内核五点十以上,这里是无线网的驱动,点击可以下载。 这里是无版图内核,我们找到五点十六点一八,英特尔叉八六下载这个 a m d 六十四, 这四个分别点击下载。接下来我们制作 wintoy 系统优盘, 打开 wintere 文件夹,运行 wintere 程序,确定插入的 u 盘, u 盘内有重要数据,记得备份, u 盘会被格式化 好。制作完成,我的电脑就可以看到制作好的 winter a u 盘,我们把工具和固件拷贝的 winter a u 盘 好的拷贝完成,接下来我们把小主机接通显示器和鼠标键盘,开始安装系统。 显示器键盘、鼠标和 wintoy u 盘都插上小主机后,开机按 f 七,进入 u ufi 引导,选择 u 盘回车。 我的硬盘里面安装了有系统,为了避免安装时出现意外错误,先使用 v p e 删除硬盘所有分区, 双击分区工具 discogenius, 选中硬盘右键,删除所有分区,确定保存,更改,重启系统会自动进入 win。 先安装乌斑图二十二点零四,默认 insta 回车, 选择中文简体,点击安装默认继续,没有特殊的需求,这里保持默认。点击继续继续,现在安装继续。 点击这里的地图,地址栏会出现上海,继续这里创建用户名和密码。 继续啊,等待系统自动安装。 安装完成,点击重启啊,拔掉 u 盘,然后按回车键确定 这里。跳过 右键,我们打开终端查看一下内核输入命令 um 杠 r 内核是六点二啊,输入命令查看一下网络设备, 可以看到我们的无线网是螃蟹的 b 八五二,以太网是双网口, 连接一下 wifi, 先把以太网关掉 啊, wifi 连接正常,关闭 wifi, 使用以太网连接网络,以太网连接正常。 接下来关机,换上英特尔的 a x 二幺零网卡,看一下是否正常。已经换上英特尔 a x 二幺零无线网卡,我们来查看一下网络设备 network, 英特尔 wifi 六、 a x 二幺零 wifi 连接正常,以太网连接正常。接下来关机,安装乌斑图十八点零四,我已经删除了硬盘分区,现在安装乌斑图十八点零四, 这里需要注意,不能选择第一个,默认是演示,我们选择第二个 install 版图, 接下来的安装和乌斑图二十二点零四的步骤一致,我这里就快进跳过。 好,我们到设置中看一下, 没有 wifi 驱动,也没有网络,接下来需要升级内核,然后安装 wifi 的驱动,我们查看一下内核版本。 五点四,那我们要升级内核,我们把 u 盘中的无线网卡驱动和内核复制到桌面, 接下来打开内核文件夹,右键在中单中打开, 我们复制粘贴这段命令,升级内核。 回车,输入密码,这里不会显示,输入完成,回车即可啊,自动解压安装, 这里的错误可以忽略,我们输入 rebot, 重启 啊,重启后我们的以太网就可以正常使用了,这里显示已连接。接下来安装英特尔 a x 二幺零无线网卡驱动,打开驱动文件夹,右键在中单中打开, 我们复制粘贴这段代码。 回车啊,输入密码,输入完成之后回车即可,这里不会显示密码。 好,我们的 wifi 驱动已经打上,选择网络连接 已经连接成功。那螃蟹的网卡呢?没有驱动,嗯,乌斑图十八点零四就用不了螃蟹的无线网卡。 本期视频到这里就结束了,感谢大家的关注和评论, 我们下期再见。


linux 内核是个红内核,驱动和内核是编译在一起的,所以导致内核源码中驱动越来越多。每一个开发版,每一个 cpu 架构的平台都可以把自己的代码加入到内核主线中,这样会导致内核臃肿吗? 从原码的角度看,确实增加了很多文件。同样是一个 rtc 驱动,在 drivers rtc 目录下,你会看到上百家公司芯片或开发版的 rtc 驱动,但在实际运行时只编译进去一个,一点也不臃肿。刚好我总结了一些嵌入式资料,放在视频结尾, 同样在二指目录下有支持不同 cpu 架构的 bsp 代码,但是在实际编译运行时也是只编译进去一个,也不会臃肿。随着设备术引进内核,内核中跟硬件相关的一部分代码被踢出去放到 设备数文件中,内核也做了相当一部分瘦身。所以内核并不臃肿,而是在迭代过程中不断抽象分层,形成各种各样的子系统和框架,兼容越来越多的平台和硬件设备,留给驱动开发人员的编程接口越来越友好。 最近很多小伙伴找我说想要一些单片机学习资料,然后我根据自己从业十年经验,熬夜搞了几个通宵, 精心整理了一份单片机入门到高级教程加工具包,点个关注,全部无偿共享给大家。大家可以查看我的主页简介信息就可以拿走,你过来呀!