- 在笔者上一篇文章`《驱动开发:内核枚举LoadImage映像回调》`中`LyShark`教大家实现了枚举系统回调中的`LoadImage`通知消息,本章将实现对`Registry`注册表通知消息的枚举,与`LoadImage`消息不同`Registry`消息不需要解密只要找到`CallbackListHead`消息回调链表头并解析为`_CM_NOTIFY_ENTRY`结构即可实现枚举。 在笔者上一篇文章`《驱动开发:内核枚举LoadImage映像回调》`中`LyShark`教大家实现了枚举系统回调中的`LoadImage`通知消息,本章将实现对`Registry`注册表通知消息的枚举,与`LoadImage`消息不同`Registry`消息不需要解密只要找到`CallbackListHead`消息回调链表头并解析为`_CM_NOTIFY_ENTRY`结构即可实现枚举。
- 在笔者前面有一篇文章`《驱动开发:断链隐藏驱动程序自身》`通过摘除驱动的链表实现了断链隐藏自身的目的,但此方法恢复时会触发PG会蓝屏,偶然间在网上找到了一个作者介绍的一种方法,觉得有必要详细分析一下他是如何实现的驱动隐藏的,总体来说作者的思路是最终寻找到`MiProcessLoaderEntry`的入口地址,该函数的作用是将驱动信息加入链表和移除链表,运用这个函数即可动态处理驱动的添加和移除问题。 在笔者前面有一篇文章`《驱动开发:断链隐藏驱动程序自身》`通过摘除驱动的链表实现了断链隐藏自身的目的,但此方法恢复时会触发PG会蓝屏,偶然间在网上找到了一个作者介绍的一种方法,觉得有必要详细分析一下他是如何实现的驱动隐藏的,总体来说作者的思路是最终寻找到`MiProcessLoaderEntry`的入口地址,该函数的作用是将驱动信息加入链表和移除链表,运用这个函数即可动态处理驱动的添加和移除问题。
- 在 Java 的核心库中,集合框架可谓鼎鼎大名:Array 、List、Set、Queue、HashMap 等等,随便拎一个出来都值得开发者好好学习如何使用甚至是背后的设计源码(这类文章也挺多,大家上网随便一搜)。虽然 Go 语言没有如此丰富的容器类型。 序列容器序列容器存储特定类型的数据元素。目前有 5 种序列容器的实现:arrayvectordequelistforward_list这些... 在 Java 的核心库中,集合框架可谓鼎鼎大名:Array 、List、Set、Queue、HashMap 等等,随便拎一个出来都值得开发者好好学习如何使用甚至是背后的设计源码(这类文章也挺多,大家上网随便一搜)。虽然 Go 语言没有如此丰富的容器类型。 序列容器序列容器存储特定类型的数据元素。目前有 5 种序列容器的实现:arrayvectordequelistforward_list这些...
- String源码分析(三) String源码分析(三)
- 题目已知函数 signFunc(x) 将会根据 x 的正负返回特定值:如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。返回 signFunc(product) 。示例 1:输入:nums = [-1,-2,-3,-4,3,2,1]输出:1解释:数组中所有... 题目已知函数 signFunc(x) 将会根据 x 的正负返回特定值:如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。返回 signFunc(product) 。示例 1:输入:nums = [-1,-2,-3,-4,3,2,1]输出:1解释:数组中所有...
- 前言时至今日,如果你想当一名程序员,入门学习编程。你有众多的开发语言可以选择,从 Tiobe 编程语言趋势版可以看到,比较流行的有:Python、C、C++、Java、C#、JavaScript、SQL、Swift...做选择从来不是容易的事情,所以你可能会问,我该学哪一门语言?在我们问自己该学哪一门语言之前,不如再往前追问一句:为啥会有这么多语言?其实,每一门语言被设计出来都是有原因的,都... 前言时至今日,如果你想当一名程序员,入门学习编程。你有众多的开发语言可以选择,从 Tiobe 编程语言趋势版可以看到,比较流行的有:Python、C、C++、Java、C#、JavaScript、SQL、Swift...做选择从来不是容易的事情,所以你可能会问,我该学哪一门语言?在我们问自己该学哪一门语言之前,不如再往前追问一句:为啥会有这么多语言?其实,每一门语言被设计出来都是有原因的,都...
- 1 前言还记得在数据结构书中的 <T> 类型吗?本文带你看看了解这个泛型编程。泛型编程中,代码可以被处理成任何类型的对象。泛型编程与非泛型编程的区别是,数据的“类型”(通常标记为 T )没有被明确说明。泛型编程范式的掌握具有挑战性,因为它需要高度的抽象性(完全忽略数据的类型)。目前,C++(模板)、Java、C#,以及 Golang 都有对泛型编程的内置支持,并包括一个大型的通用集合和数据结... 1 前言还记得在数据结构书中的 <T> 类型吗?本文带你看看了解这个泛型编程。泛型编程中,代码可以被处理成任何类型的对象。泛型编程与非泛型编程的区别是,数据的“类型”(通常标记为 T )没有被明确说明。泛型编程范式的掌握具有挑战性,因为它需要高度的抽象性(完全忽略数据的类型)。目前,C++(模板)、Java、C#,以及 Golang 都有对泛型编程的内置支持,并包括一个大型的通用集合和数据结...
- Redis 简介Redis 是一个主要由开发者 Salvatore Sanfilippo(Antirez)开发的开源内存数据结构存储器,用于改进其网站的可伸缩性,可以用作数据库、缓存和消息代理等,可以在项目中结合着使用 Redis。Redis 有着丰富的数据结构、优秀的速度、齐全的功能,众多公司都在使用 Redis,它有着如下的特点:快速NoSQL 数据库支持众多环境Redis 是一个内存数... Redis 简介Redis 是一个主要由开发者 Salvatore Sanfilippo(Antirez)开发的开源内存数据结构存储器,用于改进其网站的可伸缩性,可以用作数据库、缓存和消息代理等,可以在项目中结合着使用 Redis。Redis 有着丰富的数据结构、优秀的速度、齐全的功能,众多公司都在使用 Redis,它有着如下的特点:快速NoSQL 数据库支持众多环境Redis 是一个内存数...
- 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~好久没更新数据结构相关的文章了,之前还遗留了优先级队列的文章,现在补上~ 一、优先级队列的应用优先级队列(堆):按照优先级的大小动态出队(动态指的是元素个数动态变化,而非固定)普通队列:FIFO按照元素的入队顺序出队,先入先出现实生活中的优先级队列 PriorityQueue 1.... 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~好久没更新数据结构相关的文章了,之前还遗留了优先级队列的文章,现在补上~ 一、优先级队列的应用优先级队列(堆):按照优先级的大小动态出队(动态指的是元素个数动态变化,而非固定)普通队列:FIFO按照元素的入队顺序出队,先入先出现实生活中的优先级队列 PriorityQueue 1....
- 七大排序之快速排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、《算法导论》中的分区思想快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。动图如下: 1.1 算法思想快速排序是20世纪最伟大的算法之一核心的思路就是分区分区值:默认选择最左侧元素pivot(当然... 七大排序之快速排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、《算法导论》中的分区思想快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。动图如下: 1.1 算法思想快速排序是20世纪最伟大的算法之一核心的思路就是分区分区值:默认选择最左侧元素pivot(当然...
- 七大排序之归并排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、算法思路归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表... 七大排序之归并排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、算法思路归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表...
- 大家好,我是CoderBin,本次总结了JavaScript中关于数组的一些常用操作,想学习其他方法或者深入学习这些方法的可点击前往 MDN-Array。 希望对大家有所帮助,谢谢!如果文中有不对、疑惑的地方,欢迎在评论区留言指正🌻 大家好,我是CoderBin,本次总结了JavaScript中关于数组的一些常用操作,想学习其他方法或者深入学习这些方法的可点击前往 MDN-Array。 希望对大家有所帮助,谢谢!如果文中有不对、疑惑的地方,欢迎在评论区留言指正🌻
- String源码分析(二) String源码分析(二)
- java.util.Set接口和java.util.List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了。与List接口不同的是,Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。Set集合有多个子类,这里我们介绍其中的java.util.... java.util.Set接口和java.util.List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了。与List接口不同的是,Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。Set集合有多个子类,这里我们介绍其中的java.util....
- 大数据基础之java常用API三(SimpleDateFormat类和Calendar类的使用) 大数据基础之java常用API三(SimpleDateFormat类和Calendar类的使用)
上滑加载中
推荐直播
-
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签