对于程序员来讲,API拦截技术是一种重要的基础技术。这项技能为编写某些工具软件提供了可能,并可以大大提高我们对第三方应用程序的控制能力。不过,目前 API 拦截的技术资料往往局限于原理方面的论述,对于如何具体地编译一个 API 拦截程序却守口如瓶。毕竟,对于程序员来讲,当初学习这项技能花费了不少心血,如果让他们无偿地奉献出来,恐怕不太现实;另外的一个因素就是竞争,多一个人学会这项技能,就多一份竞争。我在掌握这项技能的时候,就走了不少弯路,如果当初有一份详细的资料,这些不必要的弯路是完全可以避免。而这正是我编写这份技术资料的目的。
要学习 API 拦截技术,您需要以下知识:
C/C++ 相关知识
VC 编译器的使用方法。在本技术资料中,将主要以 VC7 编译器作为范例,对于 VC6 编译器也同样适用。
dll 的相关知识。关于 dll,很多书都有详细的讲解,在此我推荐《Windows 核心编程》一书。这本书关于 dll 的讲解非常详细到位,是一本不可多得的好书。在技术资料中,我会简单地讲述一下与 API 拦截相关的 dll 知识。
API 拦截程序分为 2 个部分,一个是 exe 程序,这是一个外壳程序。另外一个是 dll 程序,dll 中包含有 API 拦截模块,我们通过 Windows 挂钩的方法将 dll 注入到目标程序中去。
在这份技术资料的编写过程中,难免会有这样那样的不足之处。如果您有什么意见与建议,请通过 email 与我联系 |