posted @ 2014-01-06 09:37 code2012 阅读(287) 评论(0) 推荐(0) 编辑
摘要:
测试 5.2 windows 中断与异常 1.外部硬件中断是通过处理器上的中断引脚管或者本地APIC的内置模块来发生的;对于一个处理器,一旦被中单, 某个预先被设定的中断服务例程就被执行! 2.处理器的内部的IDTR寄存器记录着IDT的位置和它的最大限制,IDTR寄存器为48位。 每个中断描述符号是 阅读全文
摘要:
4.3.1 四种情况创建新进程并调用MmInitializeProcessAddressSpace, 调用完这个函数的时候,一个进程的地址空间基本建立了,可执行文件的映像和ntdll.dll(内存区对象)已经被映射到恰当的虚拟地址范围内。 介绍到 在新进程的地址空间中,会克隆系统空间的页目录到新进程的页目录. KeAttachProcess() 与 KeDetachProcess() KeAttachProcess()函数的执行的时候,会把当前线程附载在新的的进程对象上,关键是把CR3切换为新进程的页目录KeDetachProcess 把线程恢复到父进程!4.3.2 每个进程都有自己独立的.. 阅读全文
posted @ 2014-01-03 18:05 code2012 阅读(318) 评论(0) 推荐(0) 编辑
摘要:
BHO原理:推荐vc base中的文章:如何使用BHO定制你的Internet Explorer浏览器API HOOK的基本原理:推荐C++ builder 研究中的文章:API Hook基本原理和实现[图文]如果你想使用Wininet API HOOK获取IE中的数据,code project中的这篇文章推荐:Retrieve HttpOnly Session Cookie in WebBrowser当然这篇文章只是给了个实现功能的模板,不过确实还是不错的,可以借鉴这篇文章和msdn中的wininet api就很容易的实现一些其他功能,比如获得postdata等。如果你决定使用,名字叫&qu 阅读全文
posted @ 2013-10-10 17:56 code2012 阅读(405) 评论(0) 推荐(0) 编辑
摘要:
EasyHook远程代码注入 最近一段时间由于使用MinHook的API挂钩不稳定,经常因为挂钩地址错误而导致宿主进程崩溃。听同事介绍了一款智能强大的挂钩引擎EasyHook。它比微软的detours好的一点是它的x64注入支持是免费开源的。不想微软的detours,想搞x64还得购买。 好了,闲话不多说,先下载EasyHook的开发库,当然有兴趣的同学可以下载源码进行学习。下载地址:http://easyhook.codeplex.com/releases/view/24401。我给的这个是2.6版本的。 EasyHook提供了两种模式的注入管理。一种是托管代码的注入,另一种是非托管代码.. 阅读全文
posted @ 2013-10-09 12:59 code2012 阅读(2991) 评论(0) 推荐(0) 编辑
摘要:
10分钟API Hook MessageBox分类:C++2012-04-12 22:52877人阅读评论(4)收藏举报hookwinapidllthreadpython编程转载注明出处http://blog.csdn.net/xugangjava/article/details/74558511.首先下载Detour3.0 。2.新建一个win32的 dll链接库将Detour3.0的源代码 Copy到工程目录下,就是下面这个样子最后在dllmian里面编写 我们的钩子,[cpp]view plaincopy//dllmain.cpp:定义DLL应用程序的入口点。#include" 阅读全文
posted @ 2013-10-09 12:53 code2012 阅读(616) 评论(0) 推荐(0) 编辑
摘要:
* Windows内核下操作字符串!*/#include #include #define BUFFER_SIZE 1024VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject){ KdPrint(("DriverUnload Load...\n"));}//===========================================================================// ANSI_STRING结构和UNICODE_STRING结构的使用#pragma code_seg("INI 阅读全文
posted @ 2013-09-05 21:27 code2012 阅读(1799) 评论(0) 推荐(0) 编辑
摘要:
一个常见的 Windows 2000 数据类型是 LIST_ENTRY 结构。内核使用该结构将所有对象维护在一个双向链表中。一个对象分属多个链表是很常见的, Flink 成员是一个向前链接,指向下一个 LIST_ENTRY 结构, Blink 成员则是一个向后链接,指向前一个 LIST_ENTRY 结构。通常情况下,这些链表都成环形,也就是说,最后一个 Flink 指向链表中的第一个 LIST_ENTRY 结构,而第一个 Blink 指向最后一个。这样就很容易双向遍历该链表。如果一个程序要遍历整个链表,它需要保存第一个 LIST_ENTRY 结构的地址,以判断是否已遍历了整个链表。如果链表仅包 阅读全文
posted @ 2013-08-02 13:48 code2012 阅读(662) 评论(0) 推荐(0) 编辑