网络游戏的防作弊技术(TCP)
Cheat-Proof techniques for Online Game(TCP)
我正在创建一个游戏,我真的很担心黑客攻击,所以我在游戏内部写了一个反作弊,我搜索了现在的黑客是如何编写的,我发现了一些模式,首先,几乎每个hack都使用线程(通常使用CreateThread())来创建检查循环(检查hack是否打开/关闭),你们中的任何人有没有好方法来检查线程是否来自游戏?PS:I还使用代码外部的线程(DLL 内部)
几乎可以肯定的是,找到一种不同的"反作弊"方式会更好,因为正如 cdhowie 指出的那样,没有什么可以阻止聪明的人用一些不做你想要的东西来攻击你的反作弊代码。
有一些技术效果更好:
让服务器做所有"重要"的事情,比如弄清楚你得到的分数和你还剩下多少生命,如果玩家变成了 zoombie(在他死后试图移动),那就出了问题。
我认为另一种相当有效的方法是基本上记录玩家如何到达他们所在位置的"日志"——他们使用了多少生命,杀死了多少敌人,敌人的类型、每个敌人的分数、使用的武器、射击、完成所有这些需要多长时间,然后让服务器验证它是"合理的"——所以如果有人增加了他们的生命数量, 或更换武器以造成100倍的伤害,或减慢敌人的速度或加快玩家时间,它将显示在"日志"中,然后日志可以作为"假"丢弃。
相关文章:
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 在C++中样板"冷/never_inline"错误处理技术的最佳方法是什么?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- C++ 关于指针取消引用的技术问题
- 通过TCP的PvP通信问题
- 是否有技术原因阻止 Java 中的 final C++ 像 const 一样严格?
- C++ boost::asio::ip::tcp::acceptor 有时不接受连接器?
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 计算出有多少客户端可以连接到我正在使用的一些tcp服务器代码
- 通过单独的 tcp 流建立 http 连接
- 如何在 SEAL 3.1 中使用 CRT 批处理技术Microsoft?
- 读取 TCP 标头并使用RAW_SOCKET管理 TCP 连接
- 暴力破解技术解决以下问题
- C++ TCP 套接字通信 - 连接按预期工作,几秒钟后失败,没有收到新数据,read() 和 recv() 块
- grpc 的 ServerBuilder::AddListeningPort() 总是返回 TCP 端口零
- 网络游戏的防作弊技术(TCP)