- 内核级HOOK的几种实现与应用
- 实现内核级HOOK对于拦截、分析、跟踪系统内核起着致关重要的作用。实现的方法不同意味着应用侧重点的不同。如想要拦截NATIVEAPI那么可能常用的就是HOOKSERVICETABLE的方法。如果要分析一些系统调...
- 作者:Wxbsoft发表于:2008-6-7 20:38:00查阅全文...
- Windows平台内核级文件访问
- 1.背景 在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件。从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统服务,再到FileSystem及其FilterDriver,...
- 作者:Wxbsoft发表于:2008-6-7 20:36:34查阅全文...
- Windows驱动编程基础教程(连载11)
- Windows驱动编程基础教程(6.3) 6.3 使用事件通知 一些读者可能熟悉事件驱动编程技术。但是这里的事件与之不同。内核中的事件是一个数据结构。这个结构的指针可以当作一个参数传入一个等待函数中...
- 作者:Wxbsoft发表于:2008-6-7 20:33:34查阅全文...
- Windows驱动编程基础教程(连载10)
- Windows驱动编程基础教程(6.1-6.2) 6.1 使用线程 有时候需要使用线程来完成一个或者一组任务。这些任务可能耗时过长,而开发者又不想让当前系统停止下来等待。在驱动中停止等待很容易使整个系统...
- 作者:Wxbsoft发表于:2008-6-7 20:32:47查阅全文...
- Windows驱动编程基础教程(连载9)
- Windows驱动编程基础教程(5.3) 5.3 使用定时器 使用过Windows应用程序编程的读者的读者一定对SetTimer()映像尤深。当需要定时执行任务的时候,SetTimer()变得非常重要。这个功能在驱动开发中可以...
- 作者:楚狂人发表于:2008-6-4 0:36:43查阅全文...
- Windows驱动编程基础教程(连载8)
- Windows驱动编程基础教程(5.1-5.2) 5.1 获得当前滴答数 在编程中,获得当前的系统日期和时间,或者是获得一个从启动开始的毫秒数,是很常见的需求。获得系统日期和时间往往是为了写日志。获得启...
- 作者:楚狂人发表于:2008-6-4 0:35:43查阅全文...
- Windows驱动编程基础教程(连载7)
- Windows驱动编程基础教程(4.2-4.3) 4.2 注册值的读 一般使用ZwQueryValueKey来读取注册表中键的值。要注意的是注册表中的值可能有多种数据类型。而且长度也是没有定数的。为此,在读取过程中,就...
- 作者:楚狂人发表于:2008-6-4 0:34:44查阅全文...
- hook小结
- 我们安全爱好者,都接触过Rootkit,它对我们入侵后的保护提供了强大的支持。现今比较流行的Rootkit有Hxdef,NtRootkit和AFX Rootkit,而且Hxdef和AFX Rootkit还提供了源代码,对我们的学习提供了...
- 作者:Wxbsoft发表于:2008-5-24 19:12:26查阅全文...
- Windows 文件过滤驱动经验总结
- 1、获得文件全路径以及判断时机 除在所有 IRP_MJ_XXX 之前自己从头创建 IRP 发送到下层设备查询全路径外,不要尝试在 IRP_MJ_CREATE 以外的地方获得全路径,因为只有在 IRP_MJ_CREATE中才会使用...
- 作者:AI 3000发表于:2008-5-24 12:21:12查阅全文...
- Windows驱动编程基础教程(连载6)
- Windows驱动编程基础教程(3.3-4.1) 3.3 文件的读写操作 打开文件之后,最重要的操作是对文件的读写。读与写的方法是对称的。只是参数输入与输出的方向不同。读取文件内容一般用ZwReadFile,写文...
- 作者:楚狂人发表于:2008-5-24 12:13:26查阅全文...
- Windows驱动编程基础教程(连载5)
- Windows驱动编程基础教程(3.1-3.2) 3.1 使用OBJECT_ATTRIBUTES 一般的想法是,打开文件应该传入这个文件的路径。但是实际上这个函数并不直接接受一个字符串。使用者必须首先填写一个OBJECT_ATTR...
- 作者:楚狂人发表于:2008-5-24 12:11:49查阅全文...
- Windows驱动编程基础教程(连载4)
- Windows驱动编程基础教程(2.3-2.4) 2.3 使用长长整型数据 这里解释前面碰到的LARGE_INTEGER结构。与可能的误解不同,64位数据并非要在64位操作系统下才能使用。在VC中,64位数据的类型为__int64...
- 作者:楚狂人发表于:2008-5-24 12:10:17查阅全文...
- Windows驱动编程基础教程(连载3)
- Windows驱动编程基础教程(2.2) 2.2 使用LIST_ENTRY Windows的内核开发者们自己开发了部分数据结构,比如说LIST_ENTRY。 LIST_ENTRY是一个双向链表结构。它总是在使用的时候,被插入到已有的数据...
- 作者:楚狂人发表于:2008-5-24 12:08:35查阅全文...
- Windows驱动编程基础教程(连载2)
- Windows驱动编程基础教程(1.4-2.1) 1.4 字符串的连接 UNICODE_STRING不再是简单的字符串。操作这个数据结构往往需要更多的耐心。读者会常常碰到这样的需求:要把两个字符串连接到一起。简单的追...
- 作者:楚狂人发表于:2008-5-24 12:06:42查阅全文...
- Windows驱动编程基础教程(连载1)
- 前言 我经常在网上遇到心如火燎的提问者。他们碰到很多工作中的技术问题,是关于驱动开发的。其实绝大部分他们碰到的巨大困难是被老牛们看成初级得不能再初级的问题。比如经常有人定义一个空的U...
- 作者:楚狂人发表于:2008-5-24 12:03:23查阅全文...
- kernel inline hook 绕过vice检测
- 在user mode的inline hook比较好用,因为很少有多线程的问题,所以可以采用把API前5字节改为跳转指令到自己的函数中,然后再改回原来的5个字节,调用原函数后在把前5个字节改为跳转指令为下次做好准...
- 作者:夏冰软件发表于:2008-3-24 12:52:22查阅全文...
- 突破icesword实现文件隐藏
- 估计想在icesword下隐藏文件的人有很多吧。今天我介绍一种方法。 先介绍一下icesword是如何查找文件的。基本原理就是自己构造一个irp出来,然后直接IoCallDriver发送到fsd。但是icesword做了更多...
- 作者:rhett发表于:2008-3-24 12:41:19查阅全文...
- 突破 Windows NT 内核进程监视设置限制
- 监视进程创建和销毁,最常用的手段就是用 PsSetCreateProcessNotifyRoutine() 设置一个CALLBACK函数来完成。该函数的原形如下: VOID (*PCREATE_PROCESS_NOTIFY_ROUTINE) ( IN HANDLEParentId, ...
- 作者:于旸发表于:2008-3-24 12:17:52查阅全文...
- 反向进程注入及隐藏--动手做一个最简单的PELoader
- 一.废话 最近因为公司的项目需要,顺带的学习了一点和PELoader相关的东西,恰见网上正在沸沸扬扬的谈论虚拟脱壳。本人不才,实在是没能力也没精力去写一个真正意义上的虚拟机,因此尝试做了一个...
- 作者:于旸发表于:2008-3-24 12:15:42查阅全文...
- 简析利用调试寄存器实现内核函数的HOOK
- 某些RK,木马会经常HOOK一些关键函数从而达到隐藏等目的,而相应的ARK检测软件也会通常会先恢复这些关键函数的HOOK(譬如利用硬盘文件恢复),然后再调用来检测RK,这样就可以检测出某些隐藏.下面就介...
- 作者:于旸发表于:2008-3-24 12:13:47查阅全文...

