Binance Square
LIVE
DamoclesLabs
@DamoclesLabs_Senna
专注GameFi行业的安全分析与评估。 Twitter:@DamoclesLabs
Following
Followers
Liked
Shared
All Content
LIVE
--
BigTime游戏分析&安全评估概要 BigTime 于2023年10.10号上线代币后引起了GameFi的热潮,团队从9月份开始关注BigTime但是苦于没有资格一直未进行分析,在最近降低注册门槛以后,我们开始针对BigTime进行一系列的安全分析与测试,其中包括针对游戏客户端属性篡改,GameRPC恶意调用测试,代币合约审计等。通过对游戏的整体评估,我们发现该游戏的安全性较差,对于恶意玩家来看,其作弊成本低。并且游戏的分析难度低。如果项目方想持续运营游戏,提升游戏的安全性与公平性应该放在后期运营首位。 游戏背景 Ø  进行评估的游戏版本:v0.28-CL#78459 Ø  游戏类型&游戏引擎:MMORPG,UE4.27 Ø  游戏玩法可能存在的问题:  非法移动(通过RPC进行恶意封包进行瞬移,加速等操作) 加速(游戏内大世界时间, UE框架下的时间函数)一键连段/一键技能循环 NFT锻造加速NFT随机数操纵 副本结束后的多重结算 游戏安全性分析 游戏代码保护: 分析过程: 1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用UE4.27.2进行开发。 2.    将游戏导入IDA,发现游戏代码未进行加固,并且通过UE4.27的特征码搜索可以快速定位到GWorld变量 并且可以发现,字符串同样是没有加密。 因此在确定可以通过特征码定位到Gworld,并且游戏没有加密以后,可以通过提取NamePool特征码通过一些SDK Dump工具进行dump。 在获取到游戏SDK后可以加速分析。 分析结论:        BigTime在游戏代码保护方面得分为0,毫无保护。在传统游戏中,往往会采用定制加密,加壳等方式对源码进行保护。由于BigTime并没有健全的游戏基础代码保护,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来说是不公平的,且有一定可能会对游戏的经济模型造成影响。 游戏基础反作弊: 分析过程: 1.      在基础反作弊检测方面,我们主要从两个方面进行测试,一个是游戏是否存在反调试,另一个是游戏是否存在读写保护。 2.      在游戏打开状态下使用CE进行附加,并且对通用函数进行下断点,发现游戏并没有退出,或者提示 3.    通过CE对修改游戏内的Health进行修改,发现可以生效并且游戏并没有进行弹窗或者提示。(修改Health仅是为了更直观的显示,该字段一般来说都是存储在服务器,本地修改时是并没有任何效果的) 分析结论: 1.      BigTime在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。 2.      只测试反调试和读写保护两个方面的原因是对于一块外挂来说,找数据与实现功能只需要通过调试和读写就可以实现。如果最基础的两个保护能力都缺失的话,那么一些注入、hook等检测也毫无意义。 游戏逻辑问题 分析过程:        对于基于UE开发的MMO类型的游戏来说,篡改本地数据的收益很低,原因是UE有成型的同步机制,用于各个Actor和其他属性之间的同步以及服务端校验,但是通过分析游戏源码来看,很明显BigTime并没有将属性同步机制合理运用,还是有部分数据落地,例如Comboindex功能,通过对combo Index设置写入断点,可以找到写入函数,之后便可以对combo功能进行调试。(具体操作会影响公平性,不做演示) 分析结论: 1.      BigTime的整体游戏逻辑安全问题并不是很突出,但是还是存在一定的安全风险,因次逻辑安全评分为4分。 2.      针对某些敏感属性缺少同步机制,更多的应该放到服务端加密。 游戏RPC分析 由于RPC问题较为敏感,再缺少项目方授权下暂不展开分析。目前BigTime RPC安全防护为0,并且对于某些RPC包经测试后发现,服务器都会认可,其安全评分为0。建议项目方针对RPC整体安全进行详细审计。下图为部分RPC信息。 WEB3安全分析: 概要: Bigtime作为一款链游,在Web3设计上可以分为两部分,分别是:基础bigtime代币部分,以及游戏内的WEB3经济系统部分。该部分设计相对其他游戏相对分离,游戏内负责产出代币与锻造NFT,同时在ETH上部署一个固定流通的代币合约。 代币合约安全: 代币基础信息如下: Address:0x64Bc2cA1Be492bE7185FAA2c8835d9b824c8a194 Symbol:BIGTIME Owner:0xc3322716475fba83bfc057112247a43f1a1f2c4c(GnosisSafe) TotalSupply:5,000,000,000 BigTime代币合约采用向多签名钱包Mint代币,然后采用固定供应量的方式进行部署。因为当前代币合约功能简单,所以合约的基础安全性是足够的。通过观察Owner钱包的Tx信息,可以看到Owner钱包再获取到代币以后向几个钱包分别转帐了部分代币。 这些钱包大部分都是使用Safe的多签钱包。基于此可以发现当前与代币相关的整体安全风险主要来源于私钥泄露,以及项目方是否存在特权账户。虽然使用了多签,但是如果存在特权账户私钥泄露的话,还是会存在一定的盗币风险。 游戏内经济系统安全: 在BigTime中玩家可以进入时空守卫的空间进行锻造时间沙漏,时间沙漏充能等操作,这部分可以直接影响市场平衡的功能有部分代码是存放在本地执行的,虽然不清楚GS是如何设计的,但是这种行为属于高危行为。如下 类似这种RPC函数有很多,考虑到测试成本较高,我们暂时不做任何的安全测试,希望项目方能对这部分内容在服务器做好严格判断。 关于Damocles Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊,合约代码审计,业务代码审计,渗透测试等。 我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。 Twitter: https://twitter.com/DamoclesLabs Discord: https://discord.gg/xd6H6eqFHz

