对这个软件的AntiHook比较感兴趣,想看看他是怎么实现的。。。于是逆了一下,完成度90%(那些我不感兴趣的函数就没逆了)

这个Driver没有设备对象,是通过ZwTerminateProcess来跟ring3程序进行通讯的。。。Driver的其他很多地方实现得比较精妙,值得我们学习

其中有两个重要的数据结构

代码:
typedef struct _XPROCESS_LIST
{
  LIST_ENTRY     Entry;
  ULONG       ProcessId;
  ULONG       ParentProcessId;
  PEPROCESS     Process;
  PEPROCESS     ParentProcess;
  BOOLEAN       IsProt;               //是否正受保护/隐藏
  BOOLEAN       unknow4;
  BOOLEAN       UseOrgKernelCallbackTable;
} XPROCESS_LIST, *PXPROCESS_LIST;

typedef struct _PARAMS
{
  ULONG       SelfSettings;         //by xIkUg/RCT 2007-04-29
  ULONG       GlobalSettings;
  ULONG       CallIndex;
  PVOID       InputBuffer;
  ULONG       InputBufferLength;
  PVOID       OutputBuffer;
  ULONG       OutputBufferLength;
} PARAMS, *PPARAMS;


源代码就不放出来了。。。

感兴趣的朋友可以直接看idb文件。。。各种变量,结构,函数都详细的标出来了
想要使用其中某些功能就得靠你自己的本事来还原源代码了。。。嘿嘿。。。