游戏内存修改原理

本人在用 游戏 修改工具进行游戏修改的时候,往往遇到一些常见的问题,现在把我遇到的情况向各位反映一下,并给出我的一些解决办法:  
   
  一般修改器的修改原理:  
  使用   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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值