标题: age社作品通用资源提取工具RioX (1.2.143.810支持Chronicles04), 附: 关于rUGP破解现状的备忘
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-3-22 21:29 资料 文集 短消息 只看该作者
age社作品通用资源提取工具RioX (1.2.143.810支持Chronicles04)

本程序用于从age社作品的.rio文件中提取图片资源。
程序支持多部作品(已测试列表见后),可以作为age社作品图片提取的通用解决方案。

目前程序可以提取CG/背景/系统元素。
由于age社在不同时期对图片资源的存储类型不同,对不同作品,提取出的图片内容略有不同。
早年的作品如君がいた季節 フルボイス、君が望む永遠 DVD Specification,立绘和差分也能提取出来。
マブラヴ起,立绘/差分换了新的编码方式,目前还未解决。
日后如有进展,再做更新。

到目前为止,批量提取age社作品中的图片资源仍然是个问题。
目前可以找到的工具主要有hikobae制作的rio2png/alterdec,和WESTSIDE社的若干工具等。
WESTSIDE社的商业产品可以很彻底地提取出各类图片资源,但是都只对应特定的作品,解其他作品有时会报错或崩溃。
rio2png和alterdec公布了源码,容易扩展到其他作品,但是能提取的图片类型偏少。

这次学习了rio2png/alterdec的源码,并部分破解了WESTSIDE社的工具,整合和扩展了两方面的结果,做了这个程序。
相比WESTSIDE社工具注重的“全部提取”,本程序的侧重点更偏向于“通用”:
争取对应age社采用rUGP的所有过去作品,以及在不远的将来可能出现的新作。
本程序已经能提取出比rio2png/alterdec更多的图片;关于立绘等内容的提取,日后还会做进一步的研究。

防备万一的扫盲:
rUGP是age社开发的galgame引擎,君望、Muvluv系列等作品都是用的rUGP
age的姐妹品牌也用rUGP,包括Overflow的Days系列(但是不得不说Overflow的程序员太弱了就是暴殄天物)
十年前那是相当惊艳的一个系统,到现在也不算落后

下载链接:
http://riox.thisillusion.org
(感谢doyleconan同学大力支持)

----------------------------------------------------------------------------------------
已测试作品列表:
    マブラヴ 18X
    マブラヴ 全年齢
    マブラヴ オルタネイティヴ 18X
    マブラヴ オルタネイティヴ 全年齢
    マブラヴ サプルメント
    マブラヴ オルタードフェイブル
    マブラヴ オルタネイティヴ クロニクルズ 01
    マブラヴ オルタネイティヴ クロニクルズ 02
    マブラヴ オルタネイティヴ クロニクルズ 03
    アユマユ オルタネイティヴ
    君がいた季節FR
    君がいた季節 フルボイス
    君が望む永遠LE
    君が望む永遠 DVD Specification

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
关于rUGP破解现状的备忘

在rUGP这个坑里折腾了一个多月,收获实在是不大。到现在为止,仍然只是解决了两种主要格式的CG/背景图片的提取。而且找代码/模仿/猜测的搞法也快到头了,想取得更多进展必须上OllyDbg或者IDA pro了。这就要从长计议了。目前的打算就是把已经知道的事情记下来,然后给现有的成果做个界面release一个,然后不理程序了回去翻文本。rUGP的破解十来年都没人深入搞(从君望算起的话),一来说明难度大,二来不会有人急着等成果。虽然有些虎头蛇尾,也没有办法。在此写一下这段时间了解到的关于rUGP的破解的事情,作为备忘。

一、 那些变成传说的

在google上搜索过各种中文/日文/英文的关键词后,找到的与rUGP破解有关的最早的信息似乎和age社自己做的一个叫riorha2.rpo的插件有关。这个东西是用来访问一些rio文件中的资源的,现在还在age官网上挂着供下载。因为用了mpeg的库,被GPL协议搞了(我不清楚细节),age公开了riorha2的源代码。我没有尝试插件本身的效果,只是看了下代码,看上去涉及了音频和视频对象。按常理说这东西应该是个不错的突破口。然而,至今没有见过提取rio文件中音频或视频的任何工具,关于它的寥寥的讨论也仅限于“这东西应该有帮助”。

