…今天新出的游戏
大部分文件都能解,就是FakeHeader 但是找不到skel文件,蹲一个大佬看有什么线索。
我尝试了 qingliu 大佬之前提供的一种通过文件内容特征查找spine动画文件的方式,找到了疑似skel的文件。
这个文件中包含了atlas中所有切片名称的信息,并且开头能看到3.8.85 类似spine版本号的信息。
因此怀疑skel文件没有通过unity打包,只是更改了后缀。但遗憾的是,这个文件如果通过更改后缀的方式,仍然无法还原spine动画。很有可能是文件里内混杂了一些没必要的信息,需要删除。但到这一步我已经找不到什么线索了。
150102.rar (5.1 MB)
我上传了一个例子,看群里是否有大佬能还原skel文件。 基本上就是解包这个游戏的最后一步了。
我还是头一次遇到spine能读取,exstudio不能读取的文件。 因此测试的时候,发现exstudio无法导入,就以为skel文件是有问题的。现在看来是ex的问题。 但为什么你是可以成功导入进ex的?
这个游戏的skel动作文件它把基础人物和动作分开了,需要合并,不然只能在spine里查看,live2dviewerex会报错的,简单写了个合并脚本,操作如下。
1.提取出文件的bundles文件先把文件的伪文件头去掉放入as里面读取
2.type选择monobehaviour,然后搜索Info,将所有带有aniinfo的文件导出,这个里面记录了拆分出的两个skel文件,在bundles包里可以看到是u2d结尾的文件,文件直接导出到bundles的文件夹里面就行
3.运行脚本在bundles文件夹里面的output文件夹里面就有合并好的skel文件了,导出atlas和png文件就可以在live2dviewerex了查看了
import ujson
from pathlib import Path
def skel_merge(path):
Path.mkdir(Path(path + "/" + "output"), exist_ok=True)
path = Path(path)
for jsonfile in path.rglob("*_aniInfo.json"):
with open(jsonfile,"r",encoding="utf8") as f:
data = ujson.load(f)
skel_name = jsonfile.name.split("_aniInfo")[0] + ".skel"
_baseBytesMd5 = data["_baseBytesMd5"]
with open(str(path)+"/"+_baseBytesMd5+".u2d","rb")as f:
_baseBytesMd5_bytes = f.read()
_aniBytesMd5 = data["_aniBytesMd5"]
with open(str(path)+"/"+_aniBytesMd5+".u2d","rb")as f:
_aniBytesMd5_bytes = f.read()
f.close()
with open(str(path)+"/" +"output"+"/" +skel_name,"wb")as f:
f.write(_baseBytesMd5_bytes)
f.write(_aniBytesMd5_bytes)
f.close()
if __name__ == '__main__':
path = r"C:\Users\zjbook\Desktop\bundles"
skel_merge(path)
最终效果
感谢大佬!
学习了!
不清楚 你得看这个游戏是不是套的这种方案 每个游戏的资源策略都不一样 也有可能不是spine做的动画 不过思路可以借鉴 可以看看monobehaviour里面有没有什么线索 仅限unity引擎的游戏
大佬,不好意思,可以请问一下怎么去伪文件头吗,小白不太知道
站内搜https://live2dhub.com/t/topic/2609/16
我把带unityfs的文件全解了,但是缺了好多角色,是什么情况
怎么解的啊,可以教教么
还有一部分在apk里面
先上鎮樓圖
看到有獸娘就引起我的興趣 : )
python代碼可用
這幾天都在整理這一款遊戲
主要在分類u2d文件 (寫bat)
有空再寫怎麼整理u2d文件 (應該會寫很長)
懶人包已弄好
SPINE部分 (skel版本有5個 , 用skeletonViewer-3.8.99.jar開啟即可 , skel文件每一個一一都看過了 , 比例怪異的png已都調整好)
\unity3d\assets\objects\spine\fabao (法寶)
\unity3d\assets\objects\spine\hero (角色戰鬥小人)
\unity3d\assets\objects\spine\hero_live (角色大圖) (圖很漂亮沒話講)
\unity3d\assets\objects\spine\herohead (角色Q版頭像)
\unity3d\assets\objects\spine\other (其他)
\unity3d\assets\objects\spine\pet
\unity3d\assets\objects\spine\shenchong
語音部分 (用foobar2000 + 外掛foo_input_vgmstream.fb2k-component 開啟acb awb文件 免hca key)
\audio (角色語音 技能語音 BGM 效果音)
\audio_repeat (重複的部分)
影片部分 (技能動畫 劇情動畫 PV)
\movie (usm文件用VGMToolbox抽出為m2v 再使用ffmpeg轉成mp4)
\unity3d (其他遊戲內圖檔)
\skel+json (合併前的skel 文件 , head + body 部分 , json文件 , 使用python合併後的skel文件)
\manifest (遊戲資源清單)
6d51a5f55f9fb034d3035de92227c8c5.txt (76KB)
8575f76ae57cd05b016f5290a95ce291.txt (78KB)
(audio和movie就是用這清單還原為原始文件名)
\text (台詞)
11013c44eaacf47bd20ee999d1ca338a.txt (431KB)
631929608d158f89fa7a735144943748.txt (613KB)
\bytes (沒作用的文件)
\u2d_unkown (不曉得是什麼文件)
懶人包
com.cyou.xxygb_20240723.rar (11.1GB)
Google Drive 載點
Mega.nz 載點
百度盤 載點
感谢大佬