洞窟mod吧 关注:234贴子:3,558

【讨论和展示】用汇编来做不一样的洞窟物语mod

只看楼主收藏回复

估计这个也没人会看的。


IP属地:江苏1楼2016-02-09 17:42回复
    先上从国外下载来的英文教程:http://pan.baidu.com/s/1mgT4yus
    我们就按照这个教程为例来做一些洞窟物语的修改吧。


    IP属地:江苏2楼2016-02-09 17:45
    回复
      让我们来看看教程,(其实我也是英语渣)

      我们要看的是蓝色的那本


      IP属地:江苏4楼2016-02-09 17:55
      回复

        我们就直接实践一下吧,和hello world一样。


        IP属地:江苏5楼2016-02-09 18:02
        回复
          打开ollydbg.exe
          文件->打开->洞窟物语主程序(例 doukutsu.exe)


          IP属地:江苏6楼2016-02-09 18:08
          回复
            在ollydbg中,我们按 【Ctrl + G】 在"输入地址表达式"里输入【40485B】 (即武器:北极星的代码段)


            IP属地:江苏8楼2016-02-09 18:15
            收起回复
              然后我们在那个地址单击右键 编辑->使用NOP指令填充


              IP属地:江苏9楼2016-02-09 18:19
              回复
                再单击右键 编辑->复制所有修改到可执行文件
                如果弹出一个对话框,就确认。
                然后单击右键保存


                IP属地:江苏10楼2016-02-09 18:25
                回复
                  然后保存一个不要相同的名字。(无所谓了)
                  最后我们就打开游戏测试了!


                  IP属地:江苏11楼2016-02-09 18:27
                  回复
                    不会汇编的也不用担心,我们虽然不会具体修改,但我们会复制!
                    我们再做个修改Npc的例子吧!


                    IP属地:江苏13楼2016-02-09 18:39
                    回复
                      这时我们就要用到洞窟编者了,洞窟编者的使用就不再这里讲了。
                      我们打开洞窟编者载入洞窟物语后,
                      我们点击 数据->NPC程序信息(不可改动)


                      IP属地:江苏14楼2016-02-09 18:43
                      回复
                        然后我们会看到这样的代码,主要是看NPC地址的开始点
                        我们就以 6号NPC:甲虫水平飞行的为例


                        IP属地:江苏15楼2016-02-09 18:46
                        回复
                          每个NPC的地址段的长度都是有差异的,代码空间有限,我们就简便些
                          把蛋之回廊的那种跳跃小怪【5号NPC】的程序替换成甲虫的【6号NPC】
                          我们只需将5号NPC的程序段的首地址的汇编指令PUSH EBP不保持大小的修改成JMP 00427820就行了


                          IP属地:江苏17楼2016-02-09 19:25
                          回复
                            打开游戏到蛋之回廊后会发现小怪全部变成了甲虫


                            IP属地:江苏18楼2016-02-09 19:27
                            回复
                              目前就这些吧,要钻研就看看教程或汇编语言。我自己也就会搞这些简单的了


                              IP属地:江苏19楼2016-02-09 19:29
                              回复