ios端krkr模拟器弹窗卡死问题解决办法 |
您所在的位置:网站首页 › xp3模拟器玩什么游戏 › ios端krkr模拟器弹窗卡死问题解决办法 |
大家在用苹果手机玩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 |