上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 36 下一页
摘要: MmGetSystemAddressForMdlSafe和MmGetSystemAddressForMdl其实都是宏,都直接或间接的调用了MmMapLockedPagesSpecifyCache内核函数。MmMapLockedPagesSpecifyCache的声明如下:NTKERNELAPI PVOIDMmMapLockedPagesSpecifyCache( IN PMDLMemoryDescriptorList, IN KPROCESSOR_MODEAccessMode, IN MEMORY_CACHING_TYPECacheType, IN PVOIDBaseAddress, 阅读全文
posted @ 2010-12-20 15:19 Fan Zhang 阅读(1471) 评论(0) 推荐(0)
摘要: 对于应用程序使用SetProcessAffinityMask/SetThreadAffinityMask。对于内核程序使用KeSetSystemAffinityThread。如果想在多核CPU下做hook IDT就要用这个函数了,有时间写个例子。 阅读全文
posted @ 2010-11-29 13:26 Fan Zhang 阅读(482) 评论(0) 推荐(0)
摘要: 代码如下:PHYSICAL_ADDRESSMmGetPhysicalAddress ( IN PVOID BaseAddress ){ PMMPTE PointerPte; PHYSICAL_ADDRESS PhysicalAddress;//判断是否在[0x80000000,0xA0000000)中,如果是,这段内存被映射到物理内存中[0,20000000),这段内存采用4MB大小的分页。 if... 阅读全文
posted @ 2010-11-16 16:26 Fan Zhang 阅读(1767) 评论(0) 推荐(0)
摘要: PDE:Page Directory EntryPTE:Page Table Entry(记录着虚拟地址的真实物理地址) 用KernelDebug举例说明:kd> !pte 80572000 VA 80572000PDE at C0300804 PTE at C02015C8contains 0003D163 contains 00572121pfn 3d -G-DA--KWEV pfn ... 阅读全文
posted @ 2010-11-16 15:40 Fan Zhang 阅读(1429) 评论(0) 推荐(0)
摘要: pjf(jfpan20000@sina.com)  有来信询问进程结束的有关问题,下面就这个问题简单讨论一下(下面的讨论基于2000,其他NT系统也类似)。  首先看看一个应用程序想要强制结束另一个进程所要做的事:首先获得目标的进程ID,接着利用OpenProcess获取进程句柄(确保足够权限),最后将句柄传给TerminateProcess了结那个进程。  1、OpenProcess通过本机系统... 阅读全文
posted @ 2010-11-05 17:44 Fan Zhang 阅读(286) 评论(0) 推荐(0)
摘要: 操作系统本身并不知道有没有键盘,他的win32子系统csrss.exe会在不停的在一个函数win32k!RawInputThread里寻找\Device\KeyboardClass0或\Device\KeyboardClass1(数字依次累加)。 那么KeyboardClass0、KeyboardClass1等又是怎么来的呢? kbdclass是个upper filter驱动,只要有keybo... 阅读全文
posted @ 2010-11-03 14:27 Fan Zhang 阅读(519) 评论(0) 推荐(0)
摘要: 1.消息钩子 2.OpenProcess,然后WriteProcessMemory,再然后LoadLibrary Hook函数 1.Hook ADT 2.Inline hook(jmp HOOK) 阅读全文
posted @ 2010-11-02 20:57 Fan Zhang 阅读(309) 评论(0) 推荐(0)
摘要: 查找所有设备,从中间找到KeyboardClass0或者kbdclass创建的设备 !object \device 查找设备对象的IRP !irpfind 0 0 device 80e03e38 查看IRP具体信息 !irp 80d839b8 查找发送IRP的线程 !thread 80df54b8 显示Cid 01d0.0210 得知进程ID=01d0,线程ID=0210 !process 01d... 阅读全文
posted @ 2010-11-02 20:56 Fan Zhang 阅读(1201) 评论(0) 推荐(0)
摘要: 声明 使用 阅读全文
posted @ 2010-10-29 15:31 Fan Zhang 阅读(1190) 评论(1) 推荐(0)
摘要: NAMS的写法是jmp $ AT&T的写法是jmp . 在GCC里是 __asm__ __volatile__("jmp ."); 阅读全文
posted @ 2010-10-25 15:43 Fan Zhang 阅读(445) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 36 下一页