导读:
概 述
系统研究方式的创新,取决于对现有操作系统和应用程序功能进行扩展及测试手段简化的能力。通过使用相应程序的源代码,我们通常不需要开发嵌入新的代码或重新改造操作系统、应用程序来进行扩展。但问题是当今的系统研究人员很少能够有机会获得相关的源代码。
Detours是一强大的工具,提供了简单易用的函数接口来拦截WIN32 API调用和为一个已在运行的进程装入一个DLL。
Detours是一个可以在x86,x64,和IA64平台上测试任意Win32函数的程序库。Detours可以通过为目标函数重写在内存中的代码而拦截win32函数。Detours软件包还可以将任意的dll和数据片段(称之为有效载荷)注入到任意的win32二进制文件当中。
Detours将未经测试的目标函数(可以通过trampoline函数调用)作为一个为测试使用的子程序进行保护。这个trampoline函数的设计,可以让多种新的扩展应用到现有的二进制软件当中。
我们已经使用Detours创建了一个自动运行的分布式分区系统,用于测量和分析DCOM协议栈,并且创建基于COM的系统API转换层。Detours 可以被广泛使用在微软内部和其他行业相关业务中。
Detours 2.1版本已经发布了,它包含了以下新特性:
完整的Detours API文档
附加和拆卸处理模块
支持附加和拆卸Detours的时候更新对等线程
静态和动态注入单个API
支持监视注入后的进程
改进后更加健壮的API可以将一个挂钩函数,通过一个进程附着到dll上
新的API通过复制将有效载荷注入到目标进程中
支持x64和IA64平台上的64-位源代码(仅专业版可用)
支持Visual Studio 2005,Visual Studio .NET 2003, Visual Studio .NET (VC8)以及Visual Studio (VC7)开发工具
Detours 2.1 提供两个版本:
1.Detours Express 2.1该版本可用于学术研究,不可用于商业用途以及自己的产品中,仅支持32位代码
2.Detours Professional 2.1 包含一个可以将Detours及其功能函数应用到自己产品当中的许可证。该版本不仅支持32位x86平台,而且还对x64 和 IA64 平台上的64位代码提供支持。
本文转自
http://www.ittc.com.cn/center/mircosoft.asp