英雄联盟台服语音修改分析(欺骗世界)

2019年04月10日 134361点热度 12人点赞 176条评论

今天有个用户联系我说台服是否可以修改国服语音,按理说台服的目录格式和国服相同. garena也就是和国服的wegame类似的东西.

分析过程

首先按照正常的使用,启动器加载并且将国服的语音文件复制到游戏目录中
国服语音文件呢就是游戏目录中带有zh_CN字样的文件
语音文件还有包括一些文字翻译
复制过去,修改地区语言。
启动之后发现木有任何效果。

也尝试了各种姿势,什么前入后入
未果!
但是有了新发现,Garena进入游戏界面旁边可以选择语言,
也仅仅只有繁体中文

考虑到Garena这个客户端用到的是cef框架
推测这个选项应该是动态的
抓了一下包
果不其然,在一个 /api/app_detail_info 地址的请求中

虽然找到了这个安装语言的选项,
但想要让每个用户都去学会拦截请求,或者伪造请求
不现实
那么继续分析,直接启动游戏

游戏并不是直接从Garena的启动器进程启动的,
而是在一个名为gxxsvc.exe的进程下
这个进程还是作为系统服务开机启动的= =


紧接着看了一下,联盟进程的启动参数


区域参数标注着zh_TW,紧接着将参数复制出来并关闭游戏

部分参数做了模糊处理
复制出来之后将 --locale=zh_TW 更改为 --locale=zh_CN
然后复制所有,开始图标右键 “运行” —— “粘贴” —— “回车”

虽然没进去,当然就没觉得能进去
但是注意,这个错误提示已经变为简体了
就说明方向是正确的那么
那么如何修改这个参数呢

修改原理

首先想到的就是做一个跳转
正常流程
Garena启动游戏——执行LeagueClient.exe——启动成功
加了跳转之后
Garena启动游戏——执行跳转程序——执行LeagueClient.exe——启动成功

2020年6月15日: 启动顺序变更, 原理不变.

那么作为这个跳转程序 首先想到的就是bat操作这个启动参数
比较方便

@echo off
SET ARGS=%*
C:\Garena\Games\32775\LeagueClient\LeagueClient.exe %ARGS:zh_TW=zh_CN%

更新之后:

@echo off
SET ARGS=%*
"C:\Garena\Games\32775\Riot Client\RiotClientServices.exe" %ARGS:zh_TW=zh_CN%

解释一下,第二行 意思 将启动参数赋值给变量 ARGS
第三行启动LeagueClient.exe(RiotClientServices.exe)游戏进程 后面加上启动参数并替换对应文本(将zh_TW的默认区域值修改为zh_CN, 可以修改你想修改的任意区域代码. 只要保证游戏内有这些文件即可, 否则游戏将会在载入时因为缺少文件而崩溃.)
这个进程位置修改成你游戏的位置

这个bat的话,Garena肯定实不认的,将bat文件打包成exe文件.

这个程序成品放到文章最底部.

紧接着尝试下如何跳转,
LeagueClient.exe这个进程是无法改名的,重命名之后无法启动
我们要做的就是,欺骗Garena启动器
让他将我们这个中转程序当作真的游戏来启动

我能想到的方法,那就是在复制一份游戏(Garena可能只会检测某几个文件,但是这里为了省时直接复制全部)

左面是原来游戏,右面是新的游戏,新复制的文件名字无所谓
最后一步,将我们生成的exe,改名扔到新游戏的LeagueClient目录下覆盖

这样我们就完成了,用假游戏欺骗Garena的任务,
然后将Garena客户端,的游戏位置修改成复制假的游戏客户端

选择之后,并没有什么异样,Garena也没有强制更新
直接启动游戏

成功!!!

语音,文字均正常
但是还有一些小瑕疵,比如首页以及幸运商店均无法显示
经过一番调整

首页也是正常的了,但是这个幸运商店
台服叫个人商店?,这个就不知道了。

验证

在看下我们的做的这个跳转进程

跳转进程启动得时候,是zh_TW

他传给游戏进程的时候就已经修改为zh_CN了。

此方法可以将台服修改为任意国家语音,
当然这个思路适用于各个服游戏

注意:更新得时候请将游戏切换回真游戏,更之后
理论只将 目录下 .gpipe 文件夹和 lol.version文件复制过去就行
但是没测试,如果不行那就都复制呗= =

这种方法最好别再国服测试,小心TP办了你

总结

利用假客户端骗过Garena, 通过跳转程序执行真客户端. 并修改启动参数.

更新(2020年6月15日)

有网友反馈已经失效, 但是今天测了一下还是可以用的. 但有可能是因为Riot在之前更改了启动顺序, 新增了一个 RiotClientServices.exe 程序.

正常流程
Garena启动游戏——RiotClientServices.exe——执行LeagueClient.exe——启动成功
加了跳转之后
Garena启动游戏——执行跳转程序——RiotClientServices.exe——执行LeagueClient.exe——启动成功

