ios端krkr模拟器弹窗卡死问题解决办法

您所在的位置:网站首页 xp3模拟器玩什么游戏 ios端krkr模拟器弹窗卡死问题解决办法

ios端krkr模拟器弹窗卡死问题解决办法

2024-07-11 01:43| 来源: 网络整理| 查看: 265

大家在用苹果手机玩krkr游戏时,是不是有时会遇到这样的问题:一打开游戏,弹窗——某汉化组的免责声明/移植声明等等等等,然后怎么点都没用……焯!!

xx汉化组,说的就是你!

毕竟模拟器的作者也跑路了,要想根治这些弹窗,最好的办法就是改文件,删去弹窗。

今天以几款游戏为例,浅谈一下如何操作。

声明:本文旨在在不修改或最大限度保留汉化组、移植者成果的前提下,为了更好地适配ios端krkr模拟器,对补丁或移植版本进行适度修改,并非krkr移植手机端的教程,并非不尊重劳动成果,并非传播盗版、传播淫秽物品,并非针对某些汉化组及移植者,请知悉。

准备工作:电脑,GARbro,Sublime Text(详见我前面的文章),一个苹果手机(带krkr模拟器),脑子

一.必需的知识

1.启动游戏/开始游戏/data.xp3这三者本质上是一个东西,随便换什么名字都行

2.手机端移植时,一般用iso镜像文件/游戏未加密版本+汉化补丁,这就导致不用考虑加密类型,data.xp3,patch.xp3可以直接解包、修改(所以,要提取汉化补丁的话不如从krkr手机版入手哦)

3.tjs可以直接修改,而tjs2只能修改部分文字信息(string),目前暂无工具可以反编译tjs2,即修改tjs2代码

4.加载游戏时,不论pc端还是xp3player,都会先读取startup.tjs,这个文件又链接着initialize.tjs,最后由initialize.tjs分发其它命令。(绝大多数是这样,不排除其它情况)

5.有的弹窗是汉化组加的,有的弹窗是移植者加的,所以导致弹窗的文件可能在data.xp3,也可能在patch.xp3

6.mainwindow.tjs链接着override.tjs

二.修改思路

最直接的想法就是——解包xp3,找到相关文字,删除指令,封回。这个方法其实已经能解决80%的问题了。

但是,假如搜不到呢?很可能相关指令保存在了tjs2里。那么我们需要做的就是:

1.先确定相关文件究竟在哪个封包:控制变量法——拿走patch,看看有无弹窗

2.假如确定在data封包,那么就得再下载一个pc版的该游戏,解包其data.xp3,备用。如果在patch封包,那么很可能data并未被修改,就忽略此步骤。

3.先在模拟器上跑一下,看看出弹窗的时候游戏加载到了哪里:

如果卡在开头,那么保存这个弹窗的文件优先级肯定是很高的。刚才说了,模拟器都会先读取startup.tjs,这个又链接着initialize.tjs,最后由initialize.tjs分发其它命令。那么我们将注意力主要放在这两个文件身上;

如果加载了很多东西才弹窗,那么就一定与上述两个文件无关了。要确定究竟是哪个文件,有个简单粗暴的办法:比如patch封包里有200个tjs文件,那么先拿出100个,看看还有没有,以此类推,直至找到包含弹窗信息的文件,再拿原版文件替换即可。

当然,这并不意味着全部游戏都可以顺利解决。最重要的是带上自己的脑子,认真、耐心地分析,大胆尝试,在实践中总结经验。

三.实例

1.茂伸奇谈

把启动游戏/开始游戏/data.xp3传到电脑上,用garbro打开(没有加密),提取所有文件至桌面。

搜索tjs文件和ks文件,全部复制到另一个文件夹。

用sublime text全部打开,上边栏查找——在文件中查找,搜索弹窗内容。

找到对应文件名,关闭所有文件,再打开这一文件,去除相关指令(不只是汉字,相应的代码也要删去),保存。

像这个,我选中的全部删去即可

把改完的文件覆盖回原位置,最后打包文件,名字还是按原来的。(需要“保持目录结构”)

2.妹抱

看一下原始的data.xp3与修改过的启动游戏.xp3(其实就是data.xp3,名字无所谓)有啥区别。打开两者的startup.tjs,可以清楚地发现,原本指向initialize.tjs的指令变成了指向startup2.tjs

左:原版  右:修改版

而原版data下根本没有这玩意,修改版的startup2.tjs长这样:

现在就很清楚了:比如原来是A指向B,改完之后变成A先指向C再指向B,而C就是弹窗。

所以,修改起来很简单了,把原版的startup.tjs替换过来,再删除startup2.tjs,封回去即可。

3.ambitious mission

不是帝哥的焊化我不玩(还好手机版不是焊化)

攻击性拉满……

解包他的data.xp3,与原始文件的进行对比发现,startup.tjs没啥问题,但initialize.tjs差别巨大:

左:原始   右:修改

话说你跟acgmoe多大仇多大恨,做个补丁也忘不了法克一下……

而且在改过的initialize.tjs里,也看不到相应文本,只有一些乱码一样的东西。

那我们尝试一下,替换initialize.tjs,封包,再运行,发现弹窗确实没了,但黑屏

再观察改过的initialize.tjs,发现有很多dll文件名,所以我们尝试把plugin文件夹从原始文件中复制到游戏根目录,再次打开,游戏可以正常运行。经测试,存读档功能可以正常使用。

现在的根目录

当然,这种方法实属迫不得已之举,弊端较多,很可能影响帧率以及一些游戏功能。不过聊胜于无。

如果已经认真阅读了本教程,在尝试了以上办法后仍然无效或游戏黑屏、崩溃,请在评论区留言或私信(不一定会立刻回复)。

如果有其它更好的方法,欢迎留言。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3