星落游戏解包教程
写在前面
授人以鱼不如授人以渔,主要是希望其他对这方面感兴趣的人也能来为wiki做出一份贡献。
ps.本文章带有目录,可以打开方便跳转

感谢以下前人做出的贡献
星落解包方法
UnityAnimeGamesInfo-github
【HowTo】零基础从手游中提取spine模型进行二创
基础的解包教学
工具准备
必要工具:
1.一个版本新一点的AssetStudio
AssetStudio(简称AS)是一款Github上的开源软件,可以解包未加密的资源数据。
具体来讲,用于2d手游提取立绘是它最常用的功能.。
但是其github原仓库在22年之后就没有再进行维护了,停留在了v0.16.47版本
而星落的ab包应用了UnityCN加密,所以我选择的是由AXiX_Official大大维护的分支↓
GitHub - AXiX-official/Studio: Modded AssetStudio with new features
2.python环境
由于星落对ab包添加了fakeheader,以及对lua的反编译等
所以我们需要使用python来对文件进行一些处理
python比较常见,我就不教大家怎么安装了,b站的攻略就有很多了
非必要工具:
1.Hxd
HxD - Freeware Hex Editor and Disk Editor
选择合适你的版本安装↑
这个是一个十六进制编辑器,我们一般拿来查看一下文件头
2.spine
星落的角色立绘就是spine2D动画,但是好像是4.0以上的版本(悲)
3.IDA
交互式反汇编器,这个我不会用,但是功能很强大
游戏包体获取
建议用模拟器获取游戏包体,比较方便。
这边我以mumu12模拟器为例子
首先你需要把游戏先装好,应用商店就有

然后你需要一个功能丰富一点的资源管理器,mumu这边自带一个(不是系统应用的文件管理)

进来后,首先来到这个文件路径下
/data/app/~~DzefmpJvxK5ls7Qc51JGSw==/cn.haoplay.game.and.elpis-JRGHhGlahQy92pKt5Crm0g==/base.apk
这里有星落的基础安装包

复制到你的mumu12共享文件夹下,然后你就可以在你的电脑里面看到安装包文件了

共享文件夹的路径可以在这里修改



接下来来到这个路径下,进入data文件夹里面,找到cn.haoplay.game.and.elpis
也是一样的拷贝到共享文件夹,这里面是游戏后续更新的文件


这下子我们就获取了星落的所有游戏文件

解包前的处理
在拖进AssetStudio一键提取前,我们需要先处理一下.bundle文件,也就是ab包(AssetBundle),unity的资源压缩包
在“星落解包方法”AXiX_Official大佬的这篇文章里我们知道
星落的ab包被塞了两行的FakeHeader,以及使用了UnityCN加密(Hxd可看)
所以我们就需用python(或其他相同功能的软件)来把文件头处理一下

首先,之前那个压缩包需要先解压,可以改zip,rar,7z都可以,解压软件可以智能识别

解压后来到base\assets\PlayerAssets路径下面,这时候有两种情况
一种是里面有一个很大的文件——playerassets.assets文件,是很多个ab包首尾相连,playerassets.json中有每个文件的起始位置和hash key
这是星落开服时期的打包方式,这时候我们需要使用下面代码来把文件拆分开来,并批量去除FakeHeader
使用案例:打开打开终端或 CMD,在配置好环境后
输入:python 路径/文件名.py 路径/playerassets.assets 路劲/playerassets.json 路径/输出文件夹
路径自己替换
ab包修复python代码下载
下载上面的文件,运行里面的fix_ab1.py
另一种情况是,里面是一堆散开来的,数量很多的.bundle文件,就像这样

这时候我们就需要用下面这个代码,只去除FakeHeader
这是我找ai写的,感觉比上面那个大佬的差了好多
这个也是输入:python 文件名.py 路径/有ab文件的文件夹 路径/输出的文件夹
ab包修复python代码下载
下载上面的文件,运行里面的fix_ab2.py
如果不知道如何使用,或者有报错也可以直接去问ai
tqdm这个库不是必须的,你可以让ai把这个功能去掉
之前我们复制出来的cn.haoplay.game.and.elpis\files\Bundles这个文件夹里的的ab包(这里面是最新的的文件)
用的也是第二种的处理方法
处理完之后我们就可以,就可以开始正式解包了
AssetStudio解包
打开这个,我用的是上面说的v1.38.06 net9.0版本