整体变化不大, 原来替换的是LeagueClient.exe, 那么现在直接替换RiotClientServices.exe就好了. 其他变化都不大, 配置文件也耕者改一下就好. 转换器的使用方法已经更新.

更新(2020年7月1日)

英雄联盟语音&文字修改教程

成品

文中制作的转换器: https://virace.lanzoui.com/iDJtUdohj5i 密码:virace
使用说明在压缩包里, 该程序只是按照原理编写
并未实际测试, 效果应与文中制作的BAT文件相同

转载请注明出处,如果有更好的方法也可以在下方留言讨论

文章评论

  • finial2006
    2020年04月14日

    我想知道其他服务器的替换怎么看,你这个只有tw的替换。我怎么着越南服的启动参数啊,不然我替换不了

    • finial2006
      2020年04月14日

      @finial2006 已经用Task Manager搞定了,感谢

    • finial2006
      2020年04月14日

      @finial2006 可以吧fake再加个原始语言参数,这样就适配所有服务器了

    • Virace
      2020年04月14日

      @finial2006 cs_cz, de_de, el_gr, en_au, en_gb, en_ph, en_sg, en_us, es_ar, es_es, es_mx, fr_fr, hu_hu, it_it, ja_jp, ko_kr, pl_pl, pt_br, ro_ro, ru_ru, th_th, tr_tr, vn_vn, zh_cn, zh_my, zh_tw

  • 饶罗翔
    2020年04月08日

    大佬 我请教一个问题 我修改过 “zh_CN-assets.wad” 这个国服的资源文件(改了一下英雄名字啥的),替换掉国服的这个文件,在国服可以正常显示成我改的那个名字。我在台服调用 CN 资源文件 也成功了 客户端 游戏内啥的全变成国服了。但是我把我自己改的 zh_CN-assets.wad 替换掉国服的 在用台服调用它 却不能显示! 全部显示的是英文 ,在国服可以,在台服不行。排除文件本身问题 ,我推测是不是Garena在启动游戏的时候会检测这个文件,修改过的肯定过不了检测,所以就没调用这个文件,就会变成英文原版的那个状态。但是在国服却可以正常使用修改过的..初步推断!是不是台服会检测!但国服不检测呢?

    • Virace
      2020年04月08日

      @饶罗翔 这个东西很好验证, 你只修改台服文件zh_TW 或者默认的 asset 如果生效就说明没有检测. 就算有检测也不会是Garena的, 他显示英文说明你修改的这个文件在LeagueClient调用的时候出现错误, 所以直接使用默认的执行. 游戏内有Logs文件夹 你可以去看看说不定有惊喜

      • 饶罗翔
        2020年04月08日

        @Virace 谢谢大佬给思路!我研究了两天一直找不到原因.人都要疯了

      • 饶罗翔
        2020年04月09日

        @Virace 我他妈吐血 果然有检测,我用原版的台服启动游戏 修改了 zh_TW-assets.wad 他果然加载的是英文原版 看样子是真的会检测这个文件是否被修改过..游戏文件夹内的Logs我又看不懂原因.. 你上面说不是Garena的检测,那就是游戏本身的检测了。国服不检测。台服检测。也许我有办法绕过这个检测也不一定。我得想想办法! 把理论来讲。国服台服格式是一样的呀 怎么会这样呢!真让人摸不着头脑!哎

      • Virace
        2020年04月09日

        @饶罗翔 理论上不会有这种"徒增成本"的举动, 更何况这个文件是游戏大厅的文件. 建议使用原版修改器试试https://github.com/Crauzer/Obsidian .

      • 饶罗翔
        2020年04月10日

        @Virace 嗯 好 我去试试这个 谢谢大佬

      • 饶罗翔
        2020年04月17日

        @Virace 我试了 还是不行 目前找不到原因,大佬 能帮忙研究一下台服吗?有偿的,不知道你这边怎么收费!很简单 帮忙研究一下为啥台服修改 zh_TW-assets.wad 这些文件无效的问题 反正国服我怎么改都行 台服却不行

  • tt
    2020年04月08日

    大佬能不能帮我远程操控来完成,实在是看的一头雾水。

    • 饶罗翔
      2020年04月08日

      @tt 自己努力呗。这有啥难的

  • 天天
    2020年04月03日

    大佬可以做一个 菲律宾服汉化的exe吗?我用你发的这个弄进去 完全没用。。

    • Virace
      2020年04月03日

      @天天 菲律宾服没了解过, 也是像台服一样有Garena么?

      • 21323
        2020年04月05日

        @Virace 也是用Garena登录游戏的

    • Virace
      2020年04月05日

      @天天 那就直接按照文中方法使用就好了.

      • Trhe
        2020年04月06日

        @Virace 假客户端不用替换国服文件来汉化吗?

      • Virace
        2020年04月06日

        @Trhe 假客户端除了做跳板没有用处, 修改都在真客户端

  • yy
    2020年03月27日

    成功了,感谢大佬的攻略

1 5 6 7 8 9 15