SSDt表与ShadowSSDT表的查看.

一丶SSDT表

1.什么是SSDT表

SSDT表示系统服务表,我们ring3调用的很多函数都会调用这个SSDT表

2.查看步骤

1.使用 x命令

前提需要加载好符号.

x nt!kes*des*table*

KeServiceDescriptorTableShadowShadowSSDT表

KeServiceDescriptorTableSSDT表.

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表的更多相关文章

  1. 64位内核开发第六讲,Windbg调试ring3跟Ring0.一起调试

    目录 驱动第六讲_Windbg连续调试Ring3.与Ring0 一丶Windbg连调试 驱动第六讲_Windbg连续调试Ring3.与Ring0 一丶Windbg连调试 有时候我们调试一个程序.可以使 ...

  2. 64位内核开发第十讲,IRQL中断级别了解

    目录 中断级别IROL了解 一丶IRQL 1.了解什么是中断 2.IROL中断级别. 3.遵守IROL编程规范的方式 中断级别IROL了解 一丶IRQL 1.了解什么是中断 中断就是产生的一个电信号. ...

  3. 64位内核开发第二讲.内核编程注意事项,以及UNICODE_STRING

    目录 一丶驱动是如何运行的 1.服务注册驱动 二丶Ring3跟Ring0通讯的几种方式 1.IOCTRL_CODE 控制代码的几种IO 2.非控制 缓冲区的三种方式. 三丶Ring3跟Ring0开发区 ...

  4. 64位内核开发第十二讲,进程监视,ring3跟ring0事件同步.

    一丶同步与互斥详解,以及实现一个进程监视软件. 1.用于线程同步的 KEVENT 事件很简单分别分为 事件状态. 以及事件类别. 事件状态: 有信号 Signaled 无信号 Non-signaled ...

  5. Win7 64位系统,IE11,如何让IE的Tab强制运行64位内核?

    有些人在使用TerraExplorer Pro 7版本进行web二次开发的时候,常会遇到下面截图中这样的问题, 这个问题主要是因为安装的TerraExplorer Pro 7 版本是64位的,而模型运 ...

  6. 利用Code::Blocks搭建64位C++开发平台

    0.前言 随着64位计算机的普及,编写64位程序成为程序员基本的要求.我在<体验Code::Blocks下的C++编程>中描述了利用Code::Blocks官方提供的封装了编译器的安装包( ...

  7. 64位内核注冊tty设备

    在64位系统中,注冊tty设备须要注意的是,Android跑在EL0而且在32位模式下,kernel跑在EL1而且在64位模式下,不但内核须要打开CONFIG_COMPAT选项,非常多android上 ...

  8. ASP.Net在64位环境开发部署常见问题

    越来越多的开发团队開始使用64位操作系统作为开发环境,也计划将应用部署在安装有64位操作系统的server上.对于ASP.Net开发人员来说.使用64位环境开发部署须要注意下面几个问题.可在项目过程中 ...

  9. win7win8 64位汇编开发环境合集安装与设置

    win7win8 64位汇编开发环境合集安装与设置 下载 win7 win8  64位汇编开发环境.rar 下载地址(免积分下载) http://download.csdn.net/detail/li ...

随机推荐

  1. .NET/C# 检测电脑上安装的 .NET Framework 的版本

    原文:.NET/C# 检测电脑上安装的 .NET Framework 的版本 如果你希望知道某台计算机上安装了哪些版本的 .NET Framework,那么正好本文可以帮助你解决问题. 本文内容 如何 ...

  2. Javascript实现的智能消防栓状态监测画面

    系统需要添加智能消防栓模块.集成了一家采用NbIOT通讯的智能消防栓产品.由第厂家平台对接NbIot特联网平台,我们平台提供一个api从第三方平台接收消防栓状态,用SignlaR把状态推送到前端.需要 ...

  3. NEST analyze与mapping

    /// <summary> /// POST /_analyze?pretty=true /// POST /employee/_analyze /// </summary> ...

  4. 【转载】关于SimpleDateFormat安全的时间格式化线程安全问题

    想必大家对SimpleDateFormat并不陌生.SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调 ...

  5. 【阅读笔记:散列表】Javascript任何对象都是一个散列表(hash表)!

    什么是散列表? 散列表是Dictionary(字典)的一种散列表实现方式,字典传送门 一个很常见的应用是使用散列表来表示对象.Javascript语言内部就是使用散列表来表示每个对象.此时,对象的每个 ...

  6. DQL 查询表中的数据

    DQL 查询表中的数据:查询语句(最复杂的语句)不会对数据库中的数据进行修改,只是一种显示数据的方式 语法格式: select 字段列表 from 表名列表 where 条件列表 group by 分 ...

  7. vscode编辑器中文乱码问题

    设置配置自动格式化: "[javascriptreact]": { "editor.defaultFormatter": "esbenp.pretti ...

  8. MySQL Lock--gap before rec insert intention waiting

    在事务插入数据过程中,为防止其他事务向索引上该位置插入数据,会在插入之前先申请插入意向范围锁,而如果申请插入意向范围锁被阻塞,则事务处于gap before rec insert intention ...

  9. 部署python项目到linux服务器

    最近用Python写了个外挂,需要部署到Linux环境的服务器上,由于之前本地开发时使用virtualenv,使用这个虚拟环境有个好处是项目中依赖的库不会是全局的,只在当前项目的目录下有效,因为我是M ...

  10. [dev][nginx] 在阅读nginx代码之前都需要准备什么

    前言 以前,我读过nginx的源码,甚至还改过.但是,现在回想起来几乎回想不起任何东西, 只记得到处都是回调和异步,我的vim+ctags索引起来十分吃力. 几乎没有任何收获,都是因为当时打开代码就看 ...