专栏/GalGame:引擎识别和剧本提取

GalGame:引擎识别和剧本提取

2020年12月30日 09:15--浏览 · --喜欢 · --评论
粉丝:1664文章:3

转自百度贴吧

一. Nscripter/作者:高桥直树

在2000~2003年很常见的AVG系统,我觉得应该算的上是这类泛用系统的始祖之一,因为系统构造简单,虽然使用?举型的语法也不会太复杂,作为一般AVG或Visual Novel形式的游戏相当合适,所以被相当多同人和商业公司采用,其中不乏名气很高的游戏。

最近几年因为游戏在系统上需求越来越高,Nscriptrr感觉就有点力不从心,所以有渐渐退出的趋势,它已经逐渐被吉里吉里、Buriko和Majiro系统取代。顺便一题提,作者本身是编剧家,参与不少美少女游戏的脚本设计工作。

代表作:水色,朱-Aka-(猫猫),月姬(type-moon),はにはに(AUGUST),はじめてのおてつだい(StudioRing),ひぐらしのなく顷に系列等。

1. 扩展名视版本而不同,2001年以前的旧版本有.sar档,但是之后的版本大多是.nsa档。 2. 档案组成: arc*.nsa+nscript.dat+*.env,这些档案就能确认是Nscript系统。

3. 存盘在savedata目录下,扩展名.dat(存盘有index依存性,挂别人的savedate会造成原来的存盘无法使用)。

※圈圈社《はじおて》的档案组成:

图档和音声,SE通常都是压缩在不同的数据文件里,推荐使用“Spi_NScripter”这个工具,对新旧版本的档案都支持的很好;“ExtractData”同样对应,但是对旧的sar格式支持性不佳。Nscripter没有特殊格式的图档或音声档,抽出的档案都是常见的bmp/png、ogg/wav,不需作特别处理;BGM有时没有经过压缩,音乐档案直接放在BGM子目录下(更旧的游戏有时甚至可见CDDA)。剧本方面所有版本的nscripter剧本都是在执行文件同样目录下的“nscript.dat”这个档案,用“NSDEC”这个工具可以对应。

※05年圈圈社的《はじおて》抽出的剧本和CG:

二. 吉里吉里/作者:

历史和Nscriptor差不多,但是靠着2004年的超人气游戏《Fate》才让人开始知道吉里吉里这个泛用系统。使用的TJS语法采用类似javascript风格并不困难,加上主体KAG3系统的功能强大,无论是最简单的小说形式游戏或是需要华丽画面的效果都能应付自如,另外,外挂功能还能让系统支持更多种类的档案形式。当然最重要的,吉里吉里依循GPL是免费使用的。另外,KAG3系统因为支持unicode,所以对国内有些有志之士发展游戏中文化很有帮助~

代表作:Fate(type-moon),Sugar+Spice!(Chuable),あかべぇそふとつぅ所有作品,ゆずソフト所有作品,还有一堆同人游戏采用。

系统有两种不同的结构,下面是比较常看到的式样。

1. 扩展名.xp3。

2. 档案组成: data, fgimage, bgimage, scenario, video, voice,还有一种是单一data.xp3一个档案。

※柚子社《ExE》的档案组成:

※樱桃小学校的《放课后にゃんにゃん俱乐部》档案组成:

3. 存盘在savedata目录下,扩展名.ksd+bmp(预览的bmp是必须档案)。

4. 所有xp3数据文件的文件头有XP3字符串,后面跟一串版权的警告文字:

5. 主程序的档案信息可以看的到TVP 2 core等字符串和版本号:

另外一种是把数据文件和程序融合在一起的,其实中身的数据和一般xp3格式并无差别。

(注,国产许多GAL都喜欢单一档案)

※Q-X社《ひめりり》让人错愕的单一档案:

当然还有一种是把程序和个别的xp3档案融在一起这又是少数了。

 这个系统出过不少名作,所以感觉是被研究的最多的一个系统,不过如果只是单纯要抽取档案的话就不需要太深入。我还没研究过吉里吉里的SDK,不过不同公司做出的xp3数据文件总有微妙的差异常常造成档案抽取失败,在susie plugin有“ZZ*z Factory”的“axxp3”和“Simple is Best!”的“spi_xp3”比较有用,不过如果不想跟奇怪的offset奋斗,还是用ExtractData最快,它甚至也支持“数据文件+执行文件融合”的类型,整个档案丢进去就能辨识,拆解不需要像过去提到的步骤这么繁琐。

 另外,虽然大部分抽出的画像都以png为主,不过吉里吉里自己有特殊的TLG格式画像,不过使用这种格式的游戏并不多(事实上OHP好像也停止公开),总之同样是Simple is Best!也有公开“spi_tlg”,不过用了几次觉得兼容性不太好,ExtractData也可以使用,不过兼容性不太确定,看人品了……

所有吉里吉里的剧本都一样用xp3档包装,本身没有再经过其它编码,脚本的扩展名.ks直接是是纯文字文件,偷懒啊。

※高质量社“四叶DVD”的破解状况:

三. Buriko GeneralInterpreter / 作者:Darios Sawm(Buriko)

又名Ethornell,系统本身细节不明,2002年这个系统首先被root/Clover社采用的时候偶还以为是他们开发的,不过04年以后发现越来越多公司也在使用这个系统,判断不能……有人认为开发者集很多系统之大成做的,另外DirectX用的颇多,只是系统在目前一般的设备下不会觉得负载很重,流畅度也有保证,虽然不知道script编写难易度如何,但是看到不少商业作采(改)用(例如root和AUGUST分别从Entis和Nscripter改用),想必应该有它过人之处吧。顺带一题,BGI系统最近成立公司“Buriko社”,为游戏公司提供外注的系统开发服务。

代表作:ている?ている(CLOVER), あけるり/FA(AUGUST), H2O(枕), Lump ofsugar社所有作品。


1. 扩展名.arc.

2. 档案组成: data*, scenario*,voice*,fastdata,slowdata,stream;其中data*.src、fastdata、slowdata的内容是CG、立绘和SE音效文件。

3. 存盘在savedata目录下, 扩展名.sav。

4. 所有arc数据文件的文件头有MajiroArc字符串,并且有版本号:

这个系统也经过多次改版,结构大致一样但是数据文件的仕样有改变,基本上所有档案用arc格式包装,另外画像也是特殊格式,旧版的扩展名.bg(或是._bg),新版没有扩展名,格式似乎也不同,过去我曾破解过过AUGUST的《あけるり》,用的工具是“DECTEIRU”,不过现在ExtractData都能对应就不用这么麻烦了。

剧本方面依照版本不同,存放的位置和格式也不一,基本上旧版会在scenario.arc里面的格式“._bs”,新版会在有序号的数据文件里面的第一个(例如data01xxx.arc),自身脚本无扩展名。破解方法是先用ExtractData解出源文件,再用“notaエロゲ研究室”提供的工具来解出。

下面我分别找到手边版本最旧和最新的BGI系统游戏来示范:

※02年Clover社《さよらなエトランジュ》(BGI版本V1.00 build:266.1):

※08年AUGUST《FORTUNEARTERIAL》(BGI版本V1.69build:438.1),剧本用“キラ☆キラ”的拆解程序“kira_con.exe”提取:

四. MAJIRO Script/作者:越畑声太

这个系统的资料就更少了,猫猫在2004年的“麻雀”首次将系统从Nscripter改为这个系统才开始注意到。系统作者似乎只受注写作系统,并且同时担当script编写,过去从SIESTA社和棉花社的日记和访谈中大概是这种感觉,当然因为是作者自己开发的系统,script的错误会减低很多。另外我过去小小研究一下这个系统就感觉,这些2D AVG的引擎构造似乎都有点像(例如Buriko,Majiro,Remain/Alcot系和ケロQ最新的系统)。