然后的一个被不少地方提及的、传说中的工具,叫RioDecode。之所以说“传说中”,是因为所有提及它的地方都指向同一个、现在已经不存在的页面。我现在还不知道去哪儿能弄到这东西。因此,RioDecode是谁做的,什么样的,能做什么,就不得而知了。

二、 hikobae的成果

再之后,就是2003年的rio2png和2006年的alterdec了。这两个东西都是hikobae做的。猜测hikobae是日本人,因为他的个人页面是纯日文,他混日文论坛,而且没有见过他发表英文的东西。这两个工具都公布了源码,这也是我找到的仅有的源码。应该说,我做的所有事情,都起源自这两套代码。非常感谢hikobae辛勤的劳动和无私的奉献。根据简短的blog,他应该是用softice跟踪了游戏程序。而他得到的,是数十个资源类型的初步或深入解析,和100多K写得非常紧凑(或许过分紧凑了)的代码。这个工作量粗估可能要几百甚至上千小时。

rio2png是一个用来解Muv-Luv 18X版中CG/背景图的工具。研究后发现,其实只解了Rip008类型图片的一部分,虽说数量上确实是绝大多数了。一种更老的图片类型(还没确认到名称)和r6Ti类型没有涉及;Rip008类型也有一部分在程序中绕过了没有处理,从代码上看应该是没解决这部分的解码。在rio2png的基础上,结合后来的alterdec的代码,我猜出了Rip008类型绕过的那部分的解码方式。其实底层操作hikobae都找出来了,就是怎么根据flag组合起来没有给出。

alterdec是一个伟大的工具。它可以解压Muv-Luv Alternative 18X版中的CG/背景/文本。在我看来,它有两个巨大的贡献:一是从非常复杂的脚本对象中提取出了文本;二是解析出了rUGP中对象的树状结构。rUGP的脚本相当复杂,除文本外有三百余种对象(VmGenericMsg中的message各不相同需要区别对待)。这些对象以二进制的形式直接存在脚本里,长度和内容有关,而且没有存所占字节数也没有分隔字节。这就意味着即使不想要它们的内容只想跳过,也必须分别采取正确的方式。hikobae就给出了这三百种对象的跳过方式。另一方面,树状结构的解析让我们得以窥见rio的全貌,给出了可靠遍历和辨认所有资源的手段。后来的WESTSIDE社的工具,也明显是采取了遍历树的方式。证据就是用它们打开ML 18X版的rio文件会报relicUnitedGameProject错误:这个类是根节点,而这种树状结构是从MLA 18X版才开始起用的,更早的作品以及后来的君望LE都没有这个根节点。

alterdec很强大,但是还有问题。一个结构性的问题是,如果rio中出现新的对象类型,旧的程序解析树状结构就可能出错。只要采用树状遍历,就没法避免。结果就是只能做专门针对某一个游戏的解压工具,面对其他作品的rio文件,“有可能成功运行”,也有可能crash。事实上,无论alterdec还是后来WESTSIDE社的工具,都是如此。从这个意义上,rio2png的识别特征码的方式,虽然不够系统,效率也受限,却有可能用来做出通用的提取工具,因为主要的对象类型的格式变化不太频繁。

alterdec的另一个问题是图片格式的解析不够给力。程序只处理了r6Ti类型和Rip类型(似乎是单色mask),Bg2d类型的解析还有错。rio2png里做过的Rip008都没写进去,似乎也是因为前面提到那个解压的问题没解决。我所做的就是把两处的r6Ti和Rip008的解码整合在一起,补足了未解决部分,并修正了Bg2d类型的错误。目前手头有的rio文件中的r6Ti和Rip008类型的图都可以正确解压了。只是在此过程中又发现了一种不知道名称的图片类型,现在还没头绪。好在它只在部分作品中出现了个别几张,在MLA和MLAC中根本没出现,就先不管了。

三、 WESTSIDE社的工具

