游戏外挂设计方法
return WSACleanup1(); //调用原WinSock库结束清除函数。
}
//创建Socket函数。
SOCKET PASCAL FAR socket (int af, int type, int protocol)
{
//调用原WinSock库创建Socket函数。
return socket1(af,type,protocol);
}
//发送数据包函数
int PASCAL FAR send(SOCKET s,const char * buf,int len,int flags)
{
//在此可以对发送的缓冲buf的内容进行修改,以实现欺骗服务器。
外挂代码......
//调用原WinSock库发送数据包函数。
return send1(s,buf,len,flags);
}
//接收数据包函数。
int PASCAL FAR recv(SOCKET s, char FAR * buf, int len, int flags)
{
//在此可以挡截到服务器端发送到客户端的数据包,先将其保存到buffer中。
strcpy(buffer,buf);
//对buffer数据包数据进行分析后,对其按照玩家的指令进行相关修改。
外挂代码......
//最后调用原WinSock中的接收数据包函数。
return recv1(s, buffer, len, flags);
}
.......其它函数定义代码略。
(4)、新建wsock32.def配置文件,在其中加入所有库输出函数的声明,部分声明代码如下:
LIBRARY "wsock32"
EXPORTS
WSAStartup @1
WSACleanup @2
recv @3
send @4
socket @5
bind @6
closesocket @7
connect @8
......其它输出函数声明代码略。
(5)、从“工程”菜单中选择“设置”,弹出Project Setting对话框,选择Link标签,在“对象/库模块”中输入Ws2_32.lib。