内核级HOOK要走到头了吗?Patching the kernel for x64-Based Systems

Win64 驱动内核编程-19.HOOK-SSDT HOOK SSDT     在 WIN64 上 HOOK SSDT 和 UNHOOK SSDT 在原理上跟 WIN32 没什么不同,甚至说 HOOK 和 UNHOOK 在本质上也没有不同,都是在指定的地址上填写一串数字而已 (填写代理函数的地址时叫做 HOOK,填写原始函数的地址时叫做 UNHOOK)。不过实现起来还是很大不同的。 一 、 HOOK SSDT     要挂钩 SSDT,必然 阅读详情
Patching Policy for x64-Based Systems
Changes in policy related to patching the kernel for the Microsoft Windows Server 2003 Service Pack 1 Operating System

Microsoft® Windows® Server 2003 SP1 and later versions of Windows for x64-based systems do not allow the kernel to be patched except through authorized Microsoft-originated hot patches. (In this article, "x64" refers to the 64-bit architecture used in AMD64 and Intel Extended Memory 64 Technology systems.)

Kernel-mode drivers that extend or replace kernel services through undocumented means (such as hooking the system service tables) can interfere with other software and affect the stability of the operating system. For x86-based systems, Microsoft discourages such practices but does not prevent them programmatically, because doing so would break compatibility for a significant amount of released software. A similar base of released software does not exist for x64-based systems, so it is possible to add this level of protection to the kernel without breaking compatibility.

Many system structures are protected on x64-based systems, including the system service dispatch tables, the interrupt descriptor table (IDT), and the global descriptor table (GDT). The operating system also does not allow third-party software to allocate memory "on the side" and use it as a kernel stack. If the operating system detects one of these modifications or any other unauthorized patch, it will generate a bug check and shut down the system.

For compatibility with Windows for x64-based systems, drivers must avoid the following practices:
•      

Modifying system service tables, for example, by hooking KeServiceDescriptorTable
•      

Modifying the IDT
•      

Modifying the GDT
•      

Using kernel stacks that are not allocated by the kernel
•      

Patching any part of the kernel (detected on AMD64-based systems only)

Drivers for other platforms should avoid these practices, to help ensure stability and reliability of the operating system and a better experience for customers.

If your driver must perform a task that you feel cannot be accomplished without patching the kernel, contact Microsoft Product Support Services or your Microsoft representative.

X64 HOOK IDT kd> dt nt!_KIDTENTRY64 @idtr + @@(sizeof(nt!_KIDTENTRY64))    +0x000 OffsetLow        : 0x44c0    +0x002 Selector         : 0x10    +0x004 IstIndex         : 0y000    +0x004 Reserved0        : 0y0 阅读详情

相关推荐

WIN64位驱动 InLine_HOOK框架

Win64 和 Win32 都可用的内核 InLineHook 框架,网上找的感觉都很麻烦, 这个感觉比较清晰明了, 但也有不足之处 就是修改函数头部时 不够完美;但是日常使用感觉足够了.

Windows Server 2008 R2安装CVE-2023-35359相关补丁问题及自动进入修复模式无法启动的问题处理

近日微软发布了Windows紧急高危漏洞“Windows权限提升漏洞”,漏洞编号为:CVE-2023-35359,在Windows Server 2008 R2安装过程中出现系列问题,并出现了自动进入修复模式无法启动的问题,本文记录了相关处理过程。

forestqq的博客 4419

修改MSR对syscall指令HOOK

修改MSR(lstar)对syscall指令HOOK. 本身在win7 x64 sp1使用VS2013开发。

漏洞预警 | Windows 文件资源管理器欺骗漏洞(CVE-2025-24071、CVE-2025-24054)

当压缩包内存在此类文件时,用户解压包含smb(文件共享服务)路径配置的libray-ms文件,会自动被windows资源管理器内置文件解析机制解析,将受害者的NTLM身份信息发送到攻击者smb服务器。攻击者可以利用该漏洞以管理员权限执行操作,包括但不限于创建新用户、修改现有用户的权限、安装恶意软件等。近日,微软发布windows操作系统更新修复漏洞,其中Windows 文件资源管理器欺骗漏洞(CVE-2025-24071、CVE-2025-24054)正被广泛利用,建议您及时开展安全风险自查。

C20220511的博客 1688

易语言 完美硬断源码

