星趴解包教程

news/2024/10/14 10:41:24

目录
  • #1 提取资源文件
  • #2 解密
  • #3 读取资源
  • #4 导出资源
    • #4.1 导出单个 / 少量资源
    • #4.2 按种类导出资源
  • #5 资源去重(可选)

本篇文章偏小白向,有一定基础的可以选择性阅读
本文仅供学习交流使用,请勿用于商业用途。

更新至 2024.5.2, 星趴版本号 v1.2.3_20240430_123a

#1 提取资源文件

  • 启动你的星趴
  • 按下 Ctrl+Shift+Esc 打开任务管理器(右键任务栏,选择「任务管理器」亦可)
  • 找到 AstralParty.exe(如果你看到的是乱序的列表,点击窗口上部左侧的「名称」进行排序)
  • 右键 AstralParty.exe,选择「打开文件所在的位置」
  • 这时候跳出的文件资源管理器的窗口就是星趴的根目录了,大概长这样:
  • 依次打开文件夹 AstralParty_Data StreamingAssets aa StandaloneWindows64,可以看到许多以 .bundle 为扩展名的文件,这些就是星趴的资源文件了
    • 如果没看到扩展名 .bundle,可以点击窗口上部的「查看」,并勾选右侧的「文件扩展名」
  • 我们并不希望影响星趴的正常运行,所以将你想要的文件(如果你不清楚你想要的文件是哪些,那就 Ctrl+A 全选)复制到别的地方(下文以文件夹「tutorial」为例)
    • 不必担心其他类型的文件,它们没有影响

#2 解密

  • 在「tutorial」文件夹下新建一个文本文档并打开
    • 如果没看到扩展名 .txt,可以点击窗口上部的「查看」,并勾选右侧的「文件扩展名」(见图 3)
  • 复制下面的部分至文本文档中