BigTime游戏分析&安全评估

概要
BigTime 于2023年10.10号上线代币后引起了GameFi的热潮,团队从9月份开始关注BigTime但是苦于没有资格一直未进行分析,在最近降低注册门槛以后,我们开始针对BigTime进行一系列的安全分析与测试,其中包括针对游戏客户端属性篡改,GameRPC恶意调用测试,代币合约审计等。通过对游戏的整体评估,我们发现该游戏的安全性较差,对于恶意玩家来看,其作弊成本低。并且游戏的分析难度低。如果项目方想持续运营游戏,提升游戏的安全性与公平性应该放在后期运营首位。
游戏背景
Ø  进行评估的游戏版本:v0.28-CL#78459
Ø  游戏类型&游戏引擎:MMORPG,UE4.27
Ø  游戏玩法可能存在的问题: 
非法移动(通过RPC进行恶意封包进行瞬移,加速等操作) 加速(游戏内大世界时间, UE框架下的时间函数)一键连段/一键技能循环 NFT锻造加速NFT随机数操纵 副本结束后的多重结算
游戏安全性分析
游戏代码保护:
分析过程: 1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用UE4.27.2进行开发。

2.    将游戏导入IDA,发现游戏代码未进行加固,并且通过UE4.27的特征码搜索可以快速定位到GWorld变量

并且可以发现,字符串同样是没有加密。

因此在确定可以通过特征码定位到Gworld,并且游戏没有加密以后,可以通过提取NamePool特征码通过一些SDK Dump工具进行dump。

在获取到游戏SDK后可以加速分析。
分析结论:
       BigTime在游戏代码保护方面得分为0,毫无保护。在传统游戏中,往往会采用定制加密,加壳等方式对源码进行保护。由于BigTime并没有健全的游戏基础代码保护,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来说是不公平的,且有一定可能会对游戏的经济模型造成影响。
游戏基础反作弊:
分析过程:
1.      在基础反作弊检测方面,我们主要从两个方面进行测试,一个是游戏是否存在反调试,另一个是游戏是否存在读写保护。
2.      在游戏打开状态下使用CE进行附加,并且对通用函数进行下断点,发现游戏并没有退出,或者提示

3.    通过CE对修改游戏内的Health进行修改,发现可以生效并且游戏并没有进行弹窗或者提示。(修改Health仅是为了更直观的显示,该字段一般来说都是存储在服务器,本地修改时是并没有任何效果的)

分析结论:
1.      BigTime在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。 2.      只测试反调试和读写保护两个方面的原因是对于一块外挂来说,找数据与实现功能只需要通过调试和读写就可以实现。如果最基础的两个保护能力都缺失的话,那么一些注入、hook等检测也毫无意义。
游戏逻辑问题
分析过程:       
对于基于UE开发的MMO类型的游戏来说,篡改本地数据的收益很低,原因是UE有成型的同步机制,用于各个Actor和其他属性之间的同步以及服务端校验,但是通过分析游戏源码来看,很明显BigTime并没有将属性同步机制合理运用,还是有部分数据落地,例如Comboindex功能,通过对combo Index设置写入断点,可以找到写入函数,之后便可以对combo功能进行调试。(具体操作会影响公平性,不做演示)

