棋牌源码吧

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 275|回复: 0

HGE捕鱼游戏防止外挂,添加CRC效验方法含代码

[复制链接]

2971

主题

0

回帖

8930

积分

超级版主

Rank: 8Rank: 8

积分
8930
发表于 2023-8-9 03:16:17 | 显示全部楼层 |阅读模式
1、修改Cmd_Fish.h,加入函数,我这里写成了inline是避免编译时提示重复声明,你也可以将去掉,然后这里只留声明,实现挪到别的公共单元的cpp外挂软件和平精英里
2、象这样,为每一个结构体加上crc字段:
struct CMD_C_Fish20Config {
int crc;
DWORD game_id;
int catch_count;
double catch_prob函数公式excelability;
};
3、修改Game_Manager.cpp中的SendSocketData函数:
bool GameManager::SendSo函数cketData(W函数公式大全及图解ORD sub_c游戏加速器mdid, void data, WORD data_size) {
if (client_kernel_ == NULL) return false;
if (client_kernel_->IsLook代码大全onMode()) return fa函数公式大全及图解l代码大全可复制se;
if (data_外挂傍身的杂草size&g外挂大军阀t;函数公式excelsizeof(int)){
((int )data)=FishCRC32((cha函数可导的条件是什么r )data+si效验zeof(i外挂软件和平精英nt),data_siz代码编程软件e-sizeof(int));
}
return client_kernel_-&gt函数公式;Se函数求导公式ndSocketData(MDM_GF_GAME, sub_cm函数公式大全及图解did, data, data_size);
}
这样子就不用挨个修改上面的函数赋值了
服务器端修改 table_frame_sink.cpp,处理收代码大全到游戏消息的命令,加上前置的处理:
if (data_size>sizeof(int)){
if(((int )data)!=FishCRC32((char )data+sizeof(int),data_size-siz代码图片eof(int))){
//无效的客户端外挂大军阀数据包,踢掉他
}
data=(char )data+sizeof(int);
data_size-=sizeof(int);
}
以上修改操作,无非就是加了一个对客户端的服务端验证处理。

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棋牌源码吧

GMT+8, 2024-11-22 21:35 , Processed in 0.064666 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表