<# :
cls&echo off&cd /d "%~dp0"&rem bat存为ANSI/GB2312编码
path %SYSTEMROOT%\System32\WindowsPowerShell\v1.0;%path%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
pause
exit
#>
$self=get-item -literal $env:self;
$current=$self.Directory.FullName.trimend('\');
$len=18;
$newfolder=$current+'\stripped';
if(-not (test-path -literal $newfolder)){[void][IO.Directory]::CreateDirectory($newfolder);}
$files=@(dir -literal $current|?{($self.Extension -ne $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){$arr=[IO.File]::ReadAllBytes($files[$i].FullName);$brr=@();if($arr.length -gt $len){$brr=$arr[$len..($arr.length-1)];}$newfile=$newfolder.trimend('\')+'\'+$files[$i].Name;write-host $files[$i].Name ' (' ($i+1) '/' $files.length ')' -Separator '';[IO.File]::WriteAllBytes($newfile, $brr);
}

本段代码的目的是去除文件的前 18 个字节

  • 关闭文本文档,将其重命名为 strip.bat
    • 跳出如下窗口时选择「是」
  • 双击打开 strip.bat,待出现「请按任意键继续...」后关闭,此时文件夹 stripped 下的文件就可以用于下一步了

#3 读取资源

  • 打开这个链接(打不开的话多刷新几次),下载页面底部 net7.0 开头的 .zip 文件
  • 解压后打开里面的 AssetStudio.GUI.exe
  • 调整配置如下
    • 别问我为什么可以同时开两个菜单,这是两张图拼起来的
  • 点击左上角的 File 点击菜单中的 Load Folder 并选择刚才的 stripped 文件夹
  • 待下方的进度条满(文件数较多时请耐心等待)后点击上方的 Asset List,即可看到内部的资源
    • 点击部分资源右边会出现预览图

#4 导出资源

#4.1 导出单个 / 少量资源

  • 在左侧列表中选中需要导出的资源并右键,选择 Export selected assets,然后选择放置导出文件的文件夹即可

#4.2 按种类导出资源

  • 点击窗口上部的 Filter Type,一般按需选择 TextAsset(文本)、Texture2D(图片)、VideoClip(视频)即可
  • 点击窗口上部的 Export,在菜单中选择 Filtered assets,然后选择放置导出文件的文件夹即可

#5 资源去重(可选)

  • 在按种类导出资源时,我们可能会遇到资源重复的问题(通常出现在图片类型的资源中),我们通过以下的 Python 脚本除去
import filecmp, os
rootdir = os.path.dirname(__file__)
lst = os.listdir(rootdir)
lst.sort()
lst.remove(os.path.basename(__file__))
# print(lst)
dic = {}
def getRawname(filename: str) -> str: # 获取对应的原始文件名(无后缀)return filename.split('.')[0].split('(')[0].strip()
for i in lst: # 根据原始文件名分组rawname = getRawname(i)if rawname not in dic:dic[rawname] = []dic[rawname].append(i)
# print(dic.keys())
for rawname in dic.keys():dic[rawname] = dic[rawname][-1:] + dic[rawname][:-1] # 把原始文件名对应的文件放在列表开头for i in range(len(dic[rawname]) - 1, -1, -1): # 倒序枚举被删除文件的指针for j in range(0, i): # 正序枚举模板文件的指针if filecmp.cmp(dic[rawname][i], dic[rawname][j]): # 若两文件相同os.remove(os.path.join(rootdir, dic[rawname][i]))print(f"Removed {dic[rawname][i]}! (equals to {dic[rawname][j]})")break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26754.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

站立会议和燃尽图10

站立会议和燃尽图10 一、小组情况 组长:李宏威 组员:董泽豪 队名:隐约雷名 二、Scrum例会 时间:2024年4月29日 出席人员:李宏威,董泽豪 要求1 工作照片要求2 时间跨度 2024年4月29日 7:00 至 2024年4月29日 7:20 共计 20 分钟 要求3 地点 石家庄铁道大学 要求4 立会内容包…

站立会议和燃尽图09

站立会议和燃尽图09 一、小组情况 组长:李宏威 组员:董泽豪 队名:隐约雷名 二、Scrum例会 时间:2024年4月21日 出席人员:李宏威,董泽豪 要求1 工作照片要求2 时间跨度 2024年4月28日 7:00 至 2024年4月28日 7:20 共计 20 分钟 要求3 地点 石家庄铁道大学 要求4 立会内容包…

jsrpc获取瑞数请求后缀和cookie

jsrpc获取瑞数请求后缀和cookie 记得加入我们的学习群:961566389 点击链接加入群聊:https://h5.qun.qq.com/s/62P0xwrCNO 1.分析xhr 每次请求都能看到会携带一个请求后缀uB04BPdr:以及每次请求都会更换cookie下的mEsoE3ffu2LGP:这两个就是需要逆向的参数。 2.调试 因为使用j…

[转帖]华为鲲鹏930归来,ARM成为服务器趋势

https://zhuanlan.zhihu.com/p/675438893 今年8月,Mate60搭载的麒麟9000S归来,12月3日,笔记本L420搭载了麒麟9006C也已经上市;当年数据中心CPU领域叱咤风云的鲲鹏920,什么时候推出下一代? 2023年12月29日,华为云鲲鹏通用计算增强型实例kC2正式开启公测。官方产品鲲鹏92…

Gradformer: 通过图结构归纳偏差提升自注意力机制的图Transformer

这是4月刚刚发布在arxiv上的论文,介绍了一种名为“Gradformer”的新型图Transformer,它在自注意力机制中引入了指数衰减掩码。以下是主要创新点:指数衰减掩码: Gradformer在其自注意力模块中集成了衰减掩码。该掩码随着图结构中节点之间的距离减小而呈指数递减。这种设计使…

Ubuntu 20.04下安装Samba(Cifs/Smb)

接上一篇,本篇记录一下Ubuntu下Samba的安装配置,windows下的共享目录的设置有很多文章,这里就不说了。Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,我们可以使用apt安装,也可以去官网下载软件或者源码:apt安装如果是使用apt,那么安装就方便很多了:  #安装s…

《自动机理论、语言和计算导论》阅读笔记:p215-p351

《自动机理论、语言和计算导论》学习第 11 天,p215-p351总结,总计 37 页。 一、技术总结 1.constrained problem 2.Fermats lats theorem Fermats Last Theorem states that no three positive integers a, b and c satisfy the equation a^n + b^n = c^n for any integer v…

Akima算法

测量数据的内插已有各种方法,如线性内插、多项式内插、样条函数插值等,但这里的Akima插值法具有独特的优点。线性内插只顾及其附近两点的影响。多项式内插时,低阶多项式由于参数较少,内插精度很低,而使用高阶多项式又会使解不稳定,出现“龙格”现象,即内插函数在插值点与实际数…