UltraDebug

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: A C D R G Y M Z X S P
公益项目,接受捐赠
查看: 771|回复: 0
收起左侧

[.Net逆向] 一次Unity引擎gal游戏TextMesh Pro字库汉化记录

[复制链接]
ultradebug

主题

0

回帖

UD

管理员

UID
1
积分
2344
注册时间
2021-12-20
最后登录
1970-1-1
2022-3-10 21:54:49 | 显示全部楼层 |阅读模式
一、原由
    受别人邀请接手了一个Gal的汉化,发现是Unity引擎的,并不是原版厂商常用的引擎。因为之前也没有接触过Unity,好一番折腾,总算是成了,记录一下曲折过程,顺便分享一下经验。
个人水平有限,写得不好还请多多谅解。

二、初步分析
    从群友那里拿到游戏文件,双击直接可运行,不用破解,lucky~
   进步一观察游戏资源,发现为Unity引擎:
一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

进入Managed目录,发现是原版Mono打包的,没有用IL2CPP加密,lucky~,对我这种新手来说太好了。


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

网上搜索了一下,Unity引擎的脚步存放在Assembly-CSharp.dll中,没加密就是C#的,ILSpy安排上。
完美反编译,美滋滋~,代码保存成C#工程,计划通~

一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

进一步分析游戏的资源的构成,发现StreamingAssets目录下有我们感兴趣的脚本封包


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

在保存的C#反编译项目中搜索 "script  找到如下代码:


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

在这个类里继续往下翻,发现获取脚本的函数:


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

顺腾摸瓜,看看哪里调用了这个函数,发现是AssetManager.cs中的GetScriptData函数调用了它,继续回溯:


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

方框里就是脚本的读取了,包括string列表,这样脚本就解密完了,感觉很顺利呢,一天可以搞掂的样子~


三、曲折
写解包工具,提取了日文版的文本(这个版本是英文版的),测试顶一下,修改源代码,编译,一气呵成~

一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

发现有很多框框,马上意识到是字库有问题,找找文字输出的函数吧,找了一会找到一个DisplayText函数,看起来像是 (人名,对话)


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

转到函数,发现NameArea和TextArea


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

转到定义,来到了class CStringEntity : MonoBehaviour,发现TextMeshPro TextObject,


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

进一步分析发现此时代码已经转到Assembly-CSharp-firstpass.dll中了,我意识到这可能是系统组件,网上搜索一番


一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

果然,下面就是汉化字库就完成了,看起来还挺简单的,网上搜搜,看看有解决方案没有,还真找到了:
https://www.bilibili.com/video/BV1D5411V7MK
嗯,对着操作一番,首先下载unity,看起来要对应的版本才行,OK,主程序上属性一下,发现是Unity5.5版本的:
一般正规的软件厂商都会带版本信息,还是比较可靠的,下载,安装,一气呵成~,我,今天,就!要!搞!掂!它!

一次Unity引擎gal游戏TextMesh Pro字库汉化记录 - ultradebug_UltraDebug

好的,安装TextMeshPro 插件,嗯,按网上说的进AssetStore搜索,嗯?怎么会没有?网友留了地址,点进去,嗯???怎么是404???
what fuck??
上管网搜索,好嘛,该软件已下架,我陷入了深深的思考。
没关系,面向百度编程嘛,找到一个 Text Mesh Pro U
还有更多的精彩内容,作者设置为付费后可见
UltraDebug免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
✅The above content is forwarded or original by netizens. If there is infringement, please send the email to the destination 9003554@qq.com handle.
回复 打印

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|站点地图|UltraDebug ( 滇ICP备2022002049号-2 滇公网安备 53032102000034号)

GMT+8, 2025-6-21 00:32 , Processed in 0.032930 second(s), 11 queries , Redis On.

Powered by Discuz X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表