看流星社区

 找回密码
 注册账号
查看: 7775|回复: 33

城里城外看SSDT,实在是好文,忍不住要转过来分享。

[复制链接]

该用户从未签到

发表于 2011-9-1 09:52:32 | 显示全部楼层 |阅读模式
2007年7月5日作于京师海淀

2006年,中国互联网上的斗争硝烟弥漫。这时的战场上,先前颇为流行的窗口挂钩、API挂钩、进程注入等技术已然成为昨日黄花,大有逐渐淡出之势;取而代之的,则是更狠毒、更为赤裸裸的词汇:驱动、隐藏进程、Rootkit……
在这篇文章里,李马首度从ring3(应用层)的围城跨出,一跃而投身于ring0(内核层)这一更广阔的天地,为你展现SSDT(系统服务描述符表)的奥秘。


引子

2006年,中国互联网上的斗争硝烟弥漫。这时的战场上,先前颇为流行的窗口挂钩、API挂钩、进程注入等技术已然成为昨日黄花,大有逐渐淡出之势;取而代之的,则是更狠毒、更为赤裸裸的词汇:驱动、隐藏进程、Rootkit……

前不久,我不经意翻出自己2005年9月写下的一篇文章《DLL的远程注入技术》,在下面看到了一位名叫L4bm0s的网友说这种技术已经过时了。虽然我也曾想过拟出若干辩解之词聊作应对,不过最终还是作罢了——毕竟,拿出些新的、有技术含量的东西才是王道。于是这一次,李马首度从ring3(应用层)的围城跨出,一跃而投身于ring0(内核层)这一更广阔的天地,便有了这篇《城里城外看SSDT》。——顾名思义,城里和城外的这一墙之隔,就是ring3与ring0的分界。

在这篇文章里,我会用到太多杂七杂八的东西,比如汇编,比如内核调试器,比如DDK。这诚然是一件令我瞻前顾后畏首畏尾的事情——一方面在ring0我不得不依靠这些东西,另一方面我实在担心它们会导致我这篇文章的阅读门槛过高。所以,我决定尽可能少地涉及驱动、内核与DDK,也不会对诸如如何使用内核调试器等问题作任何讲解——你只需要知道我大概在做些什么,这就足够了。

什么是SSDT?

什么是SSDT?自然,这个是我必须回答的问题。不过在此之前,请你打开命令行(cmd.exe)窗口,并输入“dir”并回车——好了,列出了当前目录下的所有文件和子目录。

那么,以程序员的视角来看,整个过程应该是这样的:

游客,如果您要查看本帖隐藏内容请回复

该用户从未签到

发表于 2011-9-1 09:59:15 | 显示全部楼层
来看看
!~~~~~~~~~~~~~~~~

该用户从未签到

发表于 2011-9-1 13:52:07 | 显示全部楼层
好东西啊。。。。哈哈

该用户从未签到

发表于 2011-9-1 16:56:05 | 显示全部楼层
好东西啊。。。。

该用户从未签到

发表于 2011-9-1 19:01:06 | 显示全部楼层
学习学习~~~~~~

该用户从未签到

发表于 2011-9-2 13:00:43 | 显示全部楼层
kanxia!!!!!!!!!

该用户从未签到

发表于 2011-9-4 14:24:41 | 显示全部楼层
城里城外看SSDT

该用户从未签到

发表于 2011-12-3 20:29:49 | 显示全部楼层
城里城外看SSDT

该用户从未签到

发表于 2011-12-6 02:38:00 | 显示全部楼层
看流星社区

该用户从未签到

发表于 2012-1-14 22:21:21 | 显示全部楼层
回复 1# 无限@感觉


    ddddddddd
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-23 16:55

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表