hook socket send recv的代码

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
程序演示如何拦截一个程序对sendrecv函数的调用,
并把sendrecv函数的参数用 WM_COPYDATA 消息发送
到监视程序中。
附带演示如何拦截DirectDrawCreate,并把
DirectDrawCreate返回的IDirectDraw指针中的函数 
SetCooperativeLevel 进行了拦截。
              要得到最新程序,请发 email 给我: zhaowd2001@yahoo
使用举例:
把程序解压到 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网页,此时,
directdraw  中可以看到iesend,recv操作
程序目录结构:
1.
启动指定的进程,并用CreateRemoteThread方法把一个dll加载进进程地址空间。
/d:c:\temp\ddraw\bin\DetourDDraw.dll c:\winnt\
将启动ie,并把 DetourDDraw.dll 注入 ie 的地址空间
2.
显示 DetourDDraw.dll 通过 WM_COPYDATA 发送来得消息
vc6 来编译
3.src\DetourDDraw
DetourDDraw.dll的源程序。
微软研究院的 detour 开发包,拦截 send,recv,DirectDrawCreate函数的例子。
注意,程序把 WM_COPYDATA发送的数据大小限制为96个字节,你可以修改
DetourDDrawcopydata.h中的COPYDATA_MAX_SIZE 来改变这个大小,0 表示不限制数据大小。
DetourDDraw.dll send,recv 函数内面查 class 
COPYDATA2GUI_CLASScaptionopbiCOPYDATA2GUI_CAPTION 的窗口,
到的话,就用WM_COPYDATA send,recv的信息发送给这个窗口。
你可以修改这两个常量,把消息发送给自己的程序。 
就创建了一个captionCOPYDATA2GUI_CAPTION的隐藏窗口,
用来接收青铜截止阀 DetourDDraw.dll 发送的消息。
makedetourddraw.bat 来编译 DetourDDraw.dll
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编译
ras同步适配器
4.src\DDrawMessage
MFC程序,关键是 CDDrawMessageHiddenDlg::OnCopyData 
函数,其他都是MFC自己创建的。
vc6 来编译
防滑垫片
5.src\GameServer
一个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\
启动 ,
过一段时间,切换到 ,可以看到 的所有send,recv操作了。
正如你所看到的,DetourDDraw.dll 可以拦截任意进程的send,recv操作,而不限于iedirectdraw游戏。
祝:
玩的开心!
2003.12.23
附件是 bin,source在下个贴子的附件内。
***************************************************
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_
2)2006.4.4 socket hook 的源代码

sockethook_20060404_ 
本主题包含附件: sf_2003122511289.rar (225135bytes)
此文件由用户上传,GameRes无法确定其安全性,请慎重使用!

本文发布于:2024-09-22 13:40:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/336471.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:拦截   程序   函数   进程   数据   消息   用来   演示
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议