文件名称:TestDebug
- 所属分类:
- 钩子与API截获
- 资源属性:
- [Windows] [Visual C] [源码]
- 上传时间:
- 2012-11-26
- 文件大小:
- 34kb
- 下载次数:
- 0次
- 提 供 者:
- 李*
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
跟踪监视方案概览
作者:彭春华
当我们对某一目标程序进行API函数的跟踪监视分析时,根据跟踪监视的目标,基本上有以下几种途径实现对API函数的跟踪监视:
写Log记录分析
如果拥有目标程序的源代码,就可以在关键的API函数的入口点和出口点记录API的参数和运行结果。在除错程序中是经常可以看到这种方法的。该方法的缺点就是必须拥有源代码,每次修改Log时必须重新编译源代码。由于该方案和我们要讨论的目标不同,在此不作讨论。
将监视代码注入目标程序
该方案的原理是在目标程序运行时,将监视代码注入到目标程序的进程空间。监视代码通过前期的准备工作,修改目标程序的运行代码,使得目标程序调用指定的API函数时,运行指令会跳转到监视代码中,这样,监视代码就可以记录下API函数的运行参数,然后,监视代码在运行用来的API函数代码。在用来的API函数代码运行完后,再回到监视代码中,将来下运行结果,再返回目标程序。其运行原理图为:
在32位Windows平台上,各进程空间是独立的。要在目标程序中运行监视代码就必须将监视代码注入到目标进程。一种常用的方法就是将监视代码编译成一个DLL,再将该DLL注入到目标进程中。关于将DLL注入目标进程的文章有很多,
作者:彭春华
当我们对某一目标程序进行API函数的跟踪监视分析时,根据跟踪监视的目标,基本上有以下几种途径实现对API函数的跟踪监视:
写Log记录分析
如果拥有目标程序的源代码,就可以在关键的API函数的入口点和出口点记录API的参数和运行结果。在除错程序中是经常可以看到这种方法的。该方法的缺点就是必须拥有源代码,每次修改Log时必须重新编译源代码。由于该方案和我们要讨论的目标不同,在此不作讨论。
将监视代码注入目标程序
该方案的原理是在目标程序运行时,将监视代码注入到目标程序的进程空间。监视代码通过前期的准备工作,修改目标程序的运行代码,使得目标程序调用指定的API函数时,运行指令会跳转到监视代码中,这样,监视代码就可以记录下API函数的运行参数,然后,监视代码在运行用来的API函数代码。在用来的API函数代码运行完后,再回到监视代码中,将来下运行结果,再返回目标程序。其运行原理图为:
在32位Windows平台上,各进程空间是独立的。要在目标程序中运行监视代码就必须将监视代码注入到目标进程。一种常用的方法就是将监视代码编译成一个DLL,再将该DLL注入到目标进程中。关于将DLL注入目标进程的文章有很多,
(系统自动生成,下载前可以参看下载内容)
下载文件列表
DebugThread.cpp
DebugThread.h
Release
.......\TestDebug.exe
res
...\TestDebug.rc2
resource.h
StdAfx.cpp
StdAfx.h
TestDebug.cpp
TestDebug.dsp
TestDebug.dsw
TestDebug.h
TestDebug.rc
TestDebug.rc.bak
TestDebugDlg.cpp
TestDebugDlg.h
DebugThread.h
Release
.......\TestDebug.exe
res
...\TestDebug.rc2
resource.h
StdAfx.cpp
StdAfx.h
TestDebug.cpp
TestDebug.dsp
TestDebug.dsw
TestDebug.h
TestDebug.rc
TestDebug.rc.bak
TestDebugDlg.cpp
TestDebugDlg.h