网站大量收购独家精品文档,联系QQ:2885784924

rootkit hook之[三] inline hook.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
rootkit hook之[三] inline hook

标 题:?【原创】rootkit hook之[三] inline hook作 者:?combojiang时 间:?2008-01-30,17:27:57链 接:?/showthread.php?t=59127最近为了写好rootkit?inline?hook篇,特意A了著名的流氓软件(cdnprot.sys),这个文件很庞大,有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,这两个函数,需要我们从ntdll.dll的导出表中找到。另外,所有的native?api函数的最终实现都是在ntoskrnl模块中,所以,我们使用ZwQuerySystemInformation的0B号功能,找出ntoskrnl模块的内存加载区间,然后逐个判断ssdt表中这些要hook的函数地址,是否在这个区间内。确保我们是第一个吃螃蟹的人。呵呵。2.?Hook之前准备工作之二:1)一个全局函数表?,保存这15个要hook的函数的原始地址。这个表起始地址位于:.data,终止于: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_1EF82.data:00034EA4?????????????????dd?offset?sub_1EF4A.data:00034EA8?????????????????dd?offset?sub_1EF6D.data:00034EAC?????????????????dd?offset?sub_1EEC1.data:00034EB0?????????????????dd?offset?sub_1EED2.data:00034EB4?????????????????dd?offset?sub_1EEF5.data:00034EB8?????????????????dd?offset?sub_1EF31.data:00034EBC?????????????????dd?offset?sub_1EF18.data:00034EC0?????????????????dd?offset?sub_1EF93.data:00034EC4?????????????????dd?offset?sub_1EFA8.data:00034EC8?????????????????dd?offset?sub_1EFBD.data:00034ECC?????????????????dd?offset?sub_1EFE6.data:00034ED0?????????????????dd?offset?sub_1EFFF这15个函数,都是在cdnprot.sys中实现的。3)一个用于保存函数开头字节的二维数组数据区,数

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档