利用CmRegisterCallback函数在Windows下保护注册表项

windows 驱动开发基础(三) 注册表回调 参考工程路径:C:\WinDDK\7600.16385.1\src\general\registry\regfltr 关于 Transaction (事务),Enlistment(登记)对象的介绍https://docs.microsoft.com/zh-cn/windows-hardware/drivers/kernel/handling-rollback-operations 1.注册表回调使用 // // Register the callback // 函数原型 ... 阅读详情

一般在Windows下保护注册表有以下几种方法:

 

1. Ring3 hook 

 实现简单。可利用微软的Detour库,第三方的mhook库,或者自己实现。

 但是如果是做产品的话不得不考虑兼容性的问题,纵使周知,大量的病毒、木马和恶意程序使用同样的方法来隐藏或者保护自身

 的注册表项和键值,基本上所有基于行为监控的安全类软件都会向用户报告此类程序为恶意程序。

2. Ring0 hook

 原理和Ring3 hook基本上一致,但是因为实现在内核层,不用插入动态链接库到每一个进程中,所以一般的安全类软件都不会

 提示用户。但是从VISTA64位开始,微软在64位系统的内核中加入了PatchGuard机制,来保护系统关键代码和位置不被修改

 和破坏。而需要hook的SSDT表就在PatchGuard的保护之下,虽然已经有办法绕过PatchGuard, 但是考虑到兼容性问题,

 不建议采用这种办法。

 有关绕过patchguard的文章,可参考

 http://www.codeproject.com/KB/vista-security/bypassing-patchguard.aspx

 

3. 利用CmRegisterCallback或者CmRegisterCallbackEx注册回调函数,推荐使用这种方法。支持XP以后的系统,同时支持

   32位和64位。

 

驱动开发:内核监控Register注册表回调 中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过。其中对于注册表最常用的监控项为以下几种类型,当然为了实现监控则我们必须要使用之前,如果使用之后则只能起到监视而无法做到监控的目的。需传入三个参数,参数一回调函数地址,参数二空余,参数三回调句柄,微软定义如下。,那么只有当注册表被创建才会拦截,此时就会变成拦截创建。 阅读详情

相关推荐

奇安信Windows客户端面试复盘:系统底层与自保护机制核心考点

Windows系统编程是客户端开发的基础,安全软件对稳定性与对抗性的要求则将其推向更深层次。理解进程/线程管理、内存分配与释放、注册表与文件系统操作等底层原理,是构建可靠Windows应用的前提。在安全客户端场景中,这些技术被用于实现进程保护、文件过滤和自保护机制,例如设计卸载验证流程时需平衡权限控制与用户体验,常涉及卸载密码与强制退出防护。同时,面向企业批量部署的静默安装、Windows自动化等需求,也依赖命令行参数、计划任务和UAC机制的熟练运用。本文以奇安信Windows客户端开发工程师面试为线索,复

weixin_33483304的博客 231

windows驱动 - 注册表回调

0x00 函数 CmRegisterCallbackEx() //回调函数绑定 CmUnRegisterCallback() //注销注册表回调 NTSTATUS ExCallbackFunction(PVOID CallbackContext,PVOID Argument1,PVOID Argument2) //注册表回调,具体内容看文档 0x01 代码 #include <ntifs.h> #include <ntddk.h> #include <wdm...

qq726232111的博客 1322

C++杀毒软件核心引擎开发:架构、关键技术与安全实践

在系统级软件开发领域,性能、资源控制和底层访问能力是核心诉求。C++以其零成本抽象、直接内存操作和与操作系统API的无缝对接能力,成为实现这类高要求应用的理想选择。其技术价值在于能够构建出对性能、稳定性和安全性有极致要求的复杂系统,例如实时监控、高效扫描和内核级防护等关键模块。在应用场景上,这尤其体现在安全软件、驱动开发和嵌入式系统等需要精细掌控硬件资源的领域。本文聚焦于使用C++构建杀毒软件核心引擎,深入探讨其分层架构设计,并解析如**文件系统过滤驱动(Minifilter)**和**内存映射文件**等关

chuange6363的博客 541

RegistryCallback routine(CmRegisterCallback 注册表操作监控介绍)

