hook socket send recv的代码(zz)
作者:阿网 来源:博客园 发布时间:2009-03-26 18:17 阅读:1931 次 原文链接 [收藏]
(zzfrom)hack.gameres/showthread.asp?threadid=3379
hook socket send recv的代码(1)
最后更新:2005.07.17
最后更新:2005.07.17
本程序演示如何拦截一个程序对send、recv函数的调用,
并把send、recv函数的参数用 WM_COPYDATA 消息发送
到监视程序中。
并把send、recv函数的参数用 WM_COPYDATA 消息发送
到监视程序中。
附带演示如何拦截DirectDrawCreate,并把
DirectDrawCreate返回的IDirectDraw指针中的函数
SetCooperativeLevel 进行了拦截。
DirectDrawCreate返回的IDirectDraw指针中的函数
SetCooperativeLevel 进行了拦截。
要得到最新程序,请发 email 给我: zhaowd2001@yahoo
使用举例:
把程序解压到 C:\temp\ddraw\bin
启动,并转到 C:\temp\ddraw\bin 目录下。
其中,C:\temp\ddraw\bin 是程序所在目录
把程序解压到 C:\temp\ddraw\bin
启动,并转到 C:\temp\ddraw\bin 目录下。
其中,C:\temp\ddraw\bin 是程序所在目录
例子: 拦截 ie 的send,recv操作:
1)在命令行输入
/d:c:\temp\ddraw\bin\DetourDDraw.dll "%programfiles%\internet "
将启动ie,并把 DetourDDraw.dll 注入 ie 的地址空间。
2)启动
在 ie 中浏览www.microsoft网页,此时,
在 中可以看到ie的send,recv操作
/d:c:\temp\ddraw\bin\DetourDDraw.dll "%programfiles%\internet "
将启动ie,并把 DetourDDraw.dll 注入 ie 的地址空间。
2)启动
在 ie 中浏览www.microsoft网页,此时,
在 中可以看到ie的send,recv操作
程序目录结构:
1.
启动指定的进程,并用CreateRemoteThread方法把一个dll加载进进程地址空间。
/d:c:\temp\ddraw\bin\DetourDDraw.dll c:\winnt\
将启动ie,并把 DetourDDraw.dll 注入 ie 的地址空间
启动指定的进程,并用CreateRemoteThread方法把一个dll加载进进程地址空间。
/d:c:\temp\ddraw\bin\DetourDDraw.dll c:\winnt\
将启动ie,并把 DetourDDraw.dll 注入 ie 的地址空间
2.
显示 DetourDDraw.dll 通过 WM_COPYDATA 发送来得消息
显示 DetourDDraw.dll 通过 WM_COPYDATA 发送来得消息
用 vc6 来编译
3.src\DetourDDraw
DetourDDraw.dll的源程序。
用 微软研究院的 detour 开发包,拦截 send,recv,DirectDrawCreate函数的例子。
DetourDDraw.dll的源程序。
用 微软研究院的 detour 开发包,拦截 send,recv,DirectDrawCreate函数的例子。
注意,程序把 WM_COPYDATA发送的数据大小限制为96个字节,你可以修改
DetourDDrawcopydata.h中的COPYDATA_MAX_SIZE 来改变这个大小,0 表示不限制数据大小。
DetourDDrawcopydata.h中的COPYDATA_MAX_SIZE 来改变这个大小,0 表示不限制数据大小。
DetourDDraw.dll 在 send,recv 函数内面查 class
为COPYDATA2GUI_CLASS,caption为COPYDATA2GUI_CAPTION 的窗口,
到的话,就用WM_COPYDATA 把send,recv的信息发送给这个窗口。
为COPYDATA2GUI_CLASS,caption为COPYDATA2GUI_CAPTION 的窗口,
到的话,就用WM_COPYDATA 把send,recv的信息发送给这个窗口。
你可以修改这两个常量,把消息发送给自己的程序。
就创建了一个caption为COPYDATA2GUI_CAPTION的隐藏窗口,
用来接收 DetourDDraw.dll 发送的消息。
用 makedetourddraw.bat 来编译 DetourDDraw.dll
就创建了一个caption为COPYDATA2GUI_CAPTION的隐藏窗口,
用来接收 DetourDDraw.dll 发送的消息。
用 makedetourddraw.bat 来编译 DetourDDraw.dll
detours下载:
research.microsoft/sn/detours/
research.microsoft/sn/detours/
detourddraw 的编译:
1)启动
2)运行 c:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat
3)转到 detourddraw 的目录下
4)输入 nmake即可编译detourddraw,或者用 makedetourddraw.bat编译
1)启动
2)运行 c:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat
3)转到 detourddraw 的目录下
4)输入 nmake即可编译detourddraw,或者用 makedetourddraw.bat编译
4.src\DDrawMessage
的MFC程序,关键是 CDDrawMessageHiddenDlg::OnCopyData
函数,其他都是MFC自己创建的。
的MFC程序,关键是 CDDrawMessageHiddenDlg::OnCopyData
函数,其他都是MFC自己创建的。
用 vc6 来编译
5.src\GameServer
一个socket服务程序,listen的端口是 7001。
用 makegameserver.bat 来编译。
一个socket服务程序,listen的端口是 7001。
用 makegameserver.bat 来编译。
6.src\FullScreenMode
从 DirectX SDK 中拿出的一个例子,用来做 DirectDraw 动画。
我在代码中增加了 connect,send,recv 调用,用来模拟某些网络游戏。
会connect 127.0.0.1 上的 7001 端口,并把接收到的数据显示出来。
启动和,
然后用
/d:c:\temp\ddraw\bin\DetourDDraw.dll c:\temp\ddraw\
从 DirectX SDK 中拿出的一个例子,用来做 DirectDraw 动画。
我在代码中增加了 connect,send,recv 调用,用来模拟某些网络游戏。
会connect 127.0.0.1 上的 7001 端口,并把接收到的数据显示出来。
启动和,
然后用
/d:c:\temp\ddraw\bin\DetourDDraw.dll c:\temp\ddraw\
启动 ,
过一段时间,切换到 ,可以看到 的所有send,recv操作了。
过一段时间,切换到 ,可以看到 的所有send,recv操作了。
正如你所看到的,DetourDDraw.dll 可以拦截任意进程的send,recv操作,而不限于ie和directdraw游戏。
祝:
玩的开心!
2003.12.23
玩的开心!
2003.12.23
附件是 bin,source在下个贴子的附件内。
***************************************************
recv函数2005.07.17 23:30
send,recv,connect 在win 2000内有两个版本:wsock32.dll, ws2_32.dll
我的演示代码内只拦截一个dll,这也是为什么有的包没有拦截下来。
我修改了一下代码,同时拦截wsock32.dll, ws2_32.dll,就再没有碰到拦截不到的应用程序了。
本主题包含附件: sf_20031225112729.rar (225406bytes)
此文件由用户上传,GameRes无法确定其安全性,请慎重使用!
recv函数2005.07.17 23:30
send,recv,connect 在win 2000内有两个版本:wsock32.dll, ws2_32.dll
我的演示代码内只拦截一个dll,这也是为什么有的包没有拦截下来。
我修改了一下代码,同时拦截wsock32.dll, ws2_32.dll,就再没有碰到拦截不到的应用程序了。
本主题包含附件: sf_20031225112729.rar (225406bytes)
此文件由用户上传,GameRes无法确定其安全性,请慎重使用!
Re: hook socket send recv的代码(2)
1)2006.4.4 socket hook 的可执行文件
sockethook_20060404_
1)2006.4.4 socket hook 的可执行文件
sockethook_20060404_
2)2006.4.4 socket hook 的源代码
sockethook_20060404_
sockethook_20060404_
本主题包含附件: sf_2003122511289.rar (225135bytes)
此文件由用户上传,GameRes无法确定其安全性,请慎重使用!
此文件由用户上传,GameRes无法确定其安全性,请慎重使用!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论