分享
2026.6.1-日报-王雨默
输入“/”快速插入内容
2026.6.1-日报-王雨默
用户2965
用户2965
6月2日修改
一.工作内容概述
•
使用 AI 分析《佛系消消消》的资源分包加载机制,结合本地缓存、运行日志和 Addressables catalog 文件,解析出关卡分包对应的 CDN bundle 地址,批量拉取主线 33 个关卡资源包并完成解包解析,提取主线普通关卡 3296 关,连同双牛模式、方块模式,总计整理 4452 关独立关卡数据。
•
优化关卡生成器逻辑,提升其产出交付合规关卡的稳定性
•
参与AI游戏开发交流会
二.《佛系消消消》关卡数据提取
利用AI对手机本地的《佛系消消消》包体资源进行了逆向分析和提取,目标是获取游戏中的完整关卡数据,并理解其关卡文件组织方式和加载逻辑。
前期已经通过解包确认,主包中只内置了第一批关卡
LevelPart01
,后续
LevelPart02-33
并没有直接存在于本地包体中。后续继续通过逆向解包、日志分析、本地缓存检查和 catalog 解析的方式,最终整理出游戏远程关卡分包的真实下载链路。
1.
试错过程概述
一开始尝试从几个方向直接查找关卡数据:
•
逆向解包主包,搜索
LevelPart02-33
;
•
检查本地缓存目录,寻找已下载的分包文件;
•
尝试抓包观察游戏运行时的资源请求;
•
直接猜测服务器接口或资源路径。
但这些方式都没有直接得到完整关卡。
主要原因是:
1.
主包中确实只包含
LevelPart01
;
2.
后续关卡通过远程资源分包加载;
3.
微信小游戏网络请求存在加密,普通抓包方式难以直接看到完整资源地址;
4.
直接猜测服务器路径容易出现 404 或参数缺失。
因此后续思路调整为:
不再直接搜索关卡文件,而是先还原游戏的远程资源加载链路。
2.
最终提取流程
2.1
逆向解包主包,确认资源不完整
首先对游戏主包和 Unity 资源文件进行逆向解包分析。
解包后发现,主包中确实存在部分关卡文本和配置表,例如
LevelPart01
、
LevelJsonBatchMap
、
LevelId
、
DailyLevel
等。
但同时也确认了一点:
主包中只注册和内置了第一批关卡,后续
LevelPart02-33
并不在主包内。
这说明完整关卡数据不是一次性打进本地包体,而是采用远程分包加载方式。
2.2
分析运行日志,寻找 CDN 入口
确认主包中没有完整关卡后,下一步转向运行日志。
运行日志中记录了游戏启动和加载资源时的一些路径、版本号和远程地址。
虽然日志不会直接列出全部关卡文件,但可能会暴露远程资源系统的入口。
这次在日志中找到了关键线索:
游戏使用的是 Unity Addressables 远程资源加载机制,并且日志中出现了 CDN 上的
settings.json
地址。
可以把
settings.json
理解为远程资源系统的“入口说明书”。它主要告诉游戏:
•
当前资源版本是多少
•
资源目录在哪里
•
后续 catalog 应该怎么加载
有了 CDN 入口后,后续就不需要继续盲猜,而是可以顺着资源加载链路继续追踪。
2.3
确认资源版本,定位 catalog
远程资源通常会按版本管理。
如果版本号不对,即使 CDN 路径正确,也可能找不到对应资源。
通过日志和本地 hash 文件整理后,确认当前有效资源版本是
0.0.106
。