CSDN论坛 > 硬件/嵌入开发 > 驱动开发/核心开发

内核钩子的作用范围? [问题点数:20分,结帖人chelp]

Bbs1
本版专家分:0
结帖率 96.88%
CSDN今日推荐
Bbs2
本版专家分:207
匿名用户不能发表回复!登录|注册
其他相关推荐
Win64 驱动内核编程-28.枚举消息钩子
枚举消息钩子  简单粘贴点百度的解释,科普下消息钩子: 钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。 钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,鼠标钩子可以截获鼠标消息,外壳钩子可以截获启动和关闭应用程序的消息,日志钩子可以监视和记录输入事件。
恢复在WIN64上的SSDT钩子
原始位置链接:http://www.weixianmanbu.com/article/57.html  在上一篇文章里我描述了如何在Win64系统上实现SSDTHOOK,有SSDTHOOK,自然也有UNHOOKSSDT的方法,现在我就来讲一下如何实现UNHOOKSSDT。 要恢复SSDT,首先要获得SSDT各个函数的原始地址,而SSDT各个函数的原始地址,自然是存储在内核文件里的。于是,有
谈PHP中的钩子
钩子,英文为hooks。在程序中应用相当广泛,但是究竟什么是钩子呢?本人介绍一下目前本人对钩子的理解和相关心得。 假如有这么一段程序流: 帮助 1 2 3 4 function fun(){      funA();      funB(); } fun函数正常的执行顺序,肯定是执行完funA,然后执行
Linux Kernel 学习笔记10:hook函数
(本章基于:Linux-4.4.0-37) linux 内核中有一套hook函数机制,可在不同hook点位置监控网络数据包,并执行丢弃、修改等操作。网络防火墙就是通过此机制实现的。 注册注销hook函数: linux/netfilter.h 注册钩子函数: int nf_register_hook(struct nf_hook_ops *reg); 注销: void
Windows下的钩子
Windows下的钩子 2011-9-9 API钩子应用程序将kernel32.dll加载到自己的私有空间0x0001000~0x7FFE0000之间,所以本地进程只要能访问目标进程的地址空间,就可以直接重写kernel32.dll中或应用程序导入表中的任何函数。通过利用机器
内存屏障的作用:barrier()
在我看来,内存屏障主要解决了两个问题:单处理器下的乱序问题和多处理器下的内存同步问题。 为什么会乱序? CPU的流水线机制:流水线是并行的。比如说CPU有一个加法器和一个除法器,那么一条加法指令和一条除法指令就可能同时处于“执行”阶段, 而两条加法指令在“执行”阶段就只能串行工作。相比于串行+阻塞的方式,流水线像这样并行的工作,效率是非常高的。 然而,这样一来,乱序可能就产生
超级内核工具【专业版】
如果您对window系统不甚熟悉,您还是不要使用本工具,即使要使用,也不要用本工具胡乱操作。 基于以下原因,由本工具直接或者间接导致的问题,本人概不负责: 1.本人水平很菜,尤其是window内核方面,最多只能算个初学者,本工具也只是我最近学习的一个附属品 2.由于本人是window内核初学者,为了在内核写更多的代码,以提高本人水平,本人把尽量多的代码写在了内核层 3.最近比较忙,虽然本人在各系统里(2000/xp/2003/vista/2008)经过了仔细的测试,但还是难免有疏忽的地方 致谢: 感谢angel13th、backway、dl123100、曲中求、tawny2008、wolfwalk888(字母序排列)卓有成效的测试(建议),十分感激,没齿难忘。 改动说明: 2011-12-03 V0.45版本: 1.修正Win7上枚举Object Hook的时候一个潜在程序崩溃Bug(感谢曲中求等朋友的指出) 2011-11-09 V0.44版本: 1.加入导出所有日志功能(电脑体检) 2.在关于里加入了一个“爱心捐赠”信息(被某人说成行乞) 3.修正对象劫持检测部分对DR0下层设备的一个误报(感谢dl123100多次反馈,反馈了N次我都没改,不好意思) 4.修正了FC、XueTr群里以及卡饭网友反馈的一些Bug,再次表示感谢 2011-09-17 V0.43B版本: 1.修正0.43版本引入的一个可能导致少数机器死机的Bug 2011-09-12 V0.43版本: 1.修正端口枚举显示的一个Bug 2011-08-30 V0.42版本: 1.修正asm大牛反馈的一个枚举进程模块的Bug(由于更换DDK到7600版本,有个变量没及时变换导致) 2.处理了下这几天比较火的ZeroAccess Rootkit,避免XueTr被ZeroAcess恶意结束(我未分析这个病毒,感谢dl123100的分析并告知分析结果) 2011-06-25 V0.41版本: 1.新增对WinIO的检测(内核--->直接IO) 2.修正一个驱动逻辑上的Bug(感谢莫灰灰同学) 2.修正一个蓝屏(感谢dl123100、jackozoo等同学的反馈) 2011-06-06 V0.40端午节版本: 1.修正Win7 SP1端口枚举的Bug 2.处理文件畸形路径(包含对./..目录以及RLO路径的处理) 3.修正NTFS流文件枚举上的Bug(请开启物理磁盘分析功能) 4.修正驱动上的Bug(感谢dl123100、KiDebug等人直接或者间接意见) 5.修改了卸载驱动时的提示,卸载驱动是很危险的,请不要轻易尝试 2011-03-02 V0.39(本版dl123100提供了很多建议,不过由于某些原因很多都没有改,在此表示歉意,最近人懒了): 1.支持Win7 SP1,本还想支持WinPE系统,发现不好搞由于拉倒了 2.增加内核钩子扫描 3.增加Object Hook扫描 4.增加启动项枚举 2010-11-30 吾爱破解专版: 1.新增WorkerThread枚举,主要为了对付一些TDSS病毒(感谢dl123100指点思路) 2.新增一个XueTr使用帮助手册 3.修正一处LSP和安全模式修复功能的Bug 2010-10-01 0.37版本: 1.新增鼠标驱动Irp Hook检测 2.新增KeUserModeCallback函数使用的用户态_apfnDispatch函数数组Hook检测 3.新增LSP和安全模式修复功能 4.注册表部分新增查找隐藏项功能,并修正了注册表查找不好使Bug 5.修正几处Bug(感谢dl123100、JuncoJet等朋友的指出,由于现在在火车上无法一一列名致谢,抱歉) 2010-07-16 0.36版本: 1.增加GDT上调用门检测(内核标签的GDT项) 2.增加对TDSS病毒的DeviceObject、DriverObject对象劫持检测(内核标签的对象劫持项) 3.修复上个版本引入的一个可能导致Vista以上系统蓝屏的Bug(感谢dl123100的指出和帮助) 2010-07-07(又是一年7.7) 0.35版本:(本版本只是一个临时版本,修正上一个版本的一些Bug,有人已经在我Blog发飙了,抱歉) 1.去掉了XT启动时广为诟病的MBR检测,改到系统杂项部分自己点检测按钮检测 2.修正数字签名泄露内存Bug 3.修正Win7下禁止创建注册表键值的一个可能导致蓝屏Bug(感谢dl123100的指出和详尽分析) 4.修改了驱动通信加密算法,并用VMP加密了这部分代码,由于程序被加壳,可能导致少数AV报警 2010-05-16 0.34版本: 1.最近MBR病毒增多,因此添加了MBR Rootkit的检查(时间有限,有些地方没处理,不过检查StonedBootkit、Mebroot、鬼影还是没问题的) 2.早段时间IME劫持病毒泛滥,因此本版本加入了对IME的枚举 3.Classpnp\Atapi\Acpi Irp Hook枚举 4.针对最近流行的改IPSec和在桌面上建立无法删除IE图标的病毒,已把这两个注册表路径加入到注册表的快捷定位框(现在没兴趣自动过滤白名单检查,只能靠大家自己分析了) 5.修复几处Bug 2010-04-01 0.33版本: 1.新增进程定时器和热键枚举 2.看有少数病毒修改系统防火墙规则,因此添加了对系统防火墙规则的显示 3.修正几处Bug(感谢紫色秋枫、dl123100等朋友指出) 2009-12-20 0.32版本: 1.修正一处蓝屏(感谢dl123100指出) 2.修正一处对FAT分区..目录删除的失误(其实没修正,就是屏蔽不让删除..目录了,懒惰了,不想更新了) 2009-12-13 0.31版本:(截止到这个版本,除了日志输入,我想大家在杀病毒方面需求比较多的功能都加入了,因此这个工具也就告一段落了) 1.修正几个Bug 2.新增对常用文件关联的检测 3.新弄了个配置文件(详见配置文件,也可以把这个文件删除了) 2009-11-22 0.30版本: 1.修正两处蓝屏 2.加入颜色区别(进程部分,只有下方显示模块时候才会颜色区别有模块注入的微软进程) 2009-10-08 0.29版本: 1.新增对Win7(BuildNumber 7600)的支持 2.新增禁止切换桌面功能 3.新增禁止锁定计算机功能(测试发现Hook NtUserLockWorkStation不好用,没时间搞了) 4.Notify Routine中新增BugCheckCallback显示、移除功能 5.增强了Kernel Hook的处理(少数机器上会有误报,主要是当前值全是0的项,懒得去掉了,没时间弄了) 2009-07-07(七七事变) 0.28版本: 1.新增对IE右键菜单的操作 2.新增禁止修改系统时间功能 3.Notify Routine中新增CmpCallback显示、移除功能 4.修正一处Hive解析Bug(dl123100指出) 5.修正一处启动项枚举不全Bug(dl123100指出) 2009-05-28(端午节) 0.27版本: 1.支持vista sp2和win2008 sp2 2.修正无法枚举内嵌NULL字符注册表键Bug(感谢dl123100指出) 3.修正应用程序钩子扫描中,序号导出函数序号显示错误Bug(感谢海风月影指出) 4.本版还改了两个小地方,不表;另外也暂时实现了深山红叶建议中的2~3个,再此表示感谢! 5.修正无法强制删除exfat分区文件Bug(感谢pluto1313指出) 2009-04-27 0.26版本: 1.修正少数机器上提示"内存不足"Bug 2009-04-25 0.25版本: 1.解决有少数系统上无法加载驱动Bug 2.加入强制重启 3.支持安全模式 2009-04-10 0.24版本: 1.新增DPC定时器检测 2.新增全局模块卸载功能 3.丰富一些右键菜单 4.内核模块加入“加载顺序”显示 5.增强SSDT、Shadow SSDT、FSD、IDT、ObjectType Hook函数所在模块的查找能力 6.加入一个查看重启删除功能(文件部分树形空间右键菜单) 7.文件部分加入是否常规属性显示,新增"去掉系统、只读、隐藏属性"功能 8.修正FAT32磁盘分析的一个Bug 9.修正xp无补丁版本Shadow SSDT无法显示Bug 10.还有若干小改动,不表 2009-03-22 0.23版本: 1.消息钩子部分加入了线程Id和模块名的显示 2.端口部分对远程端口支持显示IP所在地(需要在XT所在目录下放置一个QQWry.dat文件,目前仅仅在简体中文操作系统上有这个功能) 3.加强了文件搜索功能 4.禁止创建注册表部分加入了对ring3导入Hive改注册表的防御 5.修正了一个驱动Bug 2009-03-15 0.22版本:(由于大家希望XueTr能有个中文名,我也不知道该叫什么,就取XT两个字母的中文发音吧"叉踢",记作“XT”) 1.XueTr界面语言开始支持繁体中文,在繁体系统自动显示繁体界面 2.文件部分增加搜索文件功能(树形空间右键菜单) 3.修正启动项userinit.exe文件厂商空白Bug(感谢qdk2000和dl123100指出) 4.修正Object钩子中"仅显示挂钩函数"功能无法正常显示Bug(感谢十二羽翼指出) 5.修正服务中无法删除服务残留注册表信息Bug(感谢曲中求指出) 2009-03-01 0.21版本: 1.修正SPI名字少一个字母Bug(感谢dl123100指出) 2.修正检测到可疑驱动对象会显示服务名Bug(感谢dl123100和曲版指出) 3.修正数字签名把smss.exe检测为没有签名bug(感谢qdk2000指出) 4.几个窗口可以最大化了 5.支持进程和dll模块分上、下两层同时显示(在进程部分右键点"在下方显示模块窗口") 6.修正xueTr清除ppxx回调时程序假死Bug 7.新增禁止创建注册表键(值) 8.新增删除文件时候占坑功能 9.新增查看文件锁定情况功能 2009-02-16 0.20版本: 1.支持windows 7(由于win7还处于beta阶段,我也不知道它的确切Build号,现在默认大于6900是win7,目前程序可以在Build:7000的系统上正常运行) 2.加入数字签名,进程部分右键菜单--->查找没有数字签名的模块,会扫描系统中所有进程的模块 3.线程部分也有点改动,加了线程入口所在模块 4.防了消息钩子模块对XueTr的注入(可能会导致一些美化的系统中,XueTr的界面变丑,暂时不想处理这个问题了),另目前无法防止App_Inits模块的注入,这个暂时不想加了(加这个需要大改动,以后有时间会考虑) 5.对抗伪进程Id 6.XueTr启动的时候,会检测是否有线程注入到XueTr,并给出提示 7.内核模块部分,对有对应服务的,显示的时候会显示出其服务名 8.还修改了几个Bug,不表 2009-02-05 0.19版本: 1.新支持对exFAT文件系统的解析 2.新增了结束进程时候删除进程文件 3.对一些有文件全路径的地方,增添了文件厂商属性 2009-02-02 0.18版本:(本版更新纯是为了解决系统挂机Bug而临时升级的一个版本) 1.增强了启动项检测 2.进程部分右键菜单增加了查找进程模块功能 3.解决了内核模块检测部分的误报可疑驱动对象Bug(感谢dl123100指出) 4.解决了程序非正常结束,下一次启动系统死掉Bug(感谢dl123100和angel13th指出) 2009-01-30 0.17版本: 1.增加了卸载消息钩子 2.增加了枚举窗口,和对窗口的操作 3.增加了禁止待机、注销、关机和重启功能 2009-01-26 0.16版本: 1.界面语言自适应(在中文操作系统上是中文,其它操作系统是英文) 2.注册表部分引入了Hive分析,默认是不开启,如果要使用可以用"使用Hive分析"菜单,选择了这个就不会用驱动获取注册表了 3.加了自我保护 4.增加禁止创建进程、线程、文件以及禁止加载模块和消息钩子模块注入功能 5.改了几个界面的小问题,我的界面写作能力很菜,不表了 6.还增强了下内核模块钩子检测(还有提升空间,不想搞了) 2009-01-17 0.15版本: 1.进程部分,加入了挂起、恢复进程(线程)功能 2.文件部分加入了NTFS、FAT32、FAT16文件磁盘解析,本功能默认开启,可以用"开启物理磁盘分析"菜单关闭 2009-01-06 0.14版本: 1.新增ObjectType Hook检测功能(这个功能的实现参考了sudami写的文章,感激) 2.修正无法列举移动存储介质(U盘等)里的文件bug(感谢annybaby指出) 3.修正File和Rigister显示界面,当多次最小化最大化后,树形控件宽度逐渐变窄bug(感谢li58指出) 2009-01-02 0.13版本: 1.调整界面 2.新增操作IE插件、SPI、启动项、服务、映像劫持、Host文件等功能 3.修正一处filter显示bug(感谢dl123100指出) 2008-12-22 0.12版本: 1.解决在装有微点机器下全是白板的问题 2008-12-11 0.11版本: 1.修正有些机器全是白板问题 linxer 2008-12-10于深圳
php中的钩子理解及应用
钩子函数可以截获并处理其他应用程序的消息。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。 钩子是编程里一个常见概念,非常的重要。它使得系统变得非常容易拓展,(而不用理解其内部的实现机理,这样可以减少很多工作量
什么是钩子,钩子的原理
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可
关于Window7/8/10 兼容层与钩子系统兼容问题
Win7 以来,微软增加了安全性 ..... 此处省略一万字 同时增加了一个叫兼容层的东西 , 简单来说,就是由一些钩子处理程序,目的是为了兼容老程序在新系统上运行. 更简单的说法,WIN7 增加了些新东西,势必导致API的变化,有增加的,也有减少的,也有变化的,那么问题来了,对于API变化的,原来在XP上正常运行的程序,到WIN7上可能就用不了了,为了让操作系统有更好的兼容性,微软做了这个兼
关闭