• PsGetcurrentProcessId在不同版本不兼容(在看雪论坛发的)

    Windows线程切换相关的结构保存在KPCR和KPRCB结构内,对应每一个CPU有一个处理器控制区(Processor Control Region)KPCR。

    在windows2012下使用WDK8.0编译的驱动出现问题,用Windbg看下。 [Read More…]

  • NetFilter与iptables(转贴)

    Netfilter的通用框架不依赖于具体的协议,而是为每种网络协议定义一套HOOK函数。这些HOOK函数在数据报经过协议栈的几个关键点时被调用,在这几个点中,协议栈将数据报及HOOK函数标号作为参数,传递给Netfilter框架。
    对于它在网络堆栈中增加的这些HOOK,内核的任何模块可以对每种协议的一个或多个HOOK进行注册,实现挂接。这样当某个数据报被传递给Netfilter框架时,内核能检测到是否有任何模块对该协议和HOOK函数进行了注册。若注册了,则调用该模块的注册时使用的回调函数,这样这些模块就有机会检查、修改、丢弃该数据报及指示Netfilter将该数据报传入用户空间的队列。这样,HOOK提供了一种方便的机制:在数据报通过Linux内核的不同位置上截获和操作处理数据报。 [Read More…]