javagame吧 关注:48,590贴子:215,642

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 08:08:26
      广告
      不感兴趣
      开通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
          回复
            赶上直播了,插楼


            来自Android客户端6楼2015-07-16 17:15
            收起回复
              第二步,修改。
              用十六进制编辑器打开存档后,界面如下图所示。
              左边白色的是地址,中间青色的是字节,右边白色的是像 @...% 之类的字符。
              十六进制也就是十六进一,用 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
                回复
                  2025-07-30 08:02:26
                  广告
                  不感兴趣
                  开通SVIP免广告
                  第一个搜到的 03 是在地址29的地方(第29个字节,如图左边白色28那里,下一个字节就是29了)。
                  03可能有很多个,我们可以靠直觉排查一下,在存档游戏的时候,等级1,属性点3,生命和法力都是100,攻击命中致命5,闪避2,其他都是0。
                  前面说了,可能刚开始游戏,所以数据不是很多,文件只有四百多个字节(b),往下翻一番很容易就到底了(其实用不着搜索了),虽然有很多个03,但这个属性点在那种大数值附近的几率还是比较少的,所以修改的优先级排在后面。
                  这第一个03附近都是0,我们可以尝试改一下。


                  IP属地:广西来自Android客户端9楼2015-07-16 17:56
                  收起回复
                    把地址在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
                      回复
                        厉害


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



                          IP属地:广西来自Android客户端13楼2015-07-16 18:59
                          收起回复
                            厉害不过这样修改数据太麻烦了.......


                            IP属地:广东14楼2015-07-17 12:29
                            收起回复
                              2025-07-30 07:56:26
                              广告
                              不感兴趣
                              开通SVIP免广告
                              八门神器


                              来自Android客户端15楼2015-07-17 12:54
                              收起回复