传颂之物吧 关注:38,699贴子:956,253

暴风哭泣ing

只看楼主收藏回复

当初到底为什么要手贱把obb文件打开看一下
自从发现假面和白皇安卓上的游戏的资源文件列表和PS3版本几乎一模一样后,就开始想着能不能用替换的方式来实现文本汉化,噩梦就此开始


IP属地:湖北来自Android客户端1楼2019-10-22 14:09回复
    最开始,obb文件改后缀为zip,解压,替换部分文件,打包,再把后缀改回obb,启动游戏,闪退,第一次尝试失败


    IP属地:湖北来自Android客户端2楼2019-10-22 14:12
    回复
      替换失败后,初步想法是有验证机制,所以改了之后apk就不认了。疯狂百度,只找到了了两个以文件大小来验证的例子,OK,那试试呗


      IP属地:湖北来自Android客户端3楼2019-10-22 14:14
      回复
        发现解压再打包后的obb文件比原来的小,于是就额外弄了个TXT上去,试了几次之后确定了合适的TXT大小,再打包成obb的时候已经和原来的一样大了。再传到手机里,打开APP。。。。又失败了


        IP属地:湖北来自Android客户端4楼2019-10-22 14:16
        回复
          行吧,既然失败了,那应该不是通过大小来验证的,为了具体知道是什么方式,就只能把apk反编译然后看源码了。只用过vs的计算机渣渣开始研究如何反编译


          IP属地:湖北来自Android客户端5楼2019-10-22 14:18
          回复
            看了若干篇教程,下了好几个工具,总算是看到源码了。找找验证在哪-----wtf!?这不是啥验证都没有吗??还是我太菜了没找到??


            IP属地:湖北来自Android客户端6楼2019-10-22 14:21
            回复
              看源码是找不出问题了,毕竟啥验证都没有,那问题就只有出在挂载的时候了。为了看到挂载函数的返回值,下了个Android studio来准备调试


              IP属地:湖北来自Android客户端7楼2019-10-22 14:23
              回复
                研究了半天怎么在无源码的情况下只根据发布的apk来调试,最后发现问题出在获取obb文件信息上。emmmm难道是打包方式不对?好吧又去查了查obb生成方式,基本都是说可以用Android sdk下的jobb工具也可以直接用压缩软件打包,于是我试了试直接把原文件解压再打包,不替换其中的文件,打开APP,闪退,果然不行


                IP属地:湖北来自Android客户端8楼2019-10-22 14:29
                回复
                  现在就大概知道问题在哪了,obb如果直接用压缩软件打包的话相比于jobb工具是丢失了一部分信息的,所以会出现获取信息错误。于是用jobb来打包。。。打包失败


                  IP属地:湖北来自Android客户端9楼2019-10-22 14:31
                  回复
                    这个时候基本就已经抓狂了,打包失败,原因是溢出,溢出是什么鬼,官方文档写的不超过2G我这也没超过2G啊,行吧再百度


                    IP属地:湖北来自Android客户端10楼2019-10-22 14:33
                    回复
                      然后发现这里有个bug,官方文档写的限制2G,实际被限制到了512M,于是又上GitHub找了个解决了这个bug的jobb工具,成功打包,这次在不替换其中文件的情况下终于是能正常运行了


                      IP属地:湖北来自Android客户端11楼2019-10-22 14:35
                      回复
                        解决了打包问题,那就开始替换。PS3版的文件无论怎么替换都闪退,用安卓白皇的文件替换则可以进游戏主界面,但是进不去游戏,会无限返回主界面


                        IP属地:湖北来自Android客户端12楼2019-10-22 14:38
                        回复
                          于是问题大概是出在PS3版文件上了,查了查,PS3版文件是有加密的。。。


                          IP属地:湖北来自Android客户端13楼2019-10-22 14:38
                          回复
                            对比了一下,发现安卓上sdat文件是没有加密的。于是又去研究了半天sdat文件解密,解密是成功了,然而还是不行。这时候看到了之前汉化组的文档,提到PSV和PS3版sdat文件内的数据排列顺序不一样。大概因为一个大端一个小端?又去对比了一下几个版本的数据文件,发现安卓的排列顺序和PSv是一样的。。到这里我真的以为马上就要成功了,下下来PSV版的文件进行替换。。又又又又又失败了


                            IP属地:湖北来自Android客户端14楼2019-10-22 14:45
                            回复
                              凌晨三点才睡,九点就起来继续的我此刻心态已经快崩了,午餐就吃了个士力架,仿佛看到了自己未来悲惨的程序猿生活


                              IP属地:湖北来自Android客户端15楼2019-10-22 14:47
                              回复