游戏反私服方案研究

2024-06-07 23:48
文章标签 游戏 方案 私服 研究

本文主要是介绍游戏反私服方案研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

动态代码下发机制

 

1. 提供两组宏, 一组代码抽离宏,一组代码抽离并且执行一次后删除宏    TQP_START / TQP_END   TQP_CLEAR_START / TQP_CLEAR_END

 

2. 客户端在需要抽离代码的地方头尾加入宏

 

3. 代码抽离工具根据识别到的宏,将所有需要抽离的代码抽离出来保存到文件shellcode.dat中,这个文件最后存储到服务器上,为防止被拿走可以做个简单的加密

 

4. 客户端请求下载shellcode文件的时候,客户端随机生成一个clientkey (这个key是反外挂模块生成和保存的)发送给服务端, 服务端收到指令后随机生成一个serverkey, 然后用这两个key组成一个新key加密压缩shellcode.dat

 

5. 服务器发送serverkey给客户端,然后再发送加密后的shellcode.dat文件给客户端

 

6. 客户端收到加密后的shellcode文件,由反外挂模块根据服务器给的serverkey以及自己存储的clientkey, 解密该shellcode文件,调整代码让客户端正确运行起来

 

7. 客户端解密完成后,clientkey立即清除掉

 

8. 这整个通讯过程发送的数据包由反外挂模块加密生成,收到的数据包由反外挂模块解密处理,这样包里面的serverkey和加密后的shellcode.dat不好被私服作者发现。

 

9. 这个通讯过程只能发生一次,反外挂模块记录判断是否通讯过,如果有的话,不再发生二次通讯,否则直接崩溃客户端

 

作用

 

1. 私服没有加密前的shellcode.dat文件,该文件只存在于官方服务器。

 

1. 即使私服作者拦截到加密后的shellcode文件,但是私服没有解密算法没法解密该文件。。

 

2. 即使私服作者用反外挂模块来解密该文件 <<拦截到的加密文件>>,但是由于每次key是由服务器随机生成的,没有正确的key反外挂模块解密不了,客户端无法正常运行

 

3. 即使私服作者拿到一组serverkey和加密后的shellcode文件,然后直接调用反外挂模块来解密,但是由于clientkey在解密过一次后就清除了,所以无法解密 (而且是堆栈中的临时数据,游戏一退出就不存在了)

 

4. 私服作者多次模拟这个通讯过程的话,则反外挂模块直接崩溃客户端

 

难度

 

1. 代码抽离工具的制作

 

2. 反外挂模块解密shellcode.dat并保证客户端正确运行

 

3. 如何保证被抽离的代码块能够打散的分配的动态内存中,从而让私服作者不好还原到对应的客户端地址

 

4. 能做到抽离的客户端文件只留出一条 call dword ptr [xxx]大小的空间,防止私服作者再次把代码复制原地方(没空间给他复制代码)

 

5. 最好能够实现代码简单的混淆,这样,私服作者不好整到原先的代码,还原代码比较费力,简单的乱序变形代码都是存储于分配内存中,想整理出原始代码难度较大

 

6. 乱序变形操作最好在代码抽离工具生成shellcode.dat就已经完成,客户端下载到的就是乱序变形后的代码 

 

关注微信公众号,获取更多最新文章信息

图片

这篇关于游戏反私服方案研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040655

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

MyBatis 切换不同的类型数据库方案

下属案例例当前结合SpringBoot 配置进行讲解。 背景: 实现一个工程里面在部署阶段支持切换不同类型数据库支持。 方案一 数据源配置 关键代码(是什么数据库,该怎么配就怎么配) spring:datasource:name: test# 使用druid数据源type: com.alibaba.druid.pool.DruidDataSource# @需要修改 数据库连接及驱动u

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI