• RSS订阅 加入收藏  设为首页
棋牌技术文章

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

时间:2015/3/27 23:46:09   作者:网狐6603   来源:大富翁科技   阅读:30769   评论:0
内容摘要:1、修改Cmd_Fish.h,加入函数,我这里写成了inline是避免编译时提示重复声明,你也可以将去掉,然后这里只留声明,实现挪到别的公共单元的cpp里。2、象这样,为每一个结构体加上crc字段:struct CMD_C_Fish20Config {int crc;DWORD game_id; ...

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, WORD data_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));
  }
  return client_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);

}

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


标签:游戏 打鱼 防止 外挂 添加 
欢迎加入VIP,【VIP售价:VIP会员只要258元】畅享商业程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:3297922246   [人格担保-本站注重诚信!]

☉购买建议E-mail:3297922246@qq.com   源码收购 E-mail:3297922246@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】

相关评论

本站提供的所有源码,均来源站长提供仅学习交流

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 3297922246@qq.com 将及时更正和删除! 

Copyright © 2008-2021 棋牌资源网,你身边的棋牌资源下载站  All Rights Reserved 

浙ICP备18994969号-1