WESTSIDE社是一个提供各种游戏小工具软件的公司,产品要收钱的(不到1k日元一个)。其中做过四个跟rio文件有关的,分别对应ML全年龄版、MLA全年龄版、ML Supplement和ML Altered Fable,都是提取图片的。界面用MFC写的,而解压采取了alterdec的树遍历方式。这几个工具的亮点在于,可以解出很多类型的图,除了r6Ti和Rip008,能解那种未知CG/背景类型,能解立绘和表情差分,甚至还有ico等零碎东西。可惜人家是收钱的不公开代码,目前还不知道具体怎么做的,

四、 Nagato’s hooker

2011年出现了一个伟大的东西:Amaterasu Translations发布了MLA的英化补丁。在该组织的论坛(英文)上,可以下载到ML和MLA的英化补丁,而且似乎没有大的bug。补丁只有几十M,还有卸载功能,做得非常干净。实际运行发现替换了文本和部分图片,效果很好。从论坛的讨论中看,这个东西是Nagato做的,原理是用一个dll去hook游戏运行时内存,每当把文本填入文本框时,替换要填入的字符串,不涉及内部资源格式的解析。

这是一个很好的思路,似乎也是近年来汉化中越来越多见的一个思路。替换资源文件涉及资源的编码、资源文件结构的修改、双语版本共存等问题。kirikiri这样的开源引擎倒无所谓,rUGP这样的引擎就是要人命的。而用hooker不需要改变原资源文件,运行时替换即可。虽然还是拿不到立绘图,至少可以做汉化版了。只要不是跑起来很卡,就没啥问题。Amaterasu Translations没有放出代码,似乎关系到和age社交涉英文版授权的事,;Nagato则在2010年宣布退休,我前些时在Amaterasu站短他也没理我。不过开源的ITH似乎解决了rUGP的文本hooker,真要做的话应该还是能做的吧。

五、 yusjoel的工具

我目前跟着澄空age版的人搞ML系列汉化相关的事,而在这里找到的一个东西,就是yusjoel做的文本替换工具。这终于是一个同胞做的东西了。他做的事情是,首先是把rio文件中的文本提取出来,加偏移标记,并转换成GB2312(为啥是这个倒霉的内码呢…)。然后就是把翻译好的文本压回rio文件简单替换原来的脚本。还修改了rUGP若干配置文件,让游戏能够显示GB2312码。

简单替换的话,中文文本长于日文文本就是致命的。还好替换单位是数百上千行,而日语是一种很啰嗦的语言,实际中大约没问题吧。不过还有另一个问题就是文本颜色:原来是可以区分设置不同人物文本颜色的,替换后全白色了。似乎是跟JIS字体有关。其实我个人还是倾向于hooker的方式,当然,问题是要有掌握相应技术的人来花功夫做这个事情。

结语

从年初以来,牺牲了做研究写paper的时间,一直在搞rUGP。对我这个还没入破解的门的人来说,果然还是够难的。复现和整合rio2png+alterdec的图片部分就花了三周。不过也挺有趣的,学了一些没用过的C++特性,学了一些没用过的工具,体验了一下解包。后面再深入些也不错,不过现在还是回来忙正事吧,再不找工作我就真成无业游民了。这篇东西把重要的事情做个备忘。

[ 本帖最后由 muzhi 于 2013-10-8 17:15 编辑 ]


顶部
性别:男-离线 邓仲华
(卧云居士)

秦国公
江南路经略使
★★★

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品) 轩辕春秋年度最佳(怡情岁月区)
组别 经略使
级别 大将军
好贴 3
功绩 2830
帖子 19974
编号 5065
注册 2004-2-7
家族 现视研


拇指,饿感觉你发错地方了


顶部
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-3-22 21:34 资料 文集 短消息 只看该作者
回复 #2 邓仲华 的帖子

错了就挪吧...
顶部
性别:男-离线 1级魔法行会
(小一君)

节度留后虎豹骑

Rank: 12Rank: 12Rank: 12
组别 虎豹骑
级别 军师将军
好贴 1
功绩 151
帖子 951
编号 330577
注册 2009-7-22
来自 轩辕春秋论坛


虽然不是很明白,可是好像很厉害!
muzhi大叔
顶部
性别:男-离线 水镜门生
(虾仁生煎)