分析结论:
1.      BigTime的整体游戏逻辑安全问题并不是很突出,但是还是存在一定的安全风险,因次逻辑安全评分为4分。
2.      针对某些敏感属性缺少同步机制,更多的应该放到服务端加密。
游戏RPC分析
由于RPC问题较为敏感,再缺少项目方授权下暂不展开分析。目前BigTime RPC安全防护为0,并且对于某些RPC包经测试后发现,服务器都会认可,其安全评分为0。建议项目方针对RPC整体安全进行详细审计。下图为部分RPC信息。

WEB3安全分析:
概要:
Bigtime作为一款链游,在Web3设计上可以分为两部分,分别是:基础bigtime代币部分,以及游戏内的WEB3经济系统部分。该部分设计相对其他游戏相对分离,游戏内负责产出代币与锻造NFT,同时在ETH上部署一个固定流通的代币合约。
代币合约安全:
代币基础信息如下:
Address:0x64Bc2cA1Be492bE7185FAA2c8835d9b824c8a194
Symbol:BIGTIME
Owner:0xc3322716475fba83bfc057112247a43f1a1f2c4c(GnosisSafe)
TotalSupply:5,000,000,000

BigTime代币合约采用向多签名钱包Mint代币,然后采用固定供应量的方式进行部署。因为当前代币合约功能简单,所以合约的基础安全性是足够的。通过观察Owner钱包的Tx信息,可以看到Owner钱包再获取到代币以后向几个钱包分别转帐了部分代币。

这些钱包大部分都是使用Safe的多签钱包。基于此可以发现当前与代币相关的整体安全风险主要来源于私钥泄露,以及项目方是否存在特权账户。虽然使用了多签,但是如果存在特权账户私钥泄露的话,还是会存在一定的盗币风险。
游戏内经济系统安全:
在BigTime中玩家可以进入时空守卫的空间进行锻造时间沙漏,时间沙漏充能等操作,这部分可以直接影响市场平衡的功能有部分代码是存放在本地执行的,虽然不清楚GS是如何设计的,但是这种行为属于高危行为。如下

类似这种RPC函数有很多,考虑到测试成本较高,我们暂时不做任何的安全测试,希望项目方能对这部分内容在服务器做好严格判断。
关于Damocles
Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊,合约代码审计,业务代码审计,渗透测试等。
我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。
Twitter: https://twitter.com/DamoclesLabs
Discord: https://discord.gg/xd6H6eqFHz
Cradles游戏安全评估概要 cradles于11.15日开放下载,Damocles团队于11.16日对该游戏进行深入的安全分析,通过分析发现该游戏有大量Debug信息未删去,从Debug日志推断该游戏开发团队为中国团队。并且在测试过程中发现,该游戏并未进行任何的安全保护,且游戏通信协议部分使用开源引擎,并且对于有些逻辑判断过于不严谨,不推荐用户去游玩体体验。 游戏背景 Ø  进行评估的游戏版本:20231115 Ø  游戏类型&游戏引擎:MMORPG,Unity2021.3.x Ø  游戏玩法可能存在的问题: 非法移动(通过RPC进行恶意封包进行瞬移,加速等操作)加速(游戏内大世界时间, UE框架下的时间函数)自瞄/自动锁定无敌 无限体力挖矿加速 游戏安全性分析 游戏代码保护 1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用Unity21.3.x进行开发。 2.    通过浏览游戏释放的文件,可以确定游戏采用Mono机制,并不是采用iL2Cpp的模式进行开发。采用这种方式开发的游戏,整体的安全性会更差,分析更简单。 并且该游戏使用的协议框架是KBEngine。 因此可以通过Github等开源库获取到KBEngine的源码,以及一些公开的资料,之后便可以加快游戏分析的速度。 分析结论:        Cradles在游戏代码保护方面得分为0,毫无保护。在传统游戏中,往往会采用定制加密,加壳等方式对源码进行保护,并且传统游戏也很少会采用mono模式进行编译。由于Cradles并没有健全的游戏基础代码保护并且采用过时的编译技术,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来是极度不公平,在玩家可以自由决斗的区域,作恶玩家更容易打败对手。 游戏基础反作弊: 1.      在基础反作弊检测方面,我们主要从两个方面进行测试,一个是游戏是否存在反调试,另一个是游戏是否存在读写保护。 2.      在游戏打开状态下使用CE进行附加,并且对通用函数进行下断点,发现游戏并没有退出,或者提示 3.      通过CE对修改游戏内的stamina和HP进行修改,发现可以生效并且游戏并没有进行弹窗或者提示。(修改stamina是实现无线体力/蓝量,HP锁定可以在10s以内有效) 分析结论: 1.      Cradles在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。 2.      只测试反调试和读写保护两个方面的原因是对于一块外挂来说,找数据与实现功能只需要通过调试和读写就可以实现。如果最基础的两个保护能力都缺失的话,那么一些注入、hook等检测也毫无意义。 游戏逻辑问题 对于采用mono方式编译的MMORPG游戏来说,直接修改数据原则上是收益很低,但是在我们测试中发现,对于一些数据,如血量、体力等修改是可以生效的,其中血量修改后在9s内有效,超过时间则会无法攻击怪物,猜测该点在服务器有伤害时间限制。体力修改则可以长时间生效,猜测该点在服务器并未做任何判断,理由是:在本地角色体力耗尽时,可以通过暂停运动进行体力恢复操作,如果本地可以恢复,那么对于游戏来说则可以省去服务器校验的步骤。 体力更新逻辑: 血量更新逻辑: 并且在Avatar类中有很多与人物相关的属性,这部分属性中应该还存在其他可以操作的点。并且在Avatar类中有很多与人物相关的属性,这部分属性中应该还存在其他可以操作的点。 分析结论: 1.      Cradles的整体游戏逻辑安全问题很严重,尤其是该游戏是涉及强制PVP模式的,外挂研发门槛低,收益高,在研发出成型外挂后,完全可以实现单方面虐杀。 2.      缺乏对游戏数据的感知,以及对游戏内其他易受攻击的点的检测,同时由于使用的是开源引擎,其协议属于完全开放状态,对于存在挖矿的游戏来说,这种行为的风险性极高。 游戏协议分析 Cradles采用的是KBEngine引擎作为协议基础,关于该引擎网络上有现成的资料可供参考。 参考资料: 1、 KBEngine技术总览 :https://imgamer.gitbooks.io/kbengine-overview/content/content/6_3ServerComponents.html 2、 KBEngine MMORPG Demo https://github.com/kbengine/kbengine_ue4_demo 3、 KBEngine unity3d plugins   https://github.com/kbengine/kbengine_unity3d_plugins/tree/master WEB3安全分析: 由于目前Cradles的代币并未上线,所以WEB3方面的分析暂缓,并且由于挖矿相关的协议完全暴露,用户挖矿数量对于游戏来说只是暂存的数字而已该行为过于中心化,所以该部分并不展开分析 关于Damocles Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊,合约代码审计,业务代码审计,渗透测试等。 我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。 Twitter: https://twitter.com/DamoclesLabs Discord: https://discord.gg/xd6H6eqFHz

Cradles游戏安全评估

概要
cradles于11.15日开放下载,Damocles团队于11.16日对该游戏进行深入的安全分析,通过分析发现该游戏有大量Debug信息未删去,从Debug日志推断该游戏开发团队为中国团队。并且在测试过程中发现,该游戏并未进行任何的安全保护,且游戏通信协议部分使用开源引擎,并且对于有些逻辑判断过于不严谨,不推荐用户去游玩体体验。

游戏背景
Ø  进行评估的游戏版本:20231115
Ø  游戏类型&游戏引擎:MMORPG,Unity2021.3.x
Ø  游戏玩法可能存在的问题:
非法移动(通过RPC进行恶意封包进行瞬移,加速等操作)加速(游戏内大世界时间, UE框架下的时间函数)自瞄/自动锁定无敌 无限体力挖矿加速
游戏安全性分析
游戏代码保护
1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用Unity21.3.x进行开发。

2.    通过浏览游戏释放的文件,可以确定游戏采用Mono机制,并不是采用iL2Cpp的模式进行开发。采用这种方式开发的游戏,整体的安全性会更差,分析更简单。

