在Win32的核心, 结构化异常处理(Structured Exception Handling)(SEH) 是操作系统提供的一种服务. 你能找到的所有关于SEH的文档都会描述某一种编译器的运行时库(runtime library)对操作系统实现的某种包装. 我会层层剥析SEH一直到它的最基本的概念.   这篇文章假设你熟悉Win32,C++   文章示例代码: Exception.zip 在所有由Win32操作系统提供的基础设施中, 可能被最广泛应用却没有文档说明的就是结构化异常处理了. ...

阅读全文>>

原理: 段基址 + 偏移地址  =  函数地址 让idt不动的话, 就需要更改段基址 实例代码: #include "ntddk.h" #include "ntddk.h" #define WORD USHORT #define DWORD ULONG #define MAKELONG(a, b) ((LONG)(((WORD)(((DWORD_PTR)(a)) & 0xffff)) \ | ((DWORD)((WORD)(((DWORD_PT...

阅读全文>>

主要理解下面的内容: 1: KiProcessorBlock数组的每一个非0项都是指向一个_kprcb结构,而_kprcb结构正是再_kpcr结构的+0x120处,_kpcr结构的+0x38就是_IDT结构地址。 2: 通过硬编码 使用ida找到 KiProcessorBlock 3: IDt的表结构的理解, 进行函数过滤 详细使用代码 (xp3) #include <ntddk.h> #define WORD USHORT #define D...

阅读全文>>

没啥技术含量 主要就是指令 sidt  详细代码 #include <ntddk.h> #define WORD USHORT #define DWORD ULONG #define MAKELONG(a,b) ((DWORD)((USHORT)a))|(((DWORD)b)<<16) typedef struct _IDTR{ USHORT IDT_limit; USHORT IDT_LOWbase; USHORT IDT_HIGbase; }ID...

阅读全文>>

注意事项 : 我用的OD是 自己有保护的,经过内核重载 CE就能打开OD了 没重载之前呢 是看不到OD进程的 不要跟360HOOK了一个点 要不就会蓝屏 ,  加载驱动前一定要检查 有没有被HOOK NtCreateFile 函数否则就会加载失败的 重点注意QQ 它的驱动HOOK了不少函数而且是重启不会取消的HOOK  解决办法就是把它的驱动删除了 重启 就OK 比如打开了 CE 一定要先把CE关掉以后 才能卸载重载驱动 要不就会蓝屏 首先呢我们要学的是一个思想,过程代码就放在哪跟着代码一步一步看最后作者的意思是什么就会明白.也能自己调用但是...

阅读全文>>