代表作:Scarlett(猫猫),SIESTA社所有作品,棉花社(猫猫社现名)所有作品。

1. 扩展名.arc.

2. 档案组成: system/sysgrp/sysprg.arc这三个是系统相关文件,其它的数据文件名称不定,但是通常是有序号的档名,例如data*.arc。

※糖块社《Nursery Rhyme》档案组成:

※AUGUST《FA》档案组成:

3. 存盘在游戏相同目录下,档案.sud+bgi.gdb。

4. arc数据文件的文件头有PackFile字符串,随后跟着该资料文件的index:

5. 比较新版本的BGI系统可以从主程序的档案信息看到Ethornell等字符串和版本号:

猫猫在放弃Nscripter后继改用的系统,目前可以看到V1.000和V2.000两种版本。

CG和音效分散在data*/slowdata*/fastdata*这些档案里面,CG的画像格式则是Majiro专用的rct/rc8图文件,档案含有alpha-channal信息,其中对V1版本,“ZZ*z Factory”有公开susie plugin,但是对CG处理有问题,所以建议只在抽剧本时使用,至于“ExtractData”则同时支持V1和V2两种版本。

剧本方面所有剧本存在于scenario*.arc(或update*)中,里面是经过加密的mjo(MajiroObject)格式,这个要利用“Majiro Developmentkit”来拆解,该程序似乎是有人为了开发其它语言版本用的工具。如果是“MajiroV1”,直接用上面提到的susie将mjo剧本档抓出,然后用mjdev里面的“mjcrypt.exe”先将mjo档案转换成bytecode档,然后用“mjdisasm.exe”将bytecode档转换成sjs剧本档和mjs脚本。

※使用MajiroV1的猫猫《Scarlett》的arc中身和抽出的其中一个剧本档:

“MajiroV2”就完全利用ExtractData来抽取,但是注意抽出的剧本是.txt档内容已经是bytecode格式,但是这个档案喂给“mjdisasm.exe”却不能转换,因为缺了档头,所以要自己加上去。

ExtractData抽出的bytecode剧本档:

※使用MajiroV2的SIESTA社《ぱすてる》拆解状况:

五. sketch / 作者:薫(retouch)

2004年Lotus社的《空色》是第一次看到这个系统做的游戏,sketch是这个引擎的核心系统,以retouch这个链接库环境来开发游戏,最后开发出来的游戏还要利用ExHIBIT来执行。系统本身不使用DirectX,画面的处理完全靠自己的核心系统,事实上视觉效果上面处理还是不错的,但是副作用是对系统的负载偏高……sketch系统在retouchOHP也有提供免费版本下载。

代表作:空色の风琴(LOTUS),エーテルの砂时计(Dreamsoft),白银のソレイユ(SkyFish),Clear(MOONSTONE)。

这个系统的数据完全没有作packing,所以档案数量惊人是特征之一。

1. 扩展名是.gyu(图像)+.v(声音)。

※SkyFish社《ふぁみすぴ》档案组成:

※MOONSTONE社《Clear》档案组成:

2.存盘在userdata子目录下,档案是system.dat+无扩展名的savedata。

3.使用的loader主程序ExHIBIT.exe档案信息可以看的到“Copyright(C)2006-2007 薫”版权告和版本号:

所有档案没有压缩,所以也没有拆解的问题。图像格式.gyu用”ZZ*z Factor”的“ifgyu”对应,音声格式.v转换方法暂且不明……剧本档.rld用“notaエロゲ研究室”里面的“はるかぜどりに、とまりぎを”的拆解程序“harutoma_con.exe”可以解决。

※MOONSTONE社《Clear》的破解情况,用Acdsee挂ifgyu浏览是最轻松的方法:

编辑者注:第六,第三条惨遭吞楼

投诉或建议