逆向记录(代号legeclo)

前言

事前登录很久的游戏开服了,就上去看了一下。
宣传的卖点是播片全部60帧,用了Criware。
简要写点,研究时间也没多长,所以肯定不会非常全面。

剧透:高估了

正文

小背景

背景不多说了,就是上次大改assetname的那家。
所以这次一定准备了非常强力的加密吧!
所以这次一定准备了非常强力的加密吧?(星战meme

本次目标总结为以下三点:

  • 获取完整的资源爬取方式
  • 获取Criware Key
  • 调查Master Data

网页版初探

怀念当年几个cocos2d的厂还能阅读js源码,现在都是wasm还不如直接去看安卓版的so。
期间一直提示连接错误,还以为是太火热服务器baozhale,结果是服务器要求东京时区,怒

游戏开局能一键跳所有教程;观赏特别剧情时可以直接看后半部分,其他游戏里需要至少阅读完毕一次剧情)
看来用户体验方面确实是下了功夫。很多游戏一上来新手教程直接塞满还不能跳过,硬是把你按在主线几十分钟。
可是大部分(存疑)玩家期待的是开局送抽抽卡环节吧,难道是防止刷初始?
无Root手工删App刷初始会下载大量数据,CDN的钱划不来吧。
因此有的游戏甚至实装了仅删除用户存档的功能,甚至还有游戏记录全服リセマラ并根据人数进行奖励。

在阅读剧情时发现会先下载故事script,再从中按需下载CG。url未加密,甚至包含角色代号。
主数据库是csv压zip打包,而且设了密码。反正我真的是第一次见到,惊呆了,道理我都懂.jpg

此外还有一个经典manifest,不包括CG。但你可以从里面Spine小人的文件名(*.atlas.txt)直接拿到角色代号,再按照URL格式就可以爬到所有CG,目标一完成。试着写了一个脚本结果真就全弄下来了。那么还有什么继续的必要吗(?

usm视频文件扔到播放器里居然直接播了,都不需要Criware Key…目标三完成。现在落幕未免过早,再看看压缩包密码吧。

IDA打头阵

好像出了点问题,静态分析没处理好struct,跳了几步看得头晕,摸了。猜测是初始化期间服务器下发。

Frida Hook

秒了

稍微读了一下包里的主数据库,可以用来获取全角色代号(但没必要),不过里面有未实装圣诞角色还是蛮有趣的。

官方嘲讽

安卓版安装完毕了,右上角怎么有个下载全部数据按钮..?
下完了跑到应用目录下怎么所有CG都在?
WTF

好像完全没学到什么,游戏看着还行,但玩是不可能玩的
走了