游戏外挂设计方法(10)

发布时间:2021-06-07

游戏外挂设计方法

if(hModule==NULL){

//加载原WinSock库,原WinSock库已复制为wsock32.001。

hModule=LoadLibrary("wsock32.001");

}

else return 1;

//获取原WinSock库中的所有函数的地址并保存,下面仅列出部分代码。

if(hModule!=NULL){

//获取原WinSock库初始化函数的地址,并保存到WSAStartup1中。

proc=GetProcAddress(hModule,"WSAStartup");

WSAStartup1=(int (_stdcall *)(WORD,LPWSADATA))proc;

//获取原WinSock库消除函数的地址,并保存到WSACleanup1中。

proc=GetProcAddress(hModule i,"WSACleanup");

WSACleanup1=(int (_stdcall *)())proc;

//获取原创建Sock函数的地址,并保存到socket1中。

proc=GetProcAddress(hModule,"socket");

socket1=(SOCKET (_stdcall *)(int ,int,int))proc;

//获取原创建连接函数的地址,并保存到connect1中。

proc=GetProcAddress(hModule,"connect");

connect1=(int (_stdcall *)(SOCKET ,const struct sockaddr *,int ))proc; //获取原发送函数的地址,并保存到send1中。

proc=GetProcAddress(hModule,"send");

send1=(int (_stdcall *)(SOCKET ,const char * ,int ,int ))proc;

//获取原接收函数的地址,并保存到recv1中。

proc=GetProcAddress(hModule,"recv");

recv1=(int (_stdcall *)(SOCKET ,char FAR * ,int ,int ))proc;

......其它获取函数地址代码略。

}

else return 0;

return 1;

}

③ 定义库输出函数,在此可以对我们感兴趣的函数中添加外挂控制代码,在所有的输出函数的最后一步都调用原WinSock库的同名函数。部分输出函数定义代码如下:

//库输出函数定义。

//WinSock初始化函数。

int PASCAL FAR WSAStartup(WORD wVersionRequired, LPWSADATA lpWSAData)

{

//调用原WinSock库初始化函数

return WSAStartup1(wVersionRequired,lpWSAData);

}

//WinSock结束清除函数。

int PASCAL FAR WSACleanup(void)

{

游戏外挂设计方法(10).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219