并且该游戏使用的协议框架是KBEngine。

因此可以通过Github等开源库获取到KBEngine的源码,以及一些公开的资料,之后便可以加快游戏分析的速度。

分析结论:
       Cradles在游戏代码保护方面得分为0,毫无保护。在传统游戏中,往往会采用定制加密,加壳等方式对源码进行保护,并且传统游戏也很少会采用mono模式进行编译。由于Cradles并没有健全的游戏基础代码保护并且采用过时的编译技术,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来是极度不公平,在玩家可以自由决斗的区域,作恶玩家更容易打败对手。
游戏基础反作弊:
1.      在基础反作弊检测方面,我们主要从两个方面进行测试,一个是游戏是否存在反调试,另一个是游戏是否存在读写保护。
2.      在游戏打开状态下使用CE进行附加,并且对通用函数进行下断点,发现游戏并没有退出,或者提示

3.      通过CE对修改游戏内的stamina和HP进行修改,发现可以生效并且游戏并没有进行弹窗或者提示。(修改stamina是实现无线体力/蓝量,HP锁定可以在10s以内有效)

分析结论:
1.      Cradles在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。
2.      只测试反调试和读写保护两个方面的原因是对于一块外挂来说,找数据与实现功能只需要通过调试和读写就可以实现。如果最基础的两个保护能力都缺失的话,那么一些注入、hook等检测也毫无意义。
游戏逻辑问题
对于采用mono方式编译的MMORPG游戏来说,直接修改数据原则上是收益很低,但是在我们测试中发现,对于一些数据,如血量、体力等修改是可以生效的,其中血量修改后在9s内有效,超过时间则会无法攻击怪物,猜测该点在服务器有伤害时间限制。体力修改则可以长时间生效,猜测该点在服务器并未做任何判断,理由是:在本地角色体力耗尽时,可以通过暂停运动进行体力恢复操作,如果本地可以恢复,那么对于游戏来说则可以省去服务器校验的步骤。
体力更新逻辑:

血量更新逻辑:

并且在Avatar类中有很多与人物相关的属性,这部分属性中应该还存在其他可以操作的点。并且在Avatar类中有很多与人物相关的属性,这部分属性中应该还存在其他可以操作的点。

分析结论:
1.      Cradles的整体游戏逻辑安全问题很严重,尤其是该游戏是涉及强制PVP模式的,外挂研发门槛低,收益高,在研发出成型外挂后,完全可以实现单方面虐杀。
2.      缺乏对游戏数据的感知,以及对游戏内其他易受攻击的点的检测,同时由于使用的是开源引擎,其协议属于完全开放状态,对于存在挖矿的游戏来说,这种行为的风险性极高。
游戏协议分析
Cradles采用的是KBEngine引擎作为协议基础,关于该引擎网络上有现成的资料可供参考。
参考资料:
1、 KBEngine技术总览 :https://imgamer.gitbooks.io/kbengine-overview/content/content/6_3ServerComponents.html
2、 KBEngine MMORPG Demo https://github.com/kbengine/kbengine_ue4_demo
3、 KBEngine unity3d plugins   https://github.com/kbengine/kbengine_unity3d_plugins/tree/master
WEB3安全分析:
由于目前Cradles的代币并未上线,所以WEB3方面的分析暂缓,并且由于挖矿相关的协议完全暴露,用户挖矿数量对于游戏来说只是暂存的数字而已该行为过于中心化,所以该部分并不展开分析

