rootkit hook之[三] inline hook.docx


文档分类:医学/心理学 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6
文档列表 文档介绍
标题: 【原创】rootkit hook之[三] inline hook
作者: combojiang
时间: 2008-01-30,17:27:57
链接: http://bbs./?t=59127
最近为了写好rootkit inline hook篇,特意A了著名的流氓软件(),这个文件很庞大,有152k之多, 花费了我好几个晚上的时间,让我少看好多集的电视剧《闯关东》,在这个软件里面用了很多好的技术,不管怎么说,技术本身是无辜的,由于我们今天谈论的主题是Inline hook,因此今天只是带领大家看看他是怎样使用inline hook这项技术的。今天是一年一度的小年,发表此篇,作为对大家的小年献礼吧,顺祝大家小年好。
关于什么是inline hook.,这些基本概念,我们就不在这里说了,大家可以google下。
对于ring3下的inline hook使用起来非常的方便,也非常简单。但是到了ring0,inline hook就麻烦些,搞不好就出现了bsod.   ,我们今天讲的是内核中的inline hook。这个技术,在这个流氓软件中应用的比较稳定。我们就来看看它是怎么用的。
先谈谈思路:
1.  Hook之前的准备工作之一。
在这个软件中,总共hook了15个native api 函数。他们分别是:
ZwOpenKey , ZwClose, ZwQueryValueKey, ZwDeleteKey, ZwSetValueKey, ZwCreateKey,
ZwDeleteValueKey. ZwEnumerateValueKey,ZwRestoreKey, ZwReplaceKey, ZwTerminateProcess, ZwSetSecurityObject, ZwCreateThread, ZwTerminateThread, ZwQuerySystemInformation.
这15个函数中,包括2个未公开的函数,ZwCreateThread, ZwTerminateThread,这两个函数,。另外,所有的native api函数的最终实现都是在ntoskrnl模块中,所以,我们使用ZwQuerySystemInformation的0B号功能,找出ntoskrnl模块的内存加载区间,然后逐个判断ssdt表中这些要hook的函数地址,是否在这个区间内。确保我们是第一个吃螃蟹的人。呵呵。
2.  Hook之前准备工作之二:
1)一个全局函数表 ,保存这15个要hook的函数的原始地址。
这个表起始地址位于:.data:00036860 ,终止于:data:0003689C 共60字节
2)一个hook 的函数地址表,分别对应于要hook的15个函数的跳转。
这个表起始地址位于:.data:00034E98
.data:00034E98 off_34E98        dd offset sub_1EEA8    
.data:00034E9C                 dd offset sub_1EE82
.data:00034EA0                 dd offset sub_1

rootkit hook之[三] inline hook 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小20 KB
  • 时间2017-12-22
最近更新