ssdt 表结构及hook的一般理解
1 Ssdt表的基本结构
KeServiceDescriptorTable 首地址:8055D700
0: kd> dd KeServiceDescriptorTable
8055d700 80505460 00000000 0000011c 805058d4
8055d710 00000000 00000000 00000000 00000000
8055d720 00000000 00000000 00000000 00000000
8055d730 00000000 00000000 00000000 00000000
8055d740 00000002 00002710 bf80c349 00000000
8055d750 f7aeaa80 863d0340 863650f0 806f70c0
8055d760 025d954c 00000000 c136d144 00000001
8055d770 04a0f484 01cdcd68 00000000 00000000
KeServiceDescriptorTable的起始地址为:80505460
第n个函数地址为:80505460 + 4 * N
第1个函数地址为:80505460 + 4 * 1
2 Ssdt hook的基本原理
HookOpenProcess测试从Windbg
- 找出KeServiceDescriptorTable起始地址
0: kd> dd KeServiceDescriptorTable
8055d700 80505460 00000000 0000011c 805058d4
8055d710 00000000 00000000 00000000 00000000
8055d720 00000000 00000000 00000000 00000000
8055d730 00000000 00000000 00000000 00000000
8055d740 00000002 00002710 bf80c349 00000000
8055d750 f7aeaa80 863d0340 863650f0 806f70c0
8055d760 025d954c 00000000 1ffd4a44 00000004
8055d770 63676d84 01cdcd6a 00000000 00000000
- 找出OpenProcess的地址
首先找出他的序号为 0x7a
则地址为: 80505460 + 4 * 0x7a = 80505648
修改OpenProcess的地址 为00001234(乱改的)
0: kd> ed 80505648 00001234
查看修改后的地址
0: kd> dd 80505648
80505648 00001234 805ee730 805ee394 805ab3d0
80505658 80615828 805c4baa 805cc696 805ee74e
80505668 805ee504 80617770 80646176 805ca4bc
80505678 805f8b10 805f473a 805f4926 805b93e8
80505688 8060f7e6 80577ed6 80617110 80617110
80505698 80540bc6 806113d8 80612038 8057ae64
805056a8 805bf61c 8057b1b2 8060f8ae 8057802a
805056b8 806168ac 8057ba1e 805d6c28 805a63c8
查看工具检测的结果
ssdt 表结构及hook的一般理解相关推荐
- 32位的SSDT表结构浅析
以win7 x86为例(x64就不是我等菜鸟玩的了) 预备资料: 本地系统服务的地址在内核结构中称为系统服务调度表(System Service Dispatch Table, SSDT)中列出.该表 ...
- HBase系列(一):HBase表结构及数据模型的理解
专栏:大数据核心原理与实践 HBase适用场景 首先在搞HBase之前我们要对其建立感性认识,其适用场景如下: 并发.简单.随机查询. (注:HBase不太擅长复杂join查询,但可以通过二级索引即全 ...
- 驱动开发:内核读取SSDT表基址
在前面的章节<X86驱动:挂接SSDT内核钩子>我们通过代码的方式直接读取 KeServiceDescriptorTable 这个被导出的表结构从而可以直接读取到SSDT表的基址,而在Wi ...
- X64驱动:读取SSDT表基址
前面的驱动编程相关内容都是在32位环境下进行的,驱动程序与应用程序不同,32位的驱动只能运行在32位系统中,64位驱动只能在64位系统中运行,在WIN32环境下,我们可以各种Hook挂钩各种系统函数, ...
- Activiti——数据表结构
备注: 本文转自:http://blog.csdn.net/hj7jay/article/details/51302829 转载目的在于个人学习使用,如有涉及著作权相关问题,请联系本人,本人将第一时间 ...
- zabbix数据库表结构简单解析
zabbix数据库表结构-持续更新 时间 2014-06-11 21:59:08 furion's blog 原文 http://www.furion.info/623.html 主题 MySQL ...
- 【Zabbix】 Zabbix表结构说明【转载】
本文转自[https://www.cnblogs.com/shhnwangjian/p/5484352.html] 参考文[https://www.cnblogs.com/learningJAVA/p ...
- 驰骋工作流引擎设计系列04 流程引擎表结构的设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理 ...
- hadoop元数据mysql中表字段_Hive 元数据表结构详解
元数据是基础,这篇文章值得一读. 本文介绍Hive元数据库中一些重要的表结构及用途,方便Impala.SparkSQL.Hive等组件访问元数据库的理解. 1.存储Hive版本的元数据表(VERSIO ...
最新文章
- 基于Springboot实现宠物医院综合管理系统
- 中国AI创业公司霸榜NeurIPS-AutoDL竞赛,冠军代码已开源
- 基于pygame的射击小游戏制作(一)让飞船动起来
- simpy报错RuntimeError: <Event() object at 0xxxxxx> has already been triggered
- [转]webkit webApp 开发技术要点总结
- 组态软件android版,昆仑通态组态软件
- 微软补丁日安全公告|11月份
- 2020年对口升学计算机应用模拟题,2020年江西省对口计算机试卷
- Android富文本编辑器
- 2021暑期实习:网易互娱游戏测试最新面经!
- LaTeX新手入门以及TeXlive和TeXstudio的安装使用
- fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory
- 利用转写软件进行高效记录
- 计算机没有检查到您的u盾,Win10检测不到U盾怎么办?
- ubuntu中查找文件后高亮_vim的高亮查找操作
- Ubuntu登陆不进去的一个原因
- Verdi的简单使用命令笔记
- FZU:I. Fire Game
- react-fetch详谈
- 力扣 338. 比特位计数