关于Damocles
Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊,合约代码审计,业务代码审计,渗透测试等。
我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。
Twitter: https://twitter.com/DamoclesLabs
Discord: https://discord.gg/xd6H6eqFHz
Seraph(暗黑) 安全评估分析报告概要(游戏安全性评分) Seraph于2023年11月22日开放三测。Damocles团队于11.24号针对该游戏进行了安全分析与评估,但是评估结果不尽如人意。首先是项目方在代码中留存大量Log信息,并且可以从Log信息推断出项目方并非韩国团队,而是中国团队,且该游戏采用Unity加载lua的方式,并未对Lua代码进行保护,或者使用lua jit等提升逆向难度的手段进行源码保护,这就导致源码完全暴露,只需要hook load函数即可从内存中dump出游戏源码。但是该游戏属于ARPG游戏,该类游戏有天然的防作弊优势,即大部分数据均通过服务器同步,所以又在一定程度上缓解了游戏的安全问题。 游戏背景 Ø  进行评估的游戏版本:v0.0.0.6 Ø  游戏类型&游戏引擎:ARPG,Unity Ø  游戏玩法可能存在的问题: 瞬移 加速(加速移动,加速释放技能)自动挂机倍率修改 无敌 Buff修改(让角色可以持续存在增加灵魂晶石产出的buff或其它 游戏安全性分析 游戏代码保护 1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用Unity进行开发。 2.    通过游戏目录中的GameAssembly.dll以及global-metadata.dat可以确定游戏采用的是il2cpp的编译模式,于是通过iL2Cppdumper进行源码还原。 但是在dump.cs文件中并没有发现跟游戏相关性比较强的代码逻辑,于是猜测该游戏并不是用C#进行开发,而是通过lua进行加载的,于是通过代码Hook游戏loadbuff相关的函数,获取到了游戏真正的源码。 并且在游戏源码中发现一些有意思的注释: 分析结论: Seraph在游戏代码保护方面得分为0,毫无保护。在采用Lua开发的传统游戏中,往往会采用定制lua解释器,使用LuaJit进行一定程度的代码保护。由于Seraph并没有健全代码保护机制,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来说是不公平的,且有一定可能会对游戏的经济模型造成影响。 游戏基础反作弊 1.      在基础反作弊检测方面,我们主要是通过替换Lua文件看游戏是否加载与执行外部逻辑进行判断。 2.      通过CE注入工具DLL后,查看游戏的Log文件下,是否将三方Log打印。 3. 通过修改lua逻辑对修改游戏内的暴击率等数据进行修改,发现可以生效并且游戏并不存在检查。(修改属性数据仅是为了更直观的显示,该字段一般来说都是存储在服务器,本地修改时是并没有任何效果的) 分析结论: Seraph在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。 2.      只测试将Lua重新加载到游戏的主要原始就是:该行为是进行Lua类游戏作弊的基础,如果该点都无法做好的话,其他方面的反作弊只会更差。 游戏逻辑问题 由于目前已经获取到游戏的源码,所以在分析过程中针对逻辑层我们进行了安全分析,并没有对协议层进行分析,在逻辑层方面我们主要是针对以下几点进行了安全测试,分别是: 角色初始化时的属性篡改:(发现该部分的敏感属性并不多,并不能提升收益) 其次是主动攻击时的一些技能相关的篡改:(发现该部分只做展示并没有实际参与伤害校验) 最后是怪物被攻击时的逻辑修改(发现该点修改后并没有实际的意义,猜测该模块开发时的主要目的是触发事件做记录并不存在实际的计算参与) 分析结论: Seraph在我们随机篡改的三点上均未生效,证明其伤害计算与展示是分离进行,或者是由服务器进行计算其安全性还是有一定保障的,评分3分0。 但是其部分伤害判定存放在本地,作弊空间还是存在的。 游戏RPC分析 该游戏采用protolbuf进行协议交互,其中Web3相关的交互也是使用使用该方案, 目前针对该部分还未进行细致的测试,后期可能会对ProtoBuf部分进行细致测试。 WEB3安全分析: 概要: 目前Seraph并未发行代币,Mint合约为使用代理合约的常规NFT721合约总供应量3225,并且不管是Mint还是跨链,均有Role控制,链上安全性可控。 游戏内经济系统安全: 目前Seraph打金主要方式还是以灵魂晶石为主,不管是打造灵魂之匣还是开起均由服务端进行判定,客户端仅做请求发起,安全性主要由服务端做控制,故其安全性评估不在客户端安全评估范围内,后期Damocles可能会对所有请求进行梳理并黑盒测试。 关于Damocles Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:合约代码审计,业务代码审计,渗透测试,GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊。 我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。 Twitter: https://twitter.com/DamoclesLabs Discord: https://discord.gg/xd6H6eqFHz

Seraph(暗黑) 安全评估分析报告

概要(游戏安全性评分)
Seraph于2023年11月22日开放三测。Damocles团队于11.24号针对该游戏进行了安全分析与评估,但是评估结果不尽如人意。首先是项目方在代码中留存大量Log信息,并且可以从Log信息推断出项目方并非韩国团队,而是中国团队,且该游戏采用Unity加载lua的方式,并未对Lua代码进行保护,或者使用lua jit等提升逆向难度的手段进行源码保护,这就导致源码完全暴露,只需要hook load函数即可从内存中dump出游戏源码。但是该游戏属于ARPG游戏,该类游戏有天然的防作弊优势,即大部分数据均通过服务器同步,所以又在一定程度上缓解了游戏的安全问题。

游戏背景
Ø  进行评估的游戏版本:v0.0.0.6
Ø  游戏类型&游戏引擎:ARPG,Unity
Ø  游戏玩法可能存在的问题:
瞬移 加速(加速移动,加速释放技能)自动挂机倍率修改 无敌 Buff修改(让角色可以持续存在增加灵魂晶石产出的buff或其它
游戏安全性分析
游戏代码保护
1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用Unity进行开发。

2.    通过游戏目录中的GameAssembly.dll以及global-metadata.dat可以确定游戏采用的是il2cpp的编译模式,于是通过iL2Cppdumper进行源码还原。

但是在dump.cs文件中并没有发现跟游戏相关性比较强的代码逻辑,于是猜测该游戏并不是用C#进行开发,而是通过lua进行加载的,于是通过代码Hook游戏loadbuff相关的函数,获取到了游戏真正的源码。

并且在游戏源码中发现一些有意思的注释:

分析结论:
Seraph在游戏代码保护方面得分为0,毫无保护。在采用Lua开发的传统游戏中,往往会采用定制lua解释器,使用LuaJit进行一定程度的代码保护。由于Seraph并没有健全代码保护机制,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来说是不公平的,且有一定可能会对游戏的经济模型造成影响。
游戏基础反作弊
1.      在基础反作弊检测方面,我们主要是通过替换Lua文件看游戏是否加载与执行外部逻辑进行判断。
2.      通过CE注入工具DLL后,查看游戏的Log文件下,是否将三方Log打印。

3. 通过修改lua逻辑对修改游戏内的暴击率等数据进行修改,发现可以生效并且游戏并不存在检查。(修改属性数据仅是为了更直观的显示,该字段一般来说都是存储在服务器,本地修改时是并没有任何效果的)

分析结论:
Seraph在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。 2.      只测试将Lua重新加载到游戏的主要原始就是:该行为是进行Lua类游戏作弊的基础,如果该点都无法做好的话,其他方面的反作弊只会更差。
游戏逻辑问题
由于目前已经获取到游戏的源码,所以在分析过程中针对逻辑层我们进行了安全分析,并没有对协议层进行分析,在逻辑层方面我们主要是针对以下几点进行了安全测试,分别是:
角色初始化时的属性篡改:(发现该部分的敏感属性并不多,并不能提升收益)

其次是主动攻击时的一些技能相关的篡改:(发现该部分只做展示并没有实际参与伤害校验)

最后是怪物被攻击时的逻辑修改(发现该点修改后并没有实际的意义,猜测该模块开发时的主要目的是触发事件做记录并不存在实际的计算参与)

分析结论:
Seraph在我们随机篡改的三点上均未生效,证明其伤害计算与展示是分离进行,或者是由服务器进行计算其安全性还是有一定保障的,评分3分0。 但是其部分伤害判定存放在本地,作弊空间还是存在的。
游戏RPC分析
该游戏采用protolbuf进行协议交互,其中Web3相关的交互也是使用使用该方案, 目前针对该部分还未进行细致的测试,后期可能会对ProtoBuf部分进行细致测试。

WEB3安全分析:
概要:
目前Seraph并未发行代币,Mint合约为使用代理合约的常规NFT721合约总供应量3225,并且不管是Mint还是跨链,均有Role控制,链上安全性可控。

游戏内经济系统安全:
目前Seraph打金主要方式还是以灵魂晶石为主,不管是打造灵魂之匣还是开起均由服务端进行判定,客户端仅做请求发起,安全性主要由服务端做控制,故其安全性评估不在客户端安全评估范围内,后期Damocles可能会对所有请求进行梳理并黑盒测试。

关于Damocles
Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:合约代码审计,业务代码审计,渗透测试,GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊。
我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。
Twitter: https://twitter.com/DamoclesLabs
Discord: https://discord.gg/xd6H6eqFHz
Explore the latest crypto news
⚡️ Be a part of the latests discussions in crypto
💬 Interact with your favorite creators
👍 Enjoy content that interests you
Email / Phone number

Latest News

--
View More
Sitemap
Cookie Preferences
Platform T&Cs