首先选择Options里的Specify UnityCN Key
选择里面的星落的key:79756E67756968616F77616E31323334
然后在specify game里面选择unityCN



然后把你输出的文件夹拖进来就能看到资源了


可以看到我们成功得到了游戏资源,比如上面那个就是不知道什么时候上线的白鸟皮肤,现在我们先来了解一下,这个软件的一些功能。
首先我们看菜单栏里面的Filter Type

| |
AnimationClip | 动画片段,存储角色或物体的动画数据 |
Animator | 动画控制器(Animator Controller),用于驱动动画状态机 |
Material | 材质,定义了模型如何被渲染,比如使用哪个 Shader、贴图等 |
Mesh | 网格数据,是模型的几何结构(顶点、面等) |
MonoBehaviour | 挂载在 GameObject 上的自定义脚本组件 |
Shader | 着色器,控制材质如何渲染(光照、颜色、透明等) |
Sprite | 2D 图像资源,通常用于 UI、角色立绘、图标等 |
TextAsset | 文本资源,可包含 JSON、Lua 脚本、CSV 等任意文本文件 |
Texture2D | 2D 纹理图像,用于模型贴图、UI 等地方 |
然后是Export,这个是把文件导出来,菜单栏里面常用的就是这两个

然后再看下面的文件详细信息
第一是文件名,文件名是我们寻找对应资源,文件的重要依据。
比如
battlespine_10071_1,就是战斗小人spine文件,10071是角色id,071就是圣光使
BuffIcon_atlas0,icon就是各种图标
BurstHead_10071_3,一看就知道这是个角色的头,071依旧是圣光使,_3则是第三个立绘,第一个是没突破的立绘,第二个是突破了的立绘,第三个就是皮肤了
90210172,这个是剧情cg
ActivityDungeon1016_atlas0_3,带Activity的就是活动相关的
还有很多,你需要自己熟悉





现在看第二个,光看文件名不够,我们有的时候还要看第二个,文件路径
比如说这个:assets/art/effects/material/hym_zxl_glow_002.mat

| |
assets/ | Unity 的标准资源目录(根目录) |
art/ | 艺术资源目录(通常包括贴图、模型、特效等) |
effects/ | 特效相关资源(比如粒子系统、光效等) |
material/ | 存放材质(Material)的目录 |
hym_zxl_glow_002.mat | 材质文件,用于定义特效表面外观,如发光、透明等 |
还有这个:assets/art/models/cardspine/prefab/cardspine_10071_3.prefab

| |
assets/ | Unity 项目资源根目录(Assets/ 文件夹) |
art/ | 美术资源总目录 |
models/ | 模型资源目录(通常用于 3D 模型、骨骼动画等) |
cardspine/ | 看起来是卡牌角色用的 Spine 动画资源 |
prefab/ | Unity 中的 预制体目录 |
cardspine_10071_3.prefab | 名为 cardspine_10071_3 的 Prefab 文件 |
上面都是art文件夹下的,也就是美术资源
现在来看看其他文件夹下的:assets/fmodassets/voice_cn/btl/012.bytes,不难看出这是一个和声音相关的

| |
assets/ | Unity 项目资源根目录 |
fmodassets/ | 与 FMOD 音频中间件相关的资源目录 |
voice_cn/ | 中文语音资源文件夹 |
btl/ | battle(战斗)语音分类目录 |
012.bytes | 二进制语音数据文件,可能对应某个角色或战斗事件语音 |
还有这个也是很重要的:assets/lua/basesealbigqualityup.lua.bytes,被我选中的就是大刻印最后一级突破的攻击力加成252

