[原创]本人在用游戏修改工具进行游戏修改的时候,往往遇到一些常见的问题,现在把我遇到的情况向各位反映一下,并给出我的一些解决办法:一般修改器的修改原理:
使用 OpenProcess 等类似的 api 以适当的权限打开游戏进程,找出数据
段范围,然后使用 ReadProcessMemory 和 WriteProcessMemory 对该进程的地址范围进行扫描和修改,并以类似定时器的的方法实现内存
内容的锁定。
1。浮点数的修改
现象:在对浮点数的修改时常会发现无法锁定,或者锁定之后其数值反复来回
     跳跃等于没有修改的现象。经常发生在即时战略的游戏上面,比如
    《横扫千军》,《红色警报》等。
原因推断:可能是修改器对浮点数的修改支持不好。
尝试解决:更换修改工具。
2。数值长度判断不正确
现象:有些数值往往找到并且锁定了,但是修改后好像根本没有反映。
原因推断:对数值长度判断失误,有的模拟器 rom,比如 nes(fc)自身
          机能的原因往往一些数值只有8位长度,可是我们在修改时将
  其当作16或者32位数来修改,结果就是无法真正修改成功。
  比如 一些 fc rom 的修改。
尝试解决:正确选择数值长度并在拿不准时反复尝试。
3。没有具体数值的表示
现象:像 街头霸王 之类的格斗游戏,人物的体力是以血槽来表示而不是
      以具体数字来表示,这就造成好像无从下手的感觉。
尝试解决:某些修改器具有模糊修改的功能,可以先全局扫描然后动态
          的依据某一条件来缩小范围,最终找到真正的数值。比如修
  改器 GameExpert(GE) 
4。一些模拟器环境中的值无法修改
现象:在一些 fc,md,gba 等的一些模拟器环境中的数值往往找不到(甚
      至使用模糊搜索法),或是找到之后修改没有反映。比如 gba
      口袋妖怪 绿宝石 中文dump版。
原因推断:可能是模拟器使用了特殊的实现方法,造成对主存和虚存的特殊
          使用造成的。
尝试解决:a.使用程序自带的金手指修改
          b.使用模拟器自带的反汇编器或修改器修改
  c.使用专用修改器修改
  d.更换其他模拟器进行模拟
  5。有一些数值普通方法根本无法修改
现象及原因推断:像一些游戏自身进行了特殊处理,拒绝普通的来自外部
                的强行修改,比如 魔兽争霸3 ,除非通过动态调试搞清
楚保护机制,否则修改是无效的。
尝试解决:a.使用游戏中自带的作弊码以达到间接修改的目的
          b.使用专用修改器进行修改
  

6。网络游戏的修改
现象及原因推断:对于一些网络游戏,他的游戏数值是存放在网络的服务器
上的,在本地修改根本行不通,这是由网络游戏的性质造
成的。
尝试解决:a.使用外挂修改
          b.入侵服务器修改
  c.用网络嗅包工具分析数据包内容,然后非法发送进行修改。
以上是本人在修改时遇到的一些问题和尝试解决方法,希望各位能讲讲
自己在修改过程中遇到的其他问题或更好的处理方法以便共同学习,多谢了。

解决方案 »

  1.   

    我打游戏的乐趣也是有很大部分来自修改的。
    5。有一些数值普通方法根本无法修改
    现象及原因推断:像一些游戏自身进行了特殊处理,拒绝普通的来自外部
                    的强行修改,比如 魔兽争霸3 ,除非通过动态调试搞清
    楚保护机制,否则修改是无效的。
    尝试解决:a.使用游戏中自带的作弊码以达到间接修改的目的
              b.使用专用修改器进行修改
    ==============================
    不知道楼主说的是自己写修改程序还是使用现成的工具????自己写没试过,但用现成工具应该可以改魔兽争霸3的。锁定人物生命是比较难,我也只成功过五六次,但要修改、锁定人物技能点数是不难的,关键是要做好修改的计划至于金钱、木材之类更加容易。
    推荐使用台湾同胞何静韬写的gamemaster,当时我用的版本是8.0,现在不知有没有新的,但我估计,现在最强捍的游戏修改工具,应该还是它吧。。
      

  2.   

    喜欢不作弊玩游戏,所以没试过做程序来修改,最多用DEBUG改一点存盘文件。
      

  3.   

    coka (库卡) 老师您好!我想问一下内存搜索是否能找到台球游戏里的球的位置;他是以Twip(缇)为单位的。采用屏幕取色法只能精确到Pixel(象素);误差太大。