求魔兽争霸t人挂t人挂 邮箱

现如今在平台打魔兽,全图泛滥,基本上每一把都有好几个开图的,而且好多主机开延迟挂 T人挂,非常恶劣的行为,打不过开挂T人....
从魔兽机制上讲,是没办法防止主机踢人的,你跟主机连接,主机就可以获取你的IP地址和端口,断开你连接没办法。
我对其中踢人和延迟比较感兴趣,所以自己编写着试了试,完全乃杀人放火之必备利器!
延迟挂和T人挂原理都差不多,延迟就是在IP数据包发送之前,加个延迟函数sleep(),然后再把数据包返回给你,
这样就造成你比如释放技能,要过好久才有反应,如果延迟比较高,则直接掉线;
而T人则直接断开你的连接,就造成掉线了。
魔兽通过winsocket 传输数据,使用的是 wsock32.dll 我们可以HOOK "send" 和 "sendto",在WSPRecv()上做手脚;
比如要延迟玩家,可以Sleep()几秒后再把数据发送出去。
int WSPAPI WSPRecv(
lpBuffers,
dwBufferCount,
lpNumberOfBytesRecvd,
LPWSAOVERLAPPED
lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
LPWSATHREADID
lpThreadId,
//判断如果开启全部延迟 则全部延迟
if(g_AllToBlock)
Sleep(g_DelaySec);
else if(g_IsDelay)
//s_Socket里面存的是玩家的Socket 判断如果不为null 则延迟
for (int i=0;i&10;i++)
if(s_Socket[i]!=NULL && s==s_Socket[i])
Sleep(g_DelaySec);
return g_NextProcTable.lpWSPRecv(s, lpBuffers, dwBufferCount, lpNumberOfBytesRecvd, lpFlags, lpOverlapped
, lpCompletionRoutine, lpThreadId, lpErrno);
然后我们可以拦截WSPSend()函数来得到聊天信息,判断是否开启踢人和延迟;
int WSPAPI WSPSend(
lpBuffers,
dwBufferCount,
lpNumberOfBytesSent,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
LPWSATHREADID lpThreadId,
unsigned char * bp=(unsigned char *)lpBuffers-&
DWORD i=0;
BOOL flag=TRUE;
u_long bufferlen=lpBuffers-&
if(*(bp+i) == 0xf7)
if(*(bp+i+1) == 0x0F)
if(*(bp+i+12)=='-' )
if(*(bp+i+13)=='d' && *(bp+i+14)=='e'&& *(bp+i+15)=='l' && *(bp+i+16)=='a' && *(bp+i+16)=='y')
g_DelaySec= 2000;//延迟2000毫秒
AddSocket(s);
//把该玩家Socket存到数组里面
g_IsDelay=TRUE;
else if( *(bp+i+13)=='a' && *(bp+i+14)=='g')
g_DelaySec =2000;
g_AllToBlock=TRUE;
return g_NextProcTable.lpWSPSend(s, lpBuffers, dwBufferCount, lpNumberOfBytesSent, dwFlags, lpOverlapped
, lpCompletionRoutine, lpThreadId, lpErrno);
我在BreezeMH V2.5的基础上编写了延迟功能,测试开启延迟,对方根本没办法玩!
  聊天输入-ag延迟全部玩家 连续打几次 -ag 全部掉线& 加分或VS显示&游戏由于网络异常结束&
  私聊-laji 延迟对方& 延迟毫秒数可以在配置文件修改 点击托盘的M图标打开配置文件 修改默认延迟毫秒& 如果需要对方掉线 请在配置文件把默认延迟毫秒设置高点
  随便找个人私聊 -jia 增加延迟 -jian 减少延迟& 每次加减延迟毫秒可以在配置文件修改
  聊天输入-as 取消所有延迟& 为了防止打错命令 所有&-&开头的命令对方都看不到
以下是软件的下载地址:
此软件仅供学习交流使用
阅读(...) 评论()

参考资料

 

随机推荐