今天咱聊聊这个叫《以女友做赌注》的安卓汉化实践。这事儿说起来,本来跟我一毛钱关系都没有。不过就是那天晚上,外面下着暴雨,我对着电脑不知道该干点正无聊,群里一个老哥突然扔过来一个压缩包,就丢下一句:安卓版这玩意儿,汉化了个寂寞,谁能把这破玩意儿给我搞干净了,算他牛逼。

实践的缘起:一句气话和一次摸黑下水

我当时一看这名字,心里就笑了,这不就是那个挺火的PC移植过来,然后汉化组搞了一半又烂尾的玩意儿吗?很多人都说PC版简单,安卓版底层变了,文本逻辑乱得一塌糊涂,根本不好扒。那老哥就是激将法,我这个人吃软不吃硬,一被这么说,那股子劲儿就上来了。

行,你不是说不行吗?我偏要试试看。

我二话没说,直接把文件拖下来,先是找到那个安卓的安装包,也就是那个.apk文件。第一步自然是先把它拆开,我用了一个常用的逆向工具,咔嚓一下,很快就把表皮扒下来了。进去一看,果然,里面的文件结构乱七八糟,跟平时那些用Unity框架包得整整齐齐的不一样。

我心想靠,这是哪个野生小作坊做的?

小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

扒皮:在屎山里找文本

我的目标很简单:找到游戏里所有的对话、提示和选项的文本文件。这游戏的文本一般就藏在那几个地方,要么是`assets`文件夹,要么是某个加密的资源包里。我硬着头皮一个文件夹一个文件夹翻,那叫一个费劲,文件命名跟鬼画符似的。

  • 第一轮搜索:找`lua`或者`txt`文件。结果只找到几个配置文件,根本没有大段的剧情文字。
  • 第二轮搜索:找像数据库一样的`db`或者`json`文件。找到一个名为`*`的玩意儿,没有后缀名,一看就不对劲。
  • 第三轮搜索:我开始翻那个`smali`代码。对,就是Android程序的核心逻辑。我得看它程序启动的时候,它到底去哪个路径加载文本了。

这一下就找到了关键!原来这游戏的文本根本就不是单独的文本文件,而是被硬塞进了一个加密的资源包,并且编码很奇葩,不是标准的UTF-8,估计是那个啥Shift-JIS,或者被它魔改了。之前汉化烂尾,我猜就是卡在这里了,替换进去全是乱码。

硬来:定位,替换,再塞回去

既然找到了老巢,接下来的事情就是暴力破解。我先找到一个能解开那个加密资源包的工具,反复试了几个开源的库,终于把那个`*`给解出来了。里面一坨一坨的文字,日语的,跟屎山一样堆在那里。我当时那个头大。

我的做法是:

我写了一个小脚本,把所有日语文本的长度、位置都记下来,然后让脚本去比对之前汉化组放出来的文本,一个萝卜一个坑地,把中文替换进去。

这个过程极其痛苦,因为日语和中文的字数不一样,替换的时候经常会出现文本溢出,导致游戏显示的时候错位甚至闪退。我得对着游戏里的截图,一个字一个字地调整中文字数,保证替换后的长度尽量接近原文。这简直就是体力活,干得我眼睛都快瞎了。

等我把几百K的文本全喂进去,重新打包成新的`*`,再塞回原来的目录,那一刻,我感觉就像是做了一个心脏移植手术。

最大的坑:回封与签名

文本搞定了,就该把所有文件重新压缩成一个新的APK了。这一步看似简单,实则坑死人不偿命。

新的APK包好之后,安卓系统可不是你随便搞个包就能装的,它需要签名。原游戏的签名肯定没了,我得用自己的签名工具给它重新签一遍。我用了最新的V2签名方式,以前的V1签名有些老手机死活装不上。签完名,我战战兢兢地把文件拷到我的测试机上,点击安装。

第一次,安装失败。

第二次,能装了,但启动秒退。

我又回去查了半天日志,原来是那个`*`配置文件里,有几个关于权限和路径的设置,在我解包重包的时候被破坏了。我把那几个关键的标签重新对齐,改得跟原版一模一样,再重新打包、签名。

第三次,终于!游戏启动了,屏幕上的文字,干干净净的简体中文!

收尾:一场没有掌声的分享

我赶紧把这个完整的、能玩的汉化版发到群里,给那个老哥。心想着这下可以装个大逼,好好炫耀一下了。

结果?

那老哥回复了一句:“谢了兄弟,不过我手机太老,安卓版本不够,装不上你这个新版的V2签名包……”

当时我就想骂人。花了我两天时间,又是逆向又是改代码,又是调整字数,告诉我手机太老?

不过既然东西做出来了,我还是把文件好好整理了一下,写了个简单的说明,分享给了其他有需要的群友。这帮人可比那个老哥靠谱多了,一堆人感谢我的暴力实践。至于那个当初立FLAG的老哥,后来就没声了,估计是自己去找个老版本去了。我这人就这样,吃饱了撑着,喜欢折腾,这篇记录权当是给那些想自己汉化安卓游戏的老手们,提个醒:遇到无后缀加密文件,别害怕,硬着头皮干就完了。

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。