ssdt函数索引号_shadow ssdt 服务表函数索引
KeServiceDescriptorTableShadow地址的定位 ULONG g_ServiceTableOffsetInKThread = 0xE0;VOID GetServiceDescriptorTableShadowAddress()
{
//遍历线程
ULONG i;
NTSTATUS ntStatus;
ULONG thread;
for(i = 8; i < 32768; i += 4)
{
ntStatus = PsLookupThreadByThreadId((HANDLE)i, &(PETHREAD)thread);
if(NT_SUCCESS(ntStatus))
{
if(*(PULONG)(thread + g_ServiceTableOffsetInKThread) != (ULONG)KeServiceDescriptorTable)
{
g_ServiceDescriptorTableShadow = (PSYSTEM_DESCRIPTOR_TABLE_SHADOW)(*(PULONG)(thread + g_ServiceTableOffsetInKThread));
DbgPrint("Shadow SSDT Address:%p", g_ServiceDescriptorTableShadow);
ObDereferenceObject((PETHREAD)thread);
break;
}
ObDereferenceObject((PETHREAD)thread);
}
}
}g_ServiceTableOffsetInKThread的值,根据系统的不同,值会不同,获取方法kd> dt _kthread
ntdll!_KTHREAD
…
+0x0de NpxIrql : UChar
+0x0df InitialNode : UChar
+0x0e0 ServiceTable : Ptr32 Void
+0x0e4 Queue : Ptr32 _KQUEUE
+0x0e8 ApcQueueLock : Uint4B
+0x0f0 Timer : _KTIMER
+0x118 QueueListEntry : _LIST_ENTRY
…函数索引(以NtUserSetClipboardData为例)kd> dd nt!KeServiceDescriptorTableShadow L8
8055a6c0 804e36a8 00000000 0000011c 80513eb8
8055a6d0 bf997600 00000000 0000029b bf998310bf997600为KeServiceDescriptorTableShadow函数表起始地址。
kd> dds bf997600 L0000029b
bf997600 bf934ffe win32k!NtGdiAbortDoc
bf997604 bf946a92 win32k!NtGdiAbortPath
bf997608 bf8bf295 win32k!NtGdiAddFontResourceW
…
bf997de4 bf84d0ed win32k!NtUserSetCapture
bf997de8 bf8fd95b win32k!NtUserSetClassLong
bf997dec bf911a9e win32k!NtUserSetClassWord
bf997df0 bf8cd389 win32k!NtUserSetClipboardData
bf997df4 bf908b12 win32k!NtUserSetClipboardViewer
bf997df8 bf8da65e win32k!NtUserSetConsoleReserveKeys
bf997dfc bf81c4af win32k!NtUserSetCursor
bf997e00 bf9120a0 win32k!NtUserSetCursorContents
…NtUserSetClipboardData的索引号是 (bf997df0 - bf997600) = 7f0
ssdt函数索引号_shadow ssdt 服务表函数索引相关推荐
- oracle表 游标,Oracle游标表达式和表函数
Oracle游标表达式是Oracle数据库中的重要概念,下面就为您详细介绍Oracle游标表达式和表函数方面的知识,供您参考学习之用. Oracle游标表达式(有时称为游标子队列)是 SQL 语言的一 ...
- 如何查询SCI和EI索引号
(1)SCI索引号的查询方法: 登陆Web of science数据库 http://www.isiknowledge.com/: 点击页面中"web of science",引文 ...
- excel宏表函数技巧:如何批量建立分表?
[前言,有关"宏表函数"的几点信息] ●在EXCEL的世界里,有一组特殊的函数存在,它不是EXCEL内置工作表函数,所以在功能区中使用"插入函数"时,是看不见它 ...
- ssdt函数索引号_【NT】一行代码获取SSDT服务索引号
注:本文是以32位的windows7为实例. 今天在研究SSDT的过程中看到了一个大神写的教程,其中还附了一些代码,代码主要讲解的是SSDT hook过程,我在他的代码中没有看到任何有关服务函数的索引 ...
- (49)逆向分析KiSystemService/KiFastCallEntry调用内核函数部分(SST,SSDT,SSPT)
一.回顾 前两篇博客,我逆向分析了 KiSystemService 和 KiFastCallEntry 填充_KTRAP_FRAME 结构体的代码,二者大同小异,主要的区别是 sysenter 只改了 ...
- 怎样在javascript函数中将变量传递给服务端脚本程序?
怎样在javascript函数中将变量传递给服务端脚本程序? (有朋友问上述问题, 愿把结论分享给大家). 摘 要: 服务器端脚本运行时, 它只会解释执行<% %>或<?php ...
- php怎么把数组索引,如何在php中获取数组索引号?
我确定这是一个愚蠢的问题,但是现在是星期五,我的大脑无法弄清楚.我有一个数组数组,像这样: $cart = Array ( [0] => Array ( [TypeFlag] => S [ ...
- 在windbg中测试shadow ssdt , win32k!NtUserGetForegroundWindow , hook shadow ssdt
在windbg中查看shadow ssdt: 0: kd> lm start end module name 804d8000 806e3000 nt ( ...
- 数据透视表函数综合作用
数据透视表函数综合应用 讲师:Jssy 助教:wxin0708 助教:李兴德 学员:sunli1080 学习excel地址:http://t.excelhome.net/forum.php?mod=v ...
- linux系统USB摄像头反应慢,Linux下OpenCV打开USB接口的UVC摄像头及索引号是202的原因...
一般来说,USB的UVC摄像头在Linux平台下通过V4L驱动来使用.OpenCV打开USB的UVC摄像头一般也通过V4L驱动来打开.打开方法网上都有,一般就是通过VideoCapture的open( ...
最新文章
- 用gdb调试mpi程序的一些心得
- Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间
- 安卓开发由一个APP拉起另一个APP的方法总结
- 录入班级学生姓名科目成绩_如何利用钉钉发布考试成绩
- Linux Vsftpd 连接超时解决方法(被动模式)
- 比较sql server两个数据库
- 群同态基本定理证明_群论(2): 群作用, Sylow定理
- 克拉默法则(Cramer's Rule)的证明
- HTML 使用字体图标 引入图标
- java与模式孙悟空_悟空模式-java-原型模式
- statsmodels.stats.proportion.proportions_ztest
- 单片机蓝桥杯——PWM呼吸灯
- win10 cortana 搜索失效
- fastJson与String、对象、集合之间相互转换
- android 跳转oppo应用中心_Android 遍历手机应用,跳转应用市场详情页面
- 模拟电路技术之基础知识(二)
- FastReport关闭弹出的进度条窗口
- MySQL Binlog温故知新
- 『跟着雨哥学AI』系列之七:趣味案例——动手制作专属证件照
- 关于Headroom电压余量的介绍
热门文章
- JAVA从入门到精通(2)
- 如何用 Ps 制作毛玻璃穿透效果?
- java entity tostring_EntityUtils.toString(entity)处理字符集问题解决
- python炒股代码_python简单代码_趣炒股网页版
- 腾讯地图api_让数据跃然“图”上!腾讯位置服务数据可视化API正式发布
- excel 常用技巧
- cpan mysql dbd_安装PERL cpan DBD::mysql错误笔记
- 分享虚拟机VirtualBox安装win7系统完整步骤。
- [554]sklearn提供的自带的数据集(make_blobs)
- 拼多多商品链接怎么打开链接下架怎么回事拼多多商品竞价怎么玩需要哪些流程