xHook

所属分类:钩子与API截获
开发工具:Visual C++
文件大小:57KB
下载次数:235
上传日期:2005-11-02 13:00:18
上 传 者奇异果
说明:  当你在网络上抓到一些数据包,想知道这些包是哪个进程发出来的时候, 怎么办?这个小工具也许能帮一些忙。 这个工具采用的是HOOK进程的winsock API,把一些数据记录下来。
(When you caught on the network data packets and would like to know which of these packages is issued to the process, how do? This small tools may be able to help some busy. This tool is used in the process of winsock HOOK API, some data is recorded.)

文件列表:
xHook (0, 2004-08-03)
xHook\bin (0, 2004-08-03)
xHook\bin\inject.exe (40960, 2004-07-01)
xHook\bin\xHook.dll (53248, 2004-08-03)
xHook\src (0, 2004-08-03)
xHook\src\inject (0, 2004-08-03)
xHook\src\inject\inject.cpp (3534, 2004-08-03)
xHook\src\xHook (0, 2004-08-03)
xHook\src\xHook\StdAfx.cpp (292, 2004-08-03)
xHook\src\xHook\StdAfx.h (802, 2004-08-03)
xHook\src\xHook\xHook.bbs (63, 2004-08-03)
xHook\src\xHook\xHook.cpp (16038, 2004-08-03)
xHook\src\xHook\xHook.dsp (4337, 2004-08-03)
xHook\src\xHook\xHook.dsw (533, 2004-08-03)
xHook\src\xHook\xHook.h (813, 2004-08-03)
xHook\src\xHook\xHook.ncb (82944, 2004-08-03)
xHook\src\xHook\xHook.opt (48640, 2004-08-03)
xHook\src\xHook\xHook.plg (1238, 2004-08-03)

当你在网络上抓到一些数据包,想知道这些包是哪个进程发出来的时候, 怎么办?这个小工具也许能帮一些忙。 这个工具采用的是HOOK进程的winsock API,把一些数据记录下来。 HOOK API在《windows核心编程》提到的有两种, 1.1 修改IAT。缺点:象shellcode中常用的那种根据DLL输出表来计算函数 地址的方法,修改IAT就无法HOOK到目标函数了。 1.2 修改目标函数的前几字节,跳转到我们的函数,我们的函数里面再把那 几个字节还原,调用原函数。重复。缺点:多线程环境下这种方法并不 健壮。 29A杂志里面的文章《挂钩Windows API》也提到了几种办法: (中译文见http://www.xfocus.net/articles/200403/681.html) 2.1 patch静态文件,即运行前挂钩. 2.2 也是修改IAT,跟1.1一样. 2.3 修改目标函数的前几个字节,跳转到新的函数,但不再调用原始函数,无 实际意义,作者只是做演示? 2.4 这种方法(3.2.3 保存原始函数)很COOL,其中的亮点和难点就是“获取任意 地址的指令长度”。 之前我也想用2.4这种办法,但卡在如何“获取任意地址的指令长度”上面了:( 在看到《挂钩Windows API》这篇文章之前,我取了一个比较简单有效的办法: 3.1 把目标函数的DLL COPY一份到内存中,修改原目标函数的前几字节,跳转 到我们的函数,在我们的函数中调用原函数新的COPY。 eyas 2004-08-03

近期下载者

相关文件


收藏者