记一次Unity拆包 —— 以 Cytus II 国际版为例
direwolf
2020-04-22 16

声明:

本文所提及内容已经实际违反了Rayark的用户协议,解包软件资源所带来的后果自负。

解包得到的资源只应用作个人学习、研究或者欣赏。严禁传播,更禁止用作商业用途。本文仅分享方法,不包含解包得到的资源文件。

22.11.16追加

对于大多数问题来说,年代过于久远早就忘记了()无法回复评论抱歉()


别问为什么要拆,问就是听歌舔封面\\NEKO//\\NEKO//

前言

本文介绍两种方法,一种是使用UABE,一种是使用uTinyRipper。都是Windows 10 1909环境。

那么话不多说,干就完了奥力给

一些准备工作

和很多游戏一样,Cytus II国际版的资源文件不在apk包内,而是在一个.obb文件内。我下载的包为Google Play 3.0.1版本,文件为/sdcard/Android/obb/com.rayark.cytus2/main.29113500.com.rayark.cytus2.obb。Rayark没有对obb进行加密处理,直接把这个文件拷到PC上,解压。

在解压的时候还有一个地方需要注意。我平常使用的压缩软件是7-Zip 19.00,在解压完提取资源的过程中出现了问题,UABE直接报错,uTinyRipper解出来文件但同样报错,检查输出文件也没有发现想要的资源。最后发现问题出在7z上面,他解出来的资源文件体积非常小,仅有几百MB (后续测的时候发现7z其实报有额外数据没解出来了,但我当时没有看见) 解决方案是把obb后缀改成zip,然后用Windows自带的文件资源管理器进行解压。我使用的3.0.1最后解包得到了2.2GB左右数据,这个大小就正常多了。

META-INF文件夹直接删掉,我们想找的资源都在Assets里面。直接打开已经可以看见不少好东西了,背景、标题、剧情中用到的动画都直接以mp4文件的形式出现在了这里,还有Nora包的动态曲封gif和几个音效。但歌曲的音频、曲封等资源都在/bin/Data目录,里面是一堆看不懂名字是啥的文件(我估摸着是hash值)要让资源现出原形,就需要我们的主角登场啦!

方法1:使用UABE

全称Unity Assets Bundle Extractor下载链接(Github)

使用起来也非常简单:

  1. 打开AssetBundleExtractor.exe。他的主界面长这样:UABE主界面
  2. 点击左上角的File - Open,找到Data目录里面一堆文件,直接Ctrl+A全选,打开选择文件
  3. 等他加载完成之后来到了这么一个界面,在左边选择读取到的资源文件。Texture2D为图片,AudioClip为音频。文件命名方面,以Neko为例,Neko001为大Neko包,Neko002为小Neko包。文件选择
    为什么会出现同名同类型的2个资源呢?是因为cy2的预览音频和完整音频、IM内解锁弹出封面和选歌界面封面使用的是不同的文件,而UABE不显示他们之间的区别,就出现了这种情况。
  4. 在左边点选之后,点右边Plugin,按OK。弹出选择路径的窗口,确认之后文件就会导出到选择的路径了!Plugin
    如果导出的是Texture2D类型,在点完Plugin之后还有导出为tga、导出为png和编辑三种选项可以选择(好像还能用来替换图片资源,没试)

关于音频文件我多说几句,导出格式不可选,默认为wav,但用Audition打开看频谱明显是压缩品质()还是批量转换成mp3格式吧,这样比较节省空间要不是硬盘快满了我会这样

自购自抓的Arcaea专辑

拆包得到的wav,有明显的高频缺失

方法2:使用uTinyRipper(推荐)

通过上面的流程可以发现UABE还是有些弊端的。我是在检查上面提到的报错的时候阴差阳错地认识了uTinyRipper,感觉还挺好用就用上了(?)

