javagame吧 关注:48,596贴子:215,512
  • 10回复贴,共1

Java J2ME Runner 的存档修改

取消只看楼主收藏回复

上次有位吧友问存档的位置,说到改存档什么的,然后我灵光一闪,就研究了一下改存档,现在把教程发上来,给大家参考一下。


IP属地:广西来自Android客户端1楼2015-07-16 16:33回复
    小菊花修改课堂开课啦!游戏太难怎么办?改存档!
    条件:ROOT
    工具:RE管理器或者类似的管理器,十六进制编辑器
    http://pan.baidu.com/s/1dDnm4r3


    IP属地:广西来自Android客户端2楼2015-07-16 16:42
    回复
      2025-07-30 23:44:44
      广告
      不感兴趣
      开通SVIP免广告
      第一步,把存档复制出来
      存档的位置,在 data/data/com.netmite.andme/app_rms.xxxxx 目录下,xxxxx这里不同的游戏有不同的名称。里面的rms文件,就是游戏存档了。



      IP属地:广西来自Android客户端3楼2015-07-16 16:51
      收起回复
        怎么知道你安装的转apk游戏是哪个 app_rms.xxxxx 文件夹,这个后面会说到。这里以“地下城与鬼剑士觉醒”游戏为例,进入游戏中,在可以保存的地方进行存档,并把数据记录下来,比如攻击、防御、金钱等。
        看下图,这里属性点是3。


        IP属地:广西来自Android客户端4楼2015-07-16 16:58
        回复
          可能刚开始游戏,所以存档记录的比较少,只有451b。复制出来后,用十六进制编辑器打开。


          IP属地:广西来自Android客户端5楼2015-07-16 17:04
          回复
            第二步,修改。
            用十六进制编辑器打开存档后,界面如下图所示。
            左边白色的是地址,中间青色的是字节,右边白色的是像 @...% 之类的字符。
            十六进制也就是十六进一,用 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 表示。


            IP属地:广西来自Android客户端7楼2015-07-16 17:25
            回复
              点击上方的放大镜搜索,输入人物属性的十六进制值,这里我们记录下了人物属性点是3,转换成16进制后还是3。
              这个十六进制编辑器有输入10进制的功能,所以可以调成输入10进制,直接输入人物属性的数值。
              进行十六进制的转换,也可以用此方法;在十进制状态下输入数值,再调成十六进制状态,就可以看到数值的十六进制了。
              输入后点确定。



              IP属地:广西来自Android客户端8楼2015-07-16 17:36
              回复
                第一个搜到的 03 是在地址29的地方(第29个字节,如图左边白色28那里,下一个字节就是29了)。
                03可能有很多个,我们可以靠直觉排查一下,在存档游戏的时候,等级1,属性点3,生命和法力都是100,攻击命中致命5,闪避2,其他都是0。
                前面说了,可能刚开始游戏,所以数据不是很多,文件只有四百多个字节(b),往下翻一番很容易就到底了(其实用不着搜索了),虽然有很多个03,但这个属性点在那种大数值附近的几率还是比较少的,所以修改的优先级排在后面。
                这第一个03附近都是0,我们可以尝试改一下。


                IP属地:广西来自Android客户端9楼2015-07-16 17:56
                收起回复
                  2025-07-30 23:38:44
                  广告
                  不感兴趣
                  开通SVIP免广告
                  把地址在29的 03 改成了10,为了方便,在十进制状态下输入10,点右上方的按钮保存,可以看到原来的03变成了0a(也就是十进制的10)。
                  替换原来的存档,进入游戏看一下是否有改变。
                  打开游戏,读档,进入人物属性界面,属性点变成了10!哦耶,运气还算不错,第一次就成功了
                  因为这个游戏加点就可以提升属性了,所以不用再去修改其他的东西了,如果你有兴趣,也可以研究研究的。



                  IP属地:广西来自Android客户端10楼2015-07-16 18:12
                  回复
                    十六进制的一个字节最高是FF,也就是255,那要改成256怎么办呢?
                    如果大于256,那就用两个字节表示,比如256的十六进制就是01 00,注意是在前面加,加在后面就修改到其他地方了。
                    如下图,原先改的是地址在29的字节,现在把第29前面的第28位字节改成01,第29位也改成01。
                    进入游戏读档后,发现人物属性点变成了257。
                    在这里说一下,一般一个属性的数值为两个字节,不过这也不一定,可以自己判断。
                    比如在这个游戏里,属性点一般玩家升级后会把属性加了,不会积累太多,所以上限应该不会太大,用两个字节表示足够了(猜想最多999吧)。像经验这种大数值可能有3到4个或以上的字节,生命什么的,看情况而定。
                    还有一点,直接修改等级可能没用的,之前我在另一个游戏尝试过,改了并没有什么卵用,打怪也看不到经验增加了。。。



                    IP属地:广西来自Android客户端11楼2015-07-16 18:43
                    回复
                      修改这部分差不多了,那下面说说找存档的问题。
                      很简单,如RE管理器看源代码的类型的如图1,看圈出来的那里,如果是像MT那样的,如图二,倒数第三个。
                      像这个游戏是Main,所以文件夹就是 app_rms_Mian,里面的以 .rms 为后缀的文件就是存档。路径见2楼。



                      IP属地:广西来自Android客户端13楼2015-07-16 18:59
                      收起回复