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 ...
最新文章
- 转: java学习路线图
- html里面onclick属性是什么,html中onclick事件属性定义与用法
- 第七个猴子java_黑猴子的家:Java SE 练习题第七章
- 线程的基本协作和生产者消费者
- 静态资源存储 vs 对象资源存储
- 服务器找不到硬盘如何解决方案,Linux云服务器磁盘不见了?解决方案在这里
- SpringMVC_跟踪请求
- 欢迎界面java_Linux命令行欢迎界面美化
- matlab_一组数据元素随机排列
- spark开发环境配置
- @PostConstruct 注解没有初始化
- [C#]写自己的类库
- HTML文档解析器 NekoHTML
- python爬取58同城的兼职信息
- pygame学习笔记——检测鼠标碰到、点击图片
- 教育资源平台空间装扮html代码,一看就会—— 河南省基础教育资源公共服务平台“人人通空间”...
- 女程序员开淘宝店兼职---详细注册成为淘宝商家步骤
- 高性能数据库引擎 CoolHash 产品宣言 Fourinone4.0版新特性(转)
- 机器学习算法之集成方法
- 客户成功—以客户为中心,为客户创造价值
热门文章
- SpringBoot高级-消息-AmqpAdmin管理组件的使用
- html2canvas截图页面中某块区域的图不全_截图操作千千万,唯舒适最重要!你更Pick谁?...
- Java Agent
- redis(11)--AOF持久化
- android分钟倒计时,Android 三十分钟倒计时
- 解决MySQL报错ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)
- Delphi的System.Str - 将数字格式化为字符串
- Linux watch 监控系统状态
- [CF475E]Strongly Connected City 2
- 面向连接的套接字通信工作流程