通天源码论坛捕鱼游戏 HGE打鱼防止外挂,添加CRC效验方法含代码
2017-09-18 17:36
911 查看
(有什么问题欢迎指教,企鹅:2172243813 更多资讯尽在www.ttkmwl.com)
1、修改Cmd_Fish.h,加入函数,我这里写成了inline是避免编译时提示重复声明,你也可以将去掉,然后这里只留声明,实现挪到别的公共单元的cpp里。
捕鱼游戏_HGE打鱼防止外挂,添加CRC效验方法含代码
2、象这样,为每一个结构体加上crc字段:
struct CMD_C_Fish20Config {
int crc;
DWORD game_id;
int catch_count;
double catch_probability;
};
3、修改Game_Manager.cpp中的SendSocketData函数:
bool GameManager::SendSocketData(WORD sub_cmdid, void* data, WORDdata_size) {
if (client_kernel_ == NULL)return false;
if(client_kernel_->IsLookonMode()) return false;
if(data_size>sizeof(int)){
*((int*)data)=FishCRC32((char*)data+sizeof(int),data_size-sizeof(int));
}
returnclient_kernel_->SendSocketData(MDM_GF_GAME, sub_cmdid, data,data_size);
}
这样子就不用挨个修改上面的函数赋值了。
4、服务器端修改 table_frame_sink.cpp,处理收到游戏消息的命令,加上前置的处理:
if (data_size>sizeof(int)){
if(*((int*)data)!=FishCRC32((char*)data+sizeof(int),data_size-sizeof(int))){
//无效的客户端数据包,踢掉他
}
data=(char*)data+sizeof(int);
data_size-=sizeof(int);
}
1、修改Cmd_Fish.h,加入函数,我这里写成了inline是避免编译时提示重复声明,你也可以将去掉,然后这里只留声明,实现挪到别的公共单元的cpp里。
捕鱼游戏_HGE打鱼防止外挂,添加CRC效验方法含代码
2、象这样,为每一个结构体加上crc字段:
struct CMD_C_Fish20Config {
int crc;
DWORD game_id;
int catch_count;
double catch_probability;
};
3、修改Game_Manager.cpp中的SendSocketData函数:
bool GameManager::SendSocketData(WORD sub_cmdid, void* data, WORDdata_size) {
if (client_kernel_ == NULL)return false;
if(client_kernel_->IsLookonMode()) return false;
if(data_size>sizeof(int)){
*((int*)data)=FishCRC32((char*)data+sizeof(int),data_size-sizeof(int));
}
returnclient_kernel_->SendSocketData(MDM_GF_GAME, sub_cmdid, data,data_size);
}
这样子就不用挨个修改上面的函数赋值了。
4、服务器端修改 table_frame_sink.cpp,处理收到游戏消息的命令,加上前置的处理:
if (data_size>sizeof(int)){
if(*((int*)data)!=FishCRC32((char*)data+sizeof(int),data_size-sizeof(int))){
//无效的客户端数据包,踢掉他
}
data=(char*)data+sizeof(int);
data_size-=sizeof(int);
}
相关文章推荐
- JNI防止Android游戏恶意注入代码的方法(转)
- C++的简单“五子棋”游戏,只是核心代码,资源代码未添加
- ASP申请单动态添加实现方法及代码
- 防止库存出现负数,需添加代码
- Win8系统玩LOL游戏提示"关闭程序以防止信息丢失"的解决方法
- 如何实现在已有代码之后添加逻辑之继承,组合(静态代理)实现方法
- Java添加事件监听的四种方法代码实例
- VS项目编译包含CUDA的静态库及在原项目中添加CUDA优化代码方法
- 防止代码变质的思考与方法
- 编写高质量代码改善C#程序的157个建议——建议101:使用扩展方法,向现有类型“添加”方法
- 添加RSS到asp.net网站的方法加代码
- DropDownList 后台代码添加Item的方法,适合大量Item的添加
- 防止代码变质的思考与方法
- Objective-C中防止重复代码的一种方法
- 手机街机电玩城游戏开发之打鱼平台捕鱼软件开发海南华软来啦
- 备份:防止代码变质的思考与方法
- Javascript 数组添加 shuffle 方法的实现代码
- 基于Unity3D的Android游戏添加google广告的方法——使用AdMob
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法 推荐