许国公
河北东路经略使
★★★

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 经略使
级别 大将军
好贴 6
功绩 2628
帖子 22586
编号 52409
注册 2005-11-4
来自 五谷轮回之所
家族 肉肉门


发表于 2012-3-23 10:48 资料 个人空间 短消息 只看该作者 QQ
虽然不是很懂,不过很厉害的样子,嗯,应该发到设计与修改区,不过既然是GAL相关,放动漫区也没啥
顶部
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-3-29 23:43 资料 文集 短消息 只看该作者
Chronicles 03今日发售

又见斧子,柚香真萌

PS:等有种子了-下下来-测试过没问题,就发布我写的图片提取工具..............


图片附件: chronicles03cd0tda.jpg (2012-3-29 23:43, 138.52 K)

顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2012-3-29 23:57 资料 个人空间 短消息 只看该作者
0

[ 本帖最后由 WHITESHIP 于 2016-5-16 14:59 编辑 ]
顶部
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-3-30 00:19 资料 文集 短消息 只看该作者
回复 #7 WHITESHIP 的帖子

不懂看图就好~~
这楼就是发图~~

没在计算机系呆过,不过确实有关
至于英杰传,我倒还搞过一个混乱恢复补丁......不过也是在龙吟/周大/孝直的成果基础上......
顶部
性别:男-离线 邓仲华
(卧云居士)

秦国公
江南路经略使
★★★

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品) 轩辕春秋年度最佳(怡情岁月区)
组别 经略使
级别 大将军
好贴 3
功绩 2830
帖子 19974
编号 5065
注册 2004-2-7
家族 现视研


估计先是水月
顶部
性别:未知-离线 司徒苍月
(kagami☆sama)

越国公
荆南节度使
枢密直学士

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
好贴 7
功绩 2823
帖子 28883
编号 52341
注册 2005-11-2
来自 创界山
家族 司徒实业


恋爱游戏制作大师

有这么款软件
顶部
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-3-30 13:38 资料 文集 短消息 只看该作者
为啥上边两楼说的啥我都看不懂......
顶部
性别:男-离线 邓仲华
(卧云居士)

秦国公
江南路经略使
★★★

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品) 轩辕春秋年度最佳(怡情岁月区)
组别 经略使
级别 大将军
好贴 3
功绩 2830
帖子 19974
编号 5065
注册 2004-2-7
家族 现视研




QUOTE:
原帖由 muzhi 于 2012-3-30 13:38 发表
为啥上边两楼说的啥我都看不懂......

现在才明白,8楼说的这楼指的是6楼,还以为乃要在8楼发啥截取的CG
顶部
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-3-30 15:03 资料 文集 短消息 只看该作者
回复 #12 邓仲华 的帖子

原来如此,我又表达不清了...作为补偿发两张...

要发自然会先发冥夜~(可惜冥夜的CG各种不给力...)
既然凳子提了,就把水月那张命运的CG也发出来

图游戏里都有,不过原始数据分辨率更高,当然体积也更大...


图片附件: 冥夜(ML).jpg (2012-3-30 15:03, 374.33 K)



图片附件: 冥夜(MLA).jpg (2012-3-30 15:03, 391.41 K)



图片附件: 水月(君望LE).jpg (2012-3-30 15:03, 759.4 K)

顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2012-3-30 15:19 资料 个人空间 短消息 只看该作者
原来木之叔叔的头像就是这个啊……
我还纳闷这个发型这么高达的妹子是谁(吐槽完毕,匿了……)
顶部
性别:男-离线 muzhi
(木之)

谏议大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
功绩 684
帖子 1733
编号 151018
注册 2007-5-3


发表于 2012-4-1 18:08 资料 文集 短消息 只看该作者
今天下午chronicles 03的种子终于出来了,测试完可以发布程序了

已修改标题并更新顶楼

补Chronicles 03 CG一张

[ 本帖最后由 muzhi 于 2012-4-3 16:53 编辑 ]


图片附件: 028126fe.jpg (2012-4-3 16:53, 594.34 K)

顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-12-4 01:02
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.014470 second(s), 10 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP