星落解包方法

你说得对,但是《星落》是一款探险队沿途对抗大魔王的半即时战术养成RPG。这一次,是成为希望与勇气的探险团璀璨故事!
星落今天开放了预下载,很快啊很快,我啪的一下就下载下来
先丢进010Editor一看
image
一眼顶真,鉴定为FakeHeader加上UnityCN加密
我们都知道Raz佬版本的assetstudio支持FakeHeader,也支持UnityCN,但是他们都在同一个选项里,不能同时启用,只能先手动去除fakeheader
不过这里还好似乎都是固定的32 offset,脚本跑一下很快啊很快
但是raz佬的版本已经archive了,最新的release里没有星落的key
image
所以得手动在这个界面加上Elpis:79756E67756968616F77616E31323334然后选择这个key

或者试试我维护的版本GitHub - AXiX-official/Studio: Modded AssetStudio with new features
和raz的方法不一样,特殊游戏的适配并不是在Options->Specify Game里选择,因为这需要在代码中写死逻辑而且每次添加新的类型都要更新程序。
image
在菜单栏选择最后的Lua,先点击Enable Lua Scripts启用lua脚本,然后点击Load Lua Template加载特定游戏的解密脚本,比如星落的是Elpis.lua,然后直接把ab文件正常打开就行
(对于复杂加密的支持可能得在c#侧添加额外的接口,简单的解密逻辑倒是还算好写)

2 个赞

看了一下,安装包有一个assets\PlayerAssets\playerassets.assets文件,1.34G,是很多个ab包首尾相连,playerassets.json中有每个文件的起始位置和hash key,我等下写个导出脚本

import os
import sys
import json

def extract(file_obj, offset, output_path, name):
    file_obj.seek(offset + 32)
    size = int.from_bytes(file_obj.read(8), byteorder="big")
    file_obj.seek(offset)
    data = file_obj.read(size)
    with open(os.path.join(output_path, name), "wb") as f:
        f.write(data)

if __name__ == "__main__":
    if len(sys.argv) != 4:
        print("Usage: python extract.py <asset_path> <json_path> <output_path>")
        sys.exit(1)
    asset_path = sys.argv[1]
    json_path = sys.argv[2]
    output_path = sys.argv[3]
    with open(asset_path, "rb") as asset_file:
        with open(json_path, "r") as f:
            jsonData = f.read()
        data = json.loads(jsonData)["data"]
        if not os.path.exists(output_path):
            os.makedirs(output_path)
        for item in data:
            key, offset = item["key"], item["offset"]
            if offset != 0:
                extract(asset_file, offset, output_path, key)

音频导出的话你可以用AssetStudio读取然后Fiter Type选AudioClip,或者用py脚本配合UnityPy逐个文件检查有没有AudioClip

问问使用UnityCN加密的游戏导出修改图片后怎么再封回包内并能被游戏正常识别?

你可以用这个修改过的UABEA,可以读取UnityCN加密的文件,然后导出非加密文件。
按我过去的经验使用UnityCN加密的游戏是可以正常读取非加密文件的。
不过因为星落还用了fakeheader所以你得先去掉头上32字节,修改完再加回去。

好的,谢谢大佬解答


谢谢你,新手池第二个十连

1 个赞

不过就像前面提到的,有1.34G的文件是在安装包那个大文件里的,那部分对应的文件做魔改就很难替换回去

大佬,请教一下剑与远征:启程怎么解包?我是一个萌新。。。。

有人开贴问过,善用搜索

我自己已经搞定了,谢谢

大佬,咋知道key是多少的?