雅恋吧 关注:1,724贴子:22,497
  • 16回复贴,共1

【伪技术】提取雅恋PSP中的音频与视频

只看楼主收藏回复

原帖标题格式错,编辑重发
之前最先入手的是あわゆきのうたげ结果发现文件看不懂⋯⋯果然还是技术不过关
后来无聊HexDump看看原版发现⋯⋯/PSP_GAME/USRDIR/MUSIC.DAT居然就是RIFF格式的,果断把歌扒下来了
Ver. 0:全程於我家Mac上完成,先是wxHexEditor全文搜索 RIFF 关键字,然后按照搜索到的位置写了个 Numbers 列表然后自动生成用dd的导出命令,最后粘进终端就导出完成了~
Ver. 1:后来发现VOICE.DAT/VIDEO.DAT也是用类似格式⋯⋯於是就用 xxd + python 写了个脚本自动关键字搜索切割了~测试成功,只是视频好像没声音⋯⋯不知是不是因为我切割时留下了文件末尾的0的缘故。
MUSIC.DAT中第一个音频叫Dummy,好像是空白,所以就删掉了,不然文件编号应该是从0开始。
VIDEO.DAT中视频使用的是PMF格式,所以搜寻关键字改为 PSMF。
MUSIC.DAT 可从以下网址取得:http://personal.psu.edu/svz5160/os/Miyako/MUSIC.DAT
Numbers 列表的PDF导出版:http://personal.psu.edu/svz5160/MiyakoMusic.pdf
Numbers 列表的XLSX导出版:http://personal.psu.edu/svz5160/MiyakoMusic.xlsx
导出后的AT3格式音乐:http://personal.psu.edu/svz5160/os/Miyako/Music/<1~40.at3>
导出后的MP3格式音乐:http://personal.psu.edu/svz5160/os/Miyako/Music/<1~40.mp3>
AT3 ZIP下载:http://personal.psu.edu/svz5160/os/Miyako/Music/at3.zip
MP3 ZIP下载:http://personal.psu.edu/svz5160/os/Miyako/Music/mp3.zip
VOICE.DAT 可以从以下网址取得:http://personal.psu.edu/svz5160/os/Miyako/VOICE.DAT
导出后的AT3格式配音:http://personal.psu.edu/svz5160/os/Miyako/at3voice.zip(因为有9k+条,就懒得转MP3或者散装上传了)
MOVIE.DAT 可以从以下网址取得:http://personal.psu.edu/svz5160/os/Miyako/MOVIE.DAT
导出后的PMF格式视频:http://personal.psu.edu/svz5160/os/Miyako/Movie/<0~3.pmf>(请允许我偷懒不打包成zip也不转码)
最后,导出工具 splitfile.py:http://personal.psu.edu/svz5160/splitfile.py
注意:splitfile.py 目前仅支援GNU/Linux,BSD与Mac作业系统,不支援Windows(但是好像cygwin也可以运行),格式: ./splitfile.py DATFileName keyword extension
e.g. ./splitfile.py MUSIC.DAT RIFF .at3
最后看 HexDump 看到@.@的某只求镜像求Patch求建议 && 哪位技术宅把这游戏汉化了吧~


1楼2014-10-12 23:03回复
    感谢亲辛苦提取并分享哦!


    2楼2014-10-14 06:07
    回复
      好多都开不了==而且,这都是什么意思???


      IP属地:山西3楼2014-11-16 21:30
      收起回复
        话说我有开 Apache2 mod_autoindex 的说,所以找不到东西或者有些看不懂我的语法的可以去 http://personal.psu.edu/svz5160/os/Miyako 那里自己翻目录。


        4楼2014-11-17 09:14
        回复
          这是微雪的还是月咏的?


          IP属地:山东来自Android客户端5楼2014-11-18 15:57
          收起回复
            贰号的呢……


            IP属地:山西来自手机贴吧6楼2014-11-22 12:04
            收起回复
              补下资源:
              月咏之梦音乐MP3打包: http://personal.psu.edu/svz5160/os/Miyako/Tsukiyomi/TsukiyomiMP3.zip
              对应WAV无损原曲:http://personal.psu.edu/svz5160/os/Miyako/Tsukiyomi/WAV/ m[01..38,40,50..52].WAV
              具体提取过程及技术细节我等等有空再补吧,现在是凌晨三点,明天还要赶飞机回国⋯⋯
              另,由於本人回国,1月10号前将失去伺服器物理接触权,所以只能企盼它在我回来之前不要挂了⋯⋯如果真挂了我也只能等1月10号回到家里再修复。由此造成的不便敬请谅解。


              7楼2014-12-20 16:03
              回复
                谢谢乃!一直以为你会忘记呢!!都到这步了,我就不要求其他了谢谢你!


                IP属地:山西来自手机贴吧8楼2014-12-21 00:03
                回复
                  祝乃回国大吉!!!!!


                  IP属地:山西来自手机贴吧9楼2014-12-21 00:03
                  回复
                    话说乃在哪……三点……


                    IP属地:山西来自手机贴吧10楼2014-12-21 00:05
                    回复
                      本人当前地理位置⋯⋯费城附近。
                      补下技术细节及提取过程:
                      Crass
                      昨天再好好看了下置顶贴,然后发现了一个之前一直没注意到的细节:
                      『游戏原名』:雅恋~MIYAKO~月咏の梦
                      『英文名称』:Miyako~MIYAKO~Tsukiyomi no Yume (原文Yukuyumi,疑为笔误)
                      『制作厂商』:Circus-Sanctuary
                      我一直以为是 Sanctuary - Otome 的⋯⋯前面的 CIRCUS 是怎麼回事?!
                      於是以CIRCUS为关键字STFW,在痴汉公贼 (glanser@163.com)的Crass文档中找到以下说明:

                      【.pcm资源文件说明】
                      元数据是PCM WAV文件。
                      该文件广泛用于Circus的游戏当中,主要用于存储各种类型的音频数据。
                      首部:
                      s8 magic[4];// "XPCM"
                      u32 length;// 数据长度(实际涵义依据mode字段而定)
                      u8 mode;// 0 - PCM数据;1 - VQ压缩+lz压缩;2 - ADPCM数据;3 - VQ压缩+zlib压缩
                      u8 parameter;// mode为1和3时,表示使用的scale table。
                      u8 reserved[2];
                      u16 wFormatTag; // 以下字段的涵义请参考MSDN上有关WAVEFORMATEX的描述
                      u16 nChannels;
                      u32 nSamplesPerSec;
                      u32 nAvgBytesPerSec;
                      u16 nBlockAlign;
                      u16 wBitsPerSample;
                      数据:
                      依据mode字段而定。

                      好了得了,原来是这样,於是就解出来WAV了 :D
                      这次我是偷懒直接用了Crass提取的,因为觉得好像网上都有人写好了自己再写一遍是重新发明轮子,勿怪。


                      11楼2014-12-21 00:42
                      回复