64位内核开发第四讲,查看SSDT表与showSSDT表
SSDt表与ShadowSSDT表的查看.
一丶SSDT表
1.什么是SSDT表
SSDT表示系统服务表,我们ring3调用的很多函数都会调用这个SSDT表
2.查看步骤
1.使用 x命令
前提需要加载好符号.
x nt!kes*des*table*

KeServiceDescriptorTableShadow是ShadowSSDT表
KeServiceDescriptorTable是SSDT表.
2.查看地址的值
使用dd命令可以查看这个地址里面值.如下.

首先可以看选中的位置.这个是SSDT表的起始地址. 后面*0x11C
是这个表的个数
我们可以使用dds命令来查看这个表.
dds命令可以看第三讲.关于windbg调试命令
dds Address L11C
这个命令的意思就是显示地址里面值指向的地址. 以4个字节显示.
显示如下:

如果你有符号.则可以看到这些地址里面后面指向的函数名
可以使用 uf 来反汇编这个函数的所有汇编

二丶ShadowSSDT表
1.什么是ShadowSSDT表
ring3的所有GUI会调用的到这个表格中.
2.如何查看.
System系统进程是没有加载ShadowSSDT表的.所以我们必须切换到调用GUI的进程空间中查看.
1.在系统中运行 mspaint 画图工具
2.在windbg中中断.
3.输入命令.查看系统所有简要信息
!process 0 0
4.找到mspaint的EPROCESS结构.切换到这个进程上下文
.process /p EPROCESSADDRESS
5.使用x命令查找ShadowsSSDT
x nt!*kes*des*table*
如下:

6.查看shodowSSDT

shodowSSDT 跟SSDT挨着.上面查看SSDT的时候 shodowSSDT没有加载
所以没有.所以现在看一看下.如上图. 有起始地址.跟大小.
不管是SSDT还是shodowSSDT表.都是有这个表的大小.
在32位下.函数地址是4个字节. 所以用表的大小 / 4 = 函数个数.

这个表中的函数都是做绘图用的.
三丶工具介绍
Process Monitor
工具是进程监控工具.可以监视所有进程活动.
现在的火绒剑也是可以.
如下图;
微软下载地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procmon
工具界面

可以设置过滤器.进行过滤.比如我只想看进程创建.如何操作.
Process Explorer

微软下载地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
这个工具则可以实时查看进程.并且可以挂起进程.等操作进程.
64位内核开发第四讲,查看SSDT表与showSSDT表的更多相关文章
- 64位内核开发第六讲,Windbg调试ring3跟Ring0.一起调试
目录 驱动第六讲_Windbg连续调试Ring3.与Ring0 一丶Windbg连调试 驱动第六讲_Windbg连续调试Ring3.与Ring0 一丶Windbg连调试 有时候我们调试一个程序.可以使 ...
- 64位内核开发第十讲,IRQL中断级别了解
目录 中断级别IROL了解 一丶IRQL 1.了解什么是中断 2.IROL中断级别. 3.遵守IROL编程规范的方式 中断级别IROL了解 一丶IRQL 1.了解什么是中断 中断就是产生的一个电信号. ...
- 64位内核开发第二讲.内核编程注意事项,以及UNICODE_STRING
目录 一丶驱动是如何运行的 1.服务注册驱动 二丶Ring3跟Ring0通讯的几种方式 1.IOCTRL_CODE 控制代码的几种IO 2.非控制 缓冲区的三种方式. 三丶Ring3跟Ring0开发区 ...
- 64位内核开发第十二讲,进程监视,ring3跟ring0事件同步.
一丶同步与互斥详解,以及实现一个进程监视软件. 1.用于线程同步的 KEVENT 事件很简单分别分为 事件状态. 以及事件类别. 事件状态: 有信号 Signaled 无信号 Non-signaled ...
- Win7 64位系统,IE11,如何让IE的Tab强制运行64位内核?
有些人在使用TerraExplorer Pro 7版本进行web二次开发的时候,常会遇到下面截图中这样的问题, 这个问题主要是因为安装的TerraExplorer Pro 7 版本是64位的,而模型运 ...
- 利用Code::Blocks搭建64位C++开发平台
0.前言 随着64位计算机的普及,编写64位程序成为程序员基本的要求.我在<体验Code::Blocks下的C++编程>中描述了利用Code::Blocks官方提供的封装了编译器的安装包( ...
- 64位内核注冊tty设备
在64位系统中,注冊tty设备须要注意的是,Android跑在EL0而且在32位模式下,kernel跑在EL1而且在64位模式下,不但内核须要打开CONFIG_COMPAT选项,非常多android上 ...
- ASP.Net在64位环境开发部署常见问题
越来越多的开发团队開始使用64位操作系统作为开发环境,也计划将应用部署在安装有64位操作系统的server上.对于ASP.Net开发人员来说.使用64位环境开发部署须要注意下面几个问题.可在项目过程中 ...
- win7win8 64位汇编开发环境合集安装与设置
win7win8 64位汇编开发环境合集安装与设置 下载 win7 win8 64位汇编开发环境.rar 下载地址(免积分下载) http://download.csdn.net/detail/li ...
随机推荐
- EasyARM-iMX283 安装NFS
1. 安装NFS软件包在 ubuntu 上请输入下面命令:[chenxibing@localhost ~]$ sudo apt-get install nfs-kernel-server[chenxi ...
- fatal:'origin' does not appear to be a git repository fatal:Could not read from remote repository
天gitlab中遇到的问题: 当 git push origin branch_name时遇到报错如下: fatal:'origin' does not appear to be a git repo ...
- vue和react之间的区别
1.Vue和React之间的区别 相同点: Vue和其他框架一样,都有组件开发和虚拟dom 都支持props进行父子组件之间的数据通信 都支持数据驱动视图,不直接操作真实dom 都支持服务器端的 渲染 ...
- Java 之 Servlet 体系结构
Servlet 的体系结构 体系结构示意图: 1.Servlet 接口 如果直接实现这个接口,需要重写里面所有的方法,但是只需要使用 service() 方法,其他的不常用. 2.GenericSer ...
- there is no route defined for key Agreement(react native bug记录)
调试react native的项目有一个报错: there is no route defined for key XXXX 它发生在我调试TabNavigator选项卡路由器的时候,我把如下代码的A ...
- Gradle3.0新指令api、provided、implementation等对比
Android Studio3.0正式版已经出来了,相比2.x的版本,Gradle版本也升级为了3.x,编译速度提高了不少. 在gadle3.0之后,默认的依赖由之前的compile更改为implem ...
- kafka环境安装及简单使用(单机版)
一个分布式发布-订阅消息传递系统 特点: 高吞吐量.低延迟 使用场景(举例): 日志收集:用kafka收集各种服务产生的log,通过kafka以统一的接口服务的方式开放给各种consumer,如had ...
- 微信小程序跑马灯效果--基于CSS3 animation 及 基于JS
如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 基于CSS3主要代码实现 效果图: 视图模板wxml中: <view class=&qu ...
- Python学习日记(十七) os模块和sys模块
os模块 1.os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 import os print(os.getcwd()) #C:\Users\Administrator\ ...
- kafka原理与组件
一.什么是kafkakafka的目标是实现一个为处理实时数据提供一个统一.高吞吐.低延迟的平台.是分布式发布-订阅消息系统,是一个分布式的,可划分的,冗余备份的持久性的日志服务.Kafka使用场景:1 ...