修改的硬断,完美支持某讯game,

水下机器人仿真平台选型指南:从AirSim到Unity3D的深度对比

本文深入对比了AirSim+UE和Unity3D两大水下机器人仿真平台的核心架构、传感器仿真能力和水下环境建模特点。AirSim+UE凭借高精度物理仿真和丰富传感器支持成为专业研发首选,而Unity3D则以快速开发和灵活扩展见长。文章为研发团队提供了全面的选型指南,帮助优化水下实验的仿真效率与成本。

weixin_29009669的博客 453

要查看你的系统是 x64(64位)还是 x86(32位),可以按照以下步骤操作

通过以上方法,你可以轻松地确定你的系统是x64(64位)还是x86(32位)。这对于安装软件、配置开发环境以及解决兼容性问题非常重要。

小丁的博客 1万+

如何点亮一颗sensor

要点亮一个sensor需要从,时钟、sensorI2C,供电,reset脚,mipi的配置几个方面一一确认。 reset脚拉高 给sensor的时钟有没有。(目前用到的常为24MHZ) 供电 查看sensor的数据手册,看有几个电源,用示波器量一下是否为手册规定的电压 比如:DVDD 数字电压: AVDD模拟电压 DOVDD芯片引脚出来的电压等为多少。 sensor的I2C能否抓到 将I2C的口对应上,用示波器量取i2c的波形。 检查有应答并且数据正确。读写地址是否正...

weixin_40787463的博客 3652

windows驱动读取gdtr_构建内核HOOK框架

构建内核HOOK框架2015-01-05 15:45:20阅读:0次感谢白帽子@0x01f的投稿,以下内容供安全爱好者参考学习,本文获得投稿奖励500元,即将打入作者账户,投稿请发送邮件至 huangyuan#360.cn。分析漏洞或者提取病毒行为,调试器是必不可少的,不过面对rootkit或者其它有驱动辅助的程序,OD或者windbg硬上可能会蓝屏,驱动级的anti还是不容小觑的;此外不少企业或...

weixin_36208265的博客 606

HFSS微带线仿真从零到一:材料参数与求解设置优化指南

在射频电路设计中,微带线仿真涉及电磁场求解与传输线理论,其精度高度依赖材料参数和求解设置。相对介电常数、损耗角正切和导体电导率等参数直接影响特性阻抗与插入损耗,而求解频率、网格划分和参数扫描则决定仿真效率与收敛性。合理设置这些参数可显著提升S参数准确性,避免设计迭代。应用场景包括天线馈线、滤波器和微波互连。本文基于HFSS微带线仿真实践,系统讲解材料选择与参数优化全链路,帮助工程师快速复现可靠模型。

weixin_29192211的博客 82

众灵科技24路舵机控制器二次开发实战(1)-STM32串口指令控制详解

本文详细介绍了如何通过STM32单片机对众灵科技24路舵机控制器进行二次开发,实现串口指令控制。文章从硬件连接、通信协议解析到STM32代码实战,手把手指导开发者打通控制链路,并重点讲解了如何调用预设动作组驱动六足机器人,为后续集成传感器、无线遥控等高级功能奠定基础。

weixin_29188997的博客 484

内核级HOOK的几种实现与应用

首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们 添加文章 English Version  文章分类  专题文章 漏洞分析 安全配置 黑客教学 编程技术 工具介绍 火墙技术 入侵检测 破解专题 焦点公告 焦点峰会  文章推荐  LSD RPC 溢出漏洞之分析 任意用户模式下执行 ring 0 代码 IIS的NSIISLOG.

ljtt的专栏 1227

国际参考电离层2020模型Matlab(IRI-2020)