uTinyRipper使用起来比UABE还要无脑不少。下载链接(SourceForge)

  1. 点开uTinyRipper.exe,把Data文件夹直接拖进去主界面
  2. 等文件加载完。看到那个大大的Export了吗?点他!导出

选完输出文件夹之后等待一会就导出完了。uTinyRipper要说好处真是用起来相当无脑,坏处也就是太无脑了,不管你要不要的资源全给你导出来,速度比较慢。但与此同时,他也会将不同资源分类。这时的资源命名规则跟之前提到的差不多,只是带有后缀_0的文件,表示IM解锁方形封面或者是预览音频。区分出来用起来就很方便了。

资源的自动化整理

咕咕咕


参考资料

评论 16
某魏 #4

太强了

June 19th, 2020 at 08:12 am
回复

学到了 这就去拆包()

May 1st, 2020 at 06:00 am
回复
Icenight
Icenight
#18

爲什麽我只看見預覽音頻, 沒有完整的。有大佬可以幫幫我嗎?

December 12th, 2020 at 04:26 pm
回复
.direwolf #22

评论的邮件提醒刚修好orz之前发邮件给您了,请检查您的邮箱))

January 18th, 2021 at 08:23 pm
回复
Icenight
Icenight
#25
回复 #22:

不好意思,我邮箱找不到,方便的話可以再發一篇嗎

January 19th, 2021 at 09:22 am
回复
.direwolf #26
回复 #25:

已经给您重新发送了٩(ˊᗜˋ*)و

January 21st, 2021 at 11:04 am
回复
Icenight0812
Icenight0812
#27
回复 #26:

不好意思,可是我真的看不到,我想问问在哪啊,打扰你不好意思。

January 21st, 2021 at 07:09 pm
回复
.direwolf #28
回复 #25:

很奇怪))我发那封邮件和之前站点的邮件提醒用的是同一个邮箱,如果能收到提醒的话理应也能收到那封邮件才对..如果垃圾邮件里面没有的话我也不知道了
首先是用Windows自带的资源管理器去解压obb,然后拆出来/Assets/AudioClip下,不带_0的是完整音频,我能想到的大致就这两点

January 25th, 2021 at 11:36 pm
回复
Icenight0812
Icenight0812
#29
回复 #28:

好的谢谢,感谢感谢

January 26th, 2021 at 08:15 am
回复
Milarvoz
Milarvoz
#20

我用了utinyripper, 但是之后只有level1的文件夹被导出,这是为什么
以及想请教一下,obb解压出来的AssetBundles这个文件夹里的东西是什么,也挺大的

January 7th, 2021 at 08:38 am
回复
.direwolf #23

如果没记错的话,我当时使用7-zip进行解压obb,就遇到了这种情况,文中也有提到。检查一下解压后Data的大小是否符合常理,我当时解出的Data有1.4GB,现版本估计更大)AssetBundles这个文件夹里边也是资源,需要通过别的方式解包,但是这个我没去倒腾了

January 18th, 2021 at 08:33 pm
回复
诺顿
诺顿
#30

我也只解出了预览音频,但Date文件有一个多G啊,楼主怎么办

March 15th, 2021 at 12:40 pm
回复
千夜
千夜
#37

只有預覽音頻怎麼辦

October 20th, 2022 at 04:57 am
回复
Milarvoz
Milarvoz
#40

多年后又想来继续没完成的解包工作,发现之前你的图都挂了哈哈哈

June 20th, 2023 at 06:53 am
回复
Milarvoz
Milarvoz
#41

仔细一看是chrome说你这个不是https不安全给我默认屏蔽了()抱歉抱歉
现在我也是程序猿了,来老哥小站学技术啦

June 20th, 2023 at 07:04 am
回复
.direwolf #42
回复 #41:

是我的问题,最近比较忙,你一说我才发现cdn的证书过期了)

July 3rd, 2023 at 03:33 pm
回复
评论已关闭
发表评论
评论 取消回复
Copyright © 2024 .direwolf