RegistryCallback routine 过滤器驱动程序的常规RegistryCallback可以监视,阻止或修改一个注册表操作。 句法 C ++ EX_CALLBACK_FUNCTION RegistryCallback; NTSTATUS RegistryCallback( 标签:APIWinHTTP PVO

whatday的专栏 4996

ntoskrnl ntoskrnl.exe Win2003系统文件

ntoskrnl ntoskrnl.exe Win2003系统文件

ntoskrnl.exe.c 导出函数 常用2000 个内核函数名

//CmRegisterCallback 监控注册表 //CmRegisterCallbackEx 监控注册表 //PsRemoveCreateThreadNotifyRoutine //取消线程拦截 取消线程监控 //PsRemoveLoadImageNotifyRoutine //取消模块拦截 取消模块监控 //PsRestoreImpersonation //PsResumeProcess //PsReturnPoolQuota //PsReturnProcessNonPagedPoolQuota //PsReturnProcessPagedPoolQuota //PsRevertThreadToSelf //PsRevertToSelf //PsSetContextThread //设置线程环境 //PsSetCreateProcessNotifyRoutine //拦截进程 //PsSetCreateProcessNotifyRoutineEx //拦截进程 进程监控 //PsSetCreateThreadNotifyRoutine //线程监控 线程拦截 //PsSetCurrentThreadPrefetching //PsSetJobUIRestrictionsClass //PsSetLegoNotifyRoutine //PsSetLoadImageNotifyRoutine 拦截模块加载 //PsSetProcessPriorityByClass

注册表回调笔记

NTSTATUS CmRegisterCallbackEx( PEX_CALLBACK_FUNCTION Function,//回调函数 PCUNICODE_STRING Altitude,//高度 PVOID Driver, PVOID Context, PLARGE_INTEGER C...

kernweak的博客 909

windows xp 原版ntoskrnl.exe

windows xp原版的ntoskrnl.exe,提取他原版的开机图片替换到你的SERVER2003系统

7.5 Windows驱动开发:监控Register注册表回调

在笔者前一篇文章`《内核枚举Registry注册表回调》`中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过`CmRegisterCallback`创建监控事件并传入自己的回调函数,与该创建对应的是`CmUnRegisterCallback`当注册表监控结束后可用于注销回调。

微软技术分享 1万+

ring0驱动内核级的ROOTKIT实现隐藏文件,隐藏注册表项,隐藏端口.zip

ring0驱动内核级的ROOTKIT实现隐藏文件,隐藏注册表项,隐藏端口.zip

VS2019 +osg3.6.5+ earth3.2+qt5.14.2+osgQt 编译教程

用vs新建工程,稍后会在写一篇博客上分享四、结语至此,所有的编译就均已完成。

king_ink的博客 1134

探索Windows安全监控的盲区:RealBlindingEDR如何实现无痕绕过

你是否曾想过,在Windows系统中运行一个程序,而安全软件却对它视而不见?想象一下,当所有安全监控都被暂时"关闭",系统仿佛进入了一个数字隐身状态——这正是RealBlindingEDR项目揭示的安全研究新境界。这个开源工具通过创新的内核回调清除技术,为安全研究人员提供了一个深入了解Windows安全机制本质的窗口。 ## 从监控到隐身:安全防护的盲区 现代端点检测与响应(EDR)系统如同2

gitblog_00236的博客 525

SAP BASIS运维之三方SSL证书导入

事情的起因是我司SAP使用的SSL证书即将要到期了(上一个的SAP BASIS也辞职了),需要进行证书的更换。如上图所示,我司的证书有效期到2024年4月30日到期,需要提前预防并更换,防止过期后导致接口和访问出现问题。9.在弹出的框中,选择我们在第5个步骤中导出的转换结果存储地址,并选择导出的转换文件,点打开。12.最后一步也是关键的一步,不然就会无法更新证书,再点击左上角的个人安全环境,点另存为。10.在打开后的弹窗中,输入我们在第4个步骤中设置的密码。6.经过以上步骤后,我们获得了最终的证书文件。

fegda的专栏 1885

AV进程杀不掉、文件删不了?用RealBlindingEDR内核回调清除致盲AV/EDR

当taskkill弹出"拒绝访问"、删掉的核心文件自己又变回来、注册表启动项被自动写回——移除安全软件时你会卡在这里。RealBlindingEDR直接清除AV/EDR注册的内核回调,让你有致盲、终止、永久关闭三种选择。 ## 它到底动了什么?——内核回调清除的原理白话解读 为什么杀软杀不掉、删不掉?Windows内核对每类关键动作都维护着一份"哨兵名册"。端点检测与响应(EDR)装上后,会用

gitblog_00723的博客 419

微磁模拟实战指南:从OOMMF安装到首个3D模型运行

本文详细介绍了OOMMF微磁模拟软件的安装与使用,从环境配置到首个3D模型运行的完整教程。涵盖Windows、Linux和macOS平台的安装避坑指南,以及MIF文件编写、并行计算优化等实战技巧,帮助研究人员快速掌握这一开源工具在磁畴壁运动、磁滞回线等微磁学问题中的应用。

weixin_29294597的博客 153

YOLOv8验证的命令以及计算coco指标

好久不看代码,都不知道怎么验证的了,来记录一下。1、计算coco指标。

毕竟是Shy哥 1481

RealBlindingEDR终极指南:如何彻底致盲主流AV/EDR?原理与实战全解析

RealBlindingEDR是一款功能强大的工具,它利用带签名驱动的任意地址读/写功能,能够实现对主流AV/EDR的彻底致盲、杀死或永久关闭。无论是360安全卫士、腾讯电脑管家,还是卡巴斯基、Windows Defender等,都能被它有效应对。 ## 🌟 RealBlindingEDR是什么?它能做什么? RealBlindingEDR是一个专注于对抗AV/EDR的工具。它通过清除多种内

gitblog_00764的博客 908

华为OD技术面真题 - JAVA开发 - 1

汇总华为OD技术面八股JAVA八股,高频技术真题并提供详细解答。

qq_45776114的博客 1203

OpenArk内核分析工具:从原理到实战的Windows安全与逆向指南

在Windows系统安全与逆向工程领域,深入理解内核机制是应对高级威胁和复杂软件分析的关键。内核是操作系统的核心,负责管理进程、内存、驱动和硬件等核心资源。其工作原理在于通过内核对象、回调机制和系统服务描述符表等数据结构,为上层应用提供运行环境。掌握内核分析技术,对于检测Rootkit、分析恶意驱动、排查系统级故障具有不可替代的价值,广泛应用于恶意软件分析、软件逆向、系统调试等场景。OpenArk正是这样一款强大的内核级分析工具,它通过直接读取内核对象管理器目录和遍历EPROCESS链表等底层方式,绕过了可

culuo8053的博客 432

【100%通过率】华为OD机试真题 Java&Go 实现【水库蓄水问题】【2022.11 Q4 新题】

给定一个长度为 n 的整数数组height。数组的元素表示山的高度,选择两个元素作为水库的边界,求蓄水量的最大值并输出蓄水量最大时的边界下标(蓄水量相同时输出下标较近的)。

MISAYAONE的博客 1万+

【以太网硬件一】802.3xx标准怎么这么多?它们有什么关系?

IEEE 802.3标准发展历史简介

highman110的博客 5017

Windows安全客户端开发:内核驱动、自保护与工程实践全解析

Windows客户端开发是系统级编程的重要领域,涉及C++内存管理、Win32 API、进程线程等核心机制。安全软件客户端更是对其的深度延伸,将普通客户端的终点作为起点,需要面对内核驱动、文件过滤、网络过滤、自保护机制等一系列底层挑战。从驱动开发到调试逆向,技术栈环环相扣,稳定性与兼容性工程贯穿始终。本文结合奇安信等安全厂商的实际岗位需求,剖析了安全客户端开发的五层知识结构,涵盖C++系统编程、Win32/驱动开发、UI选型、网络加密及调试逆向等关键技术点,并给出了从简历准备到面试冲刺的落地路径,为希望进入

weixin_31364787的博客 345

如何免费快速的部署一个自用免VIP的自动追剧工具!NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能(支持Windows,群晖nas,飞牛nas,软路由,服务器等Docker快速部署)

追剧党狂喜!豆瓣追剧神器,自动添加云盘,自动下载,微信通知,一键搞定!

XiaoqiangClub的博客 4584

正常请求为何被误判为攻击?揭秘提示词防护模型的过度防御难题

⚠️ 在部署大语言模型(LLM)应用时,许多团队都会引入**提示词防护模型**(Prompt Guard)来拦截**提示词注入**攻击,却常常遇到一个更棘手的问题:完全无害的正常请求被误判为攻击而遭拦截。**PIGuard** 就是针对这一"过度防御"痛点推出的开源提示词注入检测模型——基于 DeBERTa-v3-base 构建,能精准区分正常请求与注入攻击,在保持高检测率的同时大幅降低误报率。

gitblog_00374的博客 827

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

从原理到应用:RealBlindingEDR删除MiniFilter回调的技术深度剖析

RealBlindingEDR是一款专注于删除AV/EDR内核回调的工具,能够有效移除ObRegisterCallbacks、CmRegisterCallback、MiniFilter Callback等多种回调函数,为系统调试与研究提供便利。 ## 一、MiniFilter回调的核心作用与挑战 MiniFilter回调作为Windows文件系统过滤驱动的关键组件,如同系统的“安全卫士”,实时

gitblog_00155的博客 907

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

下一篇: 禁用USB存储设备
存储灾备AI
博客等级 码龄16年 203粉丝 18原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值