立绘的获取
已知星落的的立绘是spine文件,网上可以找到很多相关的攻略
简单来说你需要导出三个文件,角色立绘拼图,一个atlas文件,一个skel文件


但是很可惜星落的spine是4.0以上版本,目前好像还没有破解版可用

声音的获取
声音相关的有角色语音与bgm
角色语音文件的文件名很简单,就是角色id:071
但是我们看文件路径可以发现,虽然名字是一样的,但是有中文,日语,战斗,交流四种语音文件
这里不能直接一起导出来,不然会自动合并成一个文件

导出来之后我们要用到Brown Dust 2 聲音求助这里面提到的音频提取工具,
这边给出下载链接第七史詩解BANK音頻工具:epic7_debank_v1_0.zip
下载解压后把语音文件放在input文件夹里,双击ren_bytes_to_bank.bat批量修改后缀
直接运行debank脚本
就可以在result文件夹里找到语音文件了




数据相关的获取
星落的数据主要存放在lua文件里面,所以我们想要获取数据就得解密lua文件,就是这个一串乱码的文件

根据轩晞宇·AXiX大佬在星落(Elpis)的Lua脚本解密 这篇文章里面的解密,星落的lua文件不仅文件头模糊,而且编译的操作码也经过了修改
所以我们想要获取lua文件就得解决这两个问题
在这之前我们需要先把lua文件从AssetStudio里面导出来

接下来我会用python来修复文件头并执行反编译
但是在这之前我们需要先准备一些东西
一个是unluac-github 这里的unluac.jar文件
另一个是UnityAnimeGamesInfo-github 这里的UnityAnimeGamesInfo/Info/Elpis/opmap这个路径下的opmap文件


然后我们还需要安装一个java环境
这个unluac.jar好像是硬要求java21版本,这边给一个java21下载链接
然后安装就是了,具体的可以自行搜索java安装教程
现在把上面我让你准备的两个文件与下面的python程序放在一起
也可以放在其他地方,你把代码里面的路径改一下就是了
这是lua修复与执行反编译代码
lua修复与执行反编译python代码下载 选择里面的unlua.py运行
运行之后,你只要给出输入文件夹与输出文件夹就会自动处理好lua文件


这时候还需要一步操作,因为反编译出来的中文是是编码形式的,我们需要使用如下代码再进行一次转换
还是这个压缩包,选择里面的fix_utf8_cn.py运行
这样就成功获取到了星落的数据以及游戏逻辑,这是一个庞大且复杂的的文件群,有上万个,目前我还没能完全了解
但是我可以简单的介绍一下
BaseWord_cn.lua,这个是整个游戏的基础文本,基本所有的文本都在里面了
BaseCardLevelUp.lua,是角色升级信息
BaseSkillLevelUp.lua,是技能升级信息
BaseStage.lua,是游戏关卡信息
SensitiveWords.lua,是星落的屏蔽词
BaseMonsterPart****.lua,这一系列的是星落的怪物数据
BaseBadge.lua,badge是徽章相关
BaseCardQualityUp.lua,levelup是升级相关,qualityup则是突破相关
BaseSealBigLevelUp.lua,seal是徽章相关,BaseSealBig则是新出的大徽章相关
还有很多很多,等着你来探索
这个攻略可能还会更新吧,我看看后面要不要出一个新角色数值解包专题
有问题可以加我qq:2609113802,我会尽量解答
一些相关的文章补充说明
这篇教程基本上已经完结,后面有什么新的东西,新的发现我也不方便直接在这之上进行修改。
我会新开一些文章来说明,并放在这的结尾
补充文章:
优化重写解包相关代码
批量从lua文件中提取角色基本信息 星落角色立绘提取





坚定迎白云
2025/10/08浙江省
2025/10/09 江苏省
善良闻天空
2025/07/18湖北省
这是正确的反编译代码分享链接https://wwhy.lanzn.com/i247M31aoytc
2025/07/18 江苏省
花下岂无酒
2025/07/12重庆
2025/07/12 江苏省
luckyking
2025/06/29江苏省
2025/07/03 福建省