国际参考电离层 (IRI) 是一个国际项目 由空间研究委员会 (COSPAR) 和国际 无线电科学联盟 (URSI)。这些组织组成了一个工作组 (在 60 年代后期产生了电离层的经验标准模型, 基于所有可用数据源 (几个稳步改进的版本 模型已经发布。电子密度、电子温度、离子温度、 离子组成(O+、H+、He+、N+、NO+、O+2、簇离子)、赤道垂直离子漂移、垂直电离层电子含量(vTEC;

weixin_44392003的博客 4884

linux内核态hook模块

linux内核支持动态加载module,今天不聊正常的module,只简单看一下实现Hook的module. hook通常翻译做劫持,不过这个翻译听起来让人不舒服,感觉有点恐怖,所以大家都是喊行话:hook. 上图是经典的堆栈式hook,也是splice典型的做法,在原有的流程中插入hook,更加典型的做法是栈在调用过程中从funcA->funcB变成了funcA->hook-&gt...

faxiang1230的专栏 4575

第二大脑的觉醒:一个寄生在代码里的小生命,如何悄无声息地接管我的工作流

所有记忆都存在本地。

步子哥的博客 1064

【RT-DETR有效改进】全新的SOATA轻量化下采样操作ADown(轻量又涨点,附手撕结构图)

本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块,其中YOLOv9针对于这个模块并没有介绍,只是在其项目文件中用到了,我将其整理出来用于我们的YOLOv8的项目,经过实验我发现该卷积模块(作为下采样模块)首先可以大幅度降低参数值,其次其精度上也有很高的提升,同时本文的内容目前网络上并无其它人总结(也是最新发布的,可以说BUff是集满了)大家可以尝试以下在自己数据集上的效果。

Snu77的博客 4774

hook API系列---理解内核hook

hook分为应用层hook 和内核级hook, 应用层的hook在这里不做讨论。 内核级的hook分为 1. ssdt  hook 2. inline hook  关于这两种hook举个比较形象的例子。  假如我是第一次进入A2大楼去财务科找小赵办手续, 在A2门口有一张大楼位置表 写着: 321 : 财务科 我的办事顺序是: 1. 去位置表

内核小菜的专栏 1336

零基础学simulink仿真建模--基于Simulink进行近端策略优化(PPO)路径规划的仿真建模

特点高效性与稳定性:通过引入剪裁机制,在更新策略时限制步长,从而提高了训练过程的稳定性和效率。适用于多种动作空间:可以处理连续和离散的动作空间问题。无需模型:不需要预先知道环境的确切模型,适合复杂或未知环境。挑战收敛速度与稳定性:确保算法能够在合理的时间内找到近似最优解,并保持训练过程的稳定性。探索与利用平衡:在探索新路径和利用已知信息之间取得平衡。计算资源:对于大规模状态空间和动作空间,计算资源需求较高。首先明确要模拟的任务内容。目标(例如到达指定地点、避开障碍物等)。

amy_mhd的博客 252

Windows NT 驱动程序开发人员提示——应注意避免的事项

下面是开发人员在使用 Windows NT 设备驱动程序时应当避免的事项列表: 1. 一定不要在没有标注 I/O 请求数据包 (IRP) 挂起 (IoMarkIrpPending) 的情况下通过调度例程返回 STATUS_PENDING。 2

人是会思考的一棵苇草 2091

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

另一种sysenter hook方法(绕过绝大多数的rootkit检测工具的检测)

作 者: 堕落天才时 间: 2007-04-14,11:09链 接: http://bbs.pediy.com/showthread.php?threadid=42705******************************************************************************标题:【原创】另一种sysenter hook方法(绕过绝大多数的root

1507

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VEH与SetUnhandledExceptionFilter

今日测试小收获: 优先级:VEH > SetUnhandledExceptionFilter 且若VEH处理完之后异常不会到SetUnhandledExceptionFilter 实验代码地址: https://blog.youkuaiyun.com/pomelozero/article/details/45061471 ...

qq_43445167的博客 358

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SetUnhandledExceptionFilter + StackWalker

http://blog.sina.com.cn/s/blog_648d306d0100qmca.html SetUnhandledExceptionFilter + StackWalker     这个方案需要自己动手往工程里添加代码了。要实现上面的想法,需要做两件事情:1、需要在crash时有机会对程序堆栈进行处理;2、对堆栈信息进行收集。     1、SetUnh

shuixin536的专栏 1499

x86 SYSENTER HOOK

准备资料:   自2000以后Windows系统不再用int 2e或通过IDT来请求系统调用表中的服务,而是使用快速调用方法fast call method.在这种方法中,NTDLL向EAX寄存器中加载被请求服务的系统调用号,向EDX寄存器中加载当前堆栈指针ESP。然后发出Intel指令SYSENTER。   SYSENTER指令将控制权传递给模型相关寄存器(Model-Specifi

XboxMicro 1922
上一篇: 应用和驱动之间用事件通讯的办法(转载)
下一篇: How to spawn console processes with redirected standard handles
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值