R0层获取ShadowSSDT函数原始地址实例

上传者: feiyinglm | 上传时间: 2021-08-22 14:43:30 | 文件大小: 18KB | 文件类型: RAR
本实例由VS2008开发,在提供了一套驱动开发框架的同时,又演示了如何获取Shadow SSDT表函数原始地址的办法。 主要函数:ULONG GetShadowSSDT_Function_OriAddr(ULONG index); 原理说明: 根据特征码搜索导出函数KeAddSystemServiceTable来获取Shadow SSDT基址,以及通过ZwQuerySystemInformation()函数获取win32k.sys基址,然后解析PE定位到Shadow SSDT在win32k.sys的偏移地址,并通过进一步计算来得到Shadow SSDT表函数的原始地址。 这里只测试了三个函数:(460)NtUserMessageCall、(475)NtUserPostMessage和(502)NtUserSendInput,具体使用时可以举一反三,网上完整的源代码实例并不太多,希望可以帮到真正有需要的朋友。 系统环境: 在WinXP SP3系统 + 瑞星杀毒软件 打印输出: [ LemonInfo : Loading Shadow SSDT Original Address Driver... ] [ LemonInfo : 创建“设备”值为:0 ] [ LemonInfo : 创建“设备”成功... ] [ LemonInfo : 创建“符号链接”状态值为:0 ] [ LemonInfo : 创建“符号链接”成功... ] [ LemonInfo : 驱动加载成功... ] [ LemonInfo : 派遣函数(DispatchRoutine) IRP 开始... ] [ LemonInfo : 派遣函数(DispatchRoutine) IRP Enter IRP_MJ_DEVICE_CONTROL... ] [ LemonInfo : 获取ShadowSSDT表 (460)NtUserMessageCall 函数的“当前地址”为:0xB83ECFC4,“起源地址”为:0xBF80EE6B ] [ LemonInfo : 获取ShadowSSDT表 (475)NtUserPostMessage 函数的“当前地址”为:0xB83ECFA3,“起源地址”为:0xBF8089B4 ] [ LemonInfo : 获取ShadowSSDT表 (502)NtUserSendInput 函数的“当前地址”为:0xBF8C31E7,“起源地址”为:0xBF8C31E7 ] [ LemonInfo : 派遣函数(DispatchRoutine) IRP_MJ_DEVICE_CONTROL 成功执行... ] [ LemonInfo : 派遣函数(DispatchRoutine) IRP 结束... ] [ LemonInfo : UnLoading Shadow SSDT Original Address Driver... ] [ LemonInfo : 删除“符号链接”成功... ] [ LemonInfo : 删除“设备”成功... ] [ LemonInfo : 驱动卸载成功... ]

文件下载

资源详情

[{"title":"( 9 个子文件 18KB ) R0层获取ShadowSSDT函数原始地址实例","children":[{"title":"R0ShadowSSDTOriAddr","children":[{"title":"DriverSetVS9.vsprops <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"Driver.cpp <span style='color:#111;'> 11.58KB </span>","children":null,"spread":false},{"title":"ShadowSSDT.h <span style='color:#111;'> 14.01KB </span>","children":null,"spread":false},{"title":"Driver.h <span style='color:#111;'> 662B </span>","children":null,"spread":false},{"title":"Driver","children":[{"title":"R0ShadowSSDTOriAddr.sys <span style='color:#111;'> 6.50KB </span>","children":null,"spread":false}],"spread":true},{"title":"R0ShadowSSDTOriAddr.vcproj <span style='color:#111;'> 5.13KB </span>","children":null,"spread":false},{"title":"R0ShadowSSDTOriAddr.suo <span style='color:#111;'> 22.00KB </span>","children":null,"spread":false},{"title":"CTL_CODE.h <span style='color:#111;'> 723B </span>","children":null,"spread":false},{"title":"R0ShadowSSDTOriAddr.sln <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • u010757395 :
    看了一下源码,只有win2k,winxp,win2k3,然后获取shadow ssdt的方法是根据ssdt加偏移值。 没编译,不过看评论说可以用那就是可以用了。。。 不过还是得找一个稳定的方法去 获取
    2017-07-31
  • andylau00j :
    还可以的例子。。多谢分享
    2016-08-02
  • menger777 :
    不错的源码,谢谢了
    2015-10-21
  • j10044034 :
    不错的源码,谢谢了
    2015-08-07
  • fbzyhfx002 :
    不错的源码,谢谢了
    2015-07-10

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明