(转)FPE修改全教程1

转载 2012年03月26日 06:38:09
(转)FPE修改全教程1

       [原创]FPE修改全教程
      很早的时候,当出现了视窗系统以后,图形界面就深得人们的喜爱,从古老的DOS界面的幼稚的波斯王子开始,便逐渐的出现了更高意义上的游戏,更优良的界面吸引了更多的人来进行游戏的娱乐,于是,GAME的意义便逐渐的深远和丰富多彩起来,便逐渐出现了游戏内容的分化,形成了一些源于早期形式上AVG,SLG,RPG,等趋势,这是早期的比较笼统的分化,期间,很多RPG的游戏就有很多繁琐枯燥乏味的升级及练习的系统,当时便有了一个思想,如何摆脱这些令人反感的东西?修改游戏的源程序吗?不是,便出现了一种类似于附加的程序,可以对人物的资料进行一定的修改,物品等等,便是早期修改的雏形,至后来,经过越来越多的人的发展,思想,逐步逐步的形成了一个比较完善的体系和共同的认识,后便有了风靡人心的FPE.

        
      一个人物,有很多数据与之相关或者说与之有联系,那么,如何在众多的数据中寻找到人物所需要的部分呢?很容易想到的就是,当我们在游戏进行的过程中,我们的人物一旦发生数据上的变化,那么数据就会在寄存器中发生变动,当我们在前一次的周期中将全部的数据数值都记录下来,在将这个周期的数据全部记录,然后相比较,就能够寻找到一个发生变化的部分,这个部分可能有很[来源:GameRes.com]多很多,简单的来说,可能是一个药,吃下去了,那么数值变了,量减少了,血槽的颜色变了,人物的属性恢复了,等等很多很多很多,所以,变动的地址就有很多很多,那么我们的目标数值呢?很简单,当一个数值按照我们的要求来变化,我们买,卖.买.卖.买.卖.那么,钱就是少,多,少,多,少,多,这样一来,符合我们的这个连续的正确的变化的形式的地址就只有几个,正确的或者表观的,或者镜象的,所谓表观,就是钱的那个样子要变化吧~~~```哈哈`````能明白吗?就是说,一个人脸胖,瘦变了,但是总有个脸在那里吧?然后就是所谓的肉的多少的地址,然后````````````?然后`````看看地址是什么类型,进制的选择,然后,删除掉现在的数值,写上一个我们需要的数值,刷新,就产生了一个结果,我们称为:表现:这就是修改的核心的原理

        
      好了,我们拿到了一个修改器,FPE,金山游侠,东方不败,大刀,傻瓜修改器,王者修改,随便什么都可以.然后执行那个图标,就是.EXE的文件,然后进入目标游戏,然后,选定一个我们所需要的修改的一个数值,比如比如~~~~~~~~~~~~~~~~~~~```最最基本的,钱.然后呢,我们记住现在你所有的数量,然后切换出去到修改器,按组合键,如果不行,就按快捷键*,常见的,如果还不行,看看是不是冲突,换掉快捷键位,或者组合键,退出键位试试,还不行,自己可以对游戏的目录文件做点相关修改,我不赘叙,然后在那个新建任务那里选上,然后填上你记住的那个数值,就是你记住的,然后我们切换回游戏,然后随便买个东西,让游戏金钱发生变化,然后我们再次切换出来,在数据那里填上新的数量,就会在上次的寻找的结果里寻找你现在的数量符合的地址,OK,有几个剩下了?如果很多FF也就是256以上,不能显示,那么重复以上过程,如果能够在你的修改器那个:框:(原谅我用这么不专业的说法~~~~``)出现的话,那么可以开始了,如果你的水平不行,看不,那么再尽量多找几次吧,控制在2----5个地址内.然后我们开始,如果你什么都不会,就直接选锁定,然后填上一个10机制的数量,就可以了.?什么?你不知道进制是什么???~?~?那我没有办法了.如果你懂任何一点点,那么跟着我,选择编辑,这是你踏上真正意义上的修改的路途

         我们模拟一次
         02FE32A...
         02FE30b...
         -----等几个我们假设有5个  
         打开一个
         你可能看到这个
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         说明什么呢?  不正确
         第二个
         0F 0E A3 B4 F5 EE FF ED D2 A3 D2 E1 A2 B4 F9 F1
         .....................
         你看不出任何规律的
         说明什么呢? 也不大正确
         第三个
         32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         如果你有50元钱的话,说明什么呢?50的16进制是多少?50=32
         对的
         第四个
         32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 ................
         一样的?不是镜象变是表观,也是对的
         第五个```````` 一样?
         呵呵`````不错,我们找到了钱的地址了
         开始修改
         我要多少? 999? 9999?  
         填上E7 03 或者 0F 27  自己去写吧!如果你不是电脑文盲,如果还不会,找个换算器,自己换换就可以了,写上去刷新,回去看看吧.
         编辑就是这样简单.
          
         武器,攻击,药水.........速度.一切有数字的东西,都这样做吧.
          
         好了,基础完了,我们这部分很熟悉了,继续
         我在这里写上一个人的资料
         等级  01
         经验  100
         HP    100
         MP    100
         药水  99
         .........                            
         那么正确的地址是什么呢`?
         01 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00
         63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00       不要和我说看不懂
         第二个例子
         武器  初级  刀  
                     机关枪  子弹  10 / 100
                     火箭炮  子弹  04 / 100
                     药      小药  3 个
                             中药  5 个
                             大药  8 个
         我们来写这部分
         01 01 00 00 04 01 0A 64 0F 03 00 00 10 05 00 00
         11 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00
         这个难看点,是什么意思?
         01一定是最初级的武器的代码 后面的01一定是表示数量 一把
      ,你改02就是两把刀,03就是3把...04是机关枪的代码,为什么不是02?游戏里有没有什么小枪?步枪?如果有就是说明机关枪是厉害一点的枪,前面肯定还有一点小枪
      01 是一把,02是两把,OA 数量是10的子弹.64是子弹上限,以此类推....自己对着看看``````
          
         中级别的会了吗~?~?熟练吧```多找游戏试试````别告诉我你看不懂
          
         高级别的找什么??? 我拿精灵开刀
         随便两个武器,弹出FPE,寻找地址,就是如下的部分
          
         00 00 武器代码部分  最小攻击  最低攻击  
         射程  速度  命中  必杀率   00 0 00 0 0
         00 00 00 0 0  -------------------  --
         00 0 00 0 00 0 武器基本要求   000 00 00
         000000000000000000000000000000000000000
         00000000000000000000000000000000000000
         0000000000000000000000000000000000000000
         00000000     特效    攻击加成
                      ------------------------ 有几个特效就有个附加
                                               前面你都看懂了,这里你就找的到
                                               往下翻翻页面就是
         你要改什么?
         去掉要求?      要求部分全部改00 00 00 00 00 00
         攻击?           FE 00 FF 00   ==     254 255
         速度?          OA=10  1E=30 32=50
                        我改到50都没有问题
         必杀?        64 == 100%       你要改的变态我也不拦你
         射程?        随你吧,还要我说吗~?  
         1级的屠龙枪怎么来的? 就这么来的
         会了吗~?自己去改吧.不要再问我要了,靠自己吧.
         以后你还想做什么`~~?我提示吧,现在的修改器有低阶搜索的功能.什么意思,游戏里的东西不知道数值的部分,我们用搜索,输入? 然后增加+ 减少-
      这就是基本的格式,地址就是这样找到的,找到了地址,加个锁定的代码,做个启动文件,最后``````````自己去做外挂吧.装备吗?有数值,自己想吧!
         世界上通向罗马的路很多.你总得找一条属于你自己吧?
          
         不要怪火焰心情了.不要说麦兜了.不要骂真情了.
         没有真情,至少有很多东西,我们得不到.
          
         飞刀可以杀人,不错,这是你的秘密,当你把你的刀当成一个展览品,天下人尽知的时候,你就走向了绝路.




本主题包含附件:
sf_200410675837.jpg (21732bytes)
文件由用户上传,GameRes.com无法确定其安全性,请慎重使用!

hcl163 2004-10-6 8:01:19

 注册: 2004-3    状态: 离线 楼主   TOP

-
hcl163
Exp:154

侦察兵
 发表于: 2004-10-6 8:02:00

(转)FPE修改全教程2

      
      FPE修改教程进阶(地址编辑部分)  1
      在上一次的文章里,我粗略的阐述了FPE的起源及其基本的修改知识和举例,期望大家能够通过我的文章对FPE的使用及其修改技巧有一个比较初步的认识,今受火焰之托,希望能继续深入的详细解说一下地址编辑的全过程和方法技巧,我在此便写一篇续文,大家在读这篇文章的时候,需要大家有基本的修改经历和进制的换算概念,及初步的地址解读能力,如在此要求上存在不同程度的欠缺,我建议参考我所著的前文,详细参阅一下,有助你对本文的详细理解,本文面对的对象是初次涉及地址编辑修改的朋友们,如果读这篇文章的你是高手,请你尽你的能力帮助还不会使用的朋友们,如果是希望从零点学习如何修改及地址编辑的的朋友们,那么就请你们把这里做为你们的走向修改高手的最初的起点.

          
       需要具备的几个初步知识
       1.十六进制
        
      十六进制是进制中的一种,是我们在进行编辑的时候将要碰到的最多的问题,你接触修改,就不可避免的会遇到进制上的换算,简单的说来,十六进制就是满十六就进一位,同十进制的满十进一是一样的道理,我在这里要求大家记住最基本的前十六位的代码换算,和几个最常用的数值具体十六进制的代码,而不是去临时的找个什么进制换算器来进行换算,这点非常重要,有很多时候,一个地址的编辑,在某个标志码数值上不是很大,但是要求你有很高的数据敏感性,这点很重要,我在这里将要求记住的一些代码写出来

        01=01 02=02 03=03 04=04 05=05 06=06 07=07 08=08
        09=09 10=0A 11=0B 12=0C 13=0D 14=0E 15=OF 16=10
        特征数值
        0F=15  FF=255  FF FF =65535     32=50     64=100
        63=99  03 E7=999  27 0F=9999        01 86 9F=99999
       2.真/假址的基本识别问题
        我在这里举一个例子
        一个正常的全空地址
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        
        正常数据全满地址
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        假设我们寻求的目标是一个金钱的数量
        假设初始数量是1000的话,我们就开始以1000作为寻找目标
        1000>990>980>970> OK,我们找到了两个地址
          
        024F6A5C7BE..
        024F7BCDD3A..
        地址一我们打开以后看到
        CA 03 00 00 CA 03 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        地址二我们打开以后看到
        DE CA D3 B6 A7 D8 E9 FF D1 A3 A3 A3 DE FA FE D2
        D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
        F6 5A 8D 8D 6E 7D 6E 7E 8A 9D 21 41 3A 3C D2 F2
       如何判断呢,这是一个很明显的一个常见的真假地址并存的情况,我们的目标数值是970 ,换算过来是 CA 03
      那么地址中有那个出现了这个十六进制的970呢?很明显是在第一个地址,我们就称为真址,而第二个没有任何的数字的规律的地址,我们称之为假址,但是并不因为其真正意义上的假址,其实,这个地址也是反映了一个关联的变量,只是所包涵的信息不是我们所需要的当前变量值,但这种地址在某种情况下仍然非常有用,起一个验证的作用,我稍后会详细解说。这就是基本的真/假地址的构成,很多时候,真实的地址通常不是这种“清版”(我们的术语,就是非常干净好认识,整版地址代码全表,无关的全部显示空码,只表达一个有关变量数值)而是在一大串没有用的数据中夹在一段特定的段落

        
        以下是一个样本
        
        DE CA D3 B6 00 02 00 00 D1 A3 A3 A3 DE FA FE D2
        D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
        F6 5A 8D 8D 00 02 00 00 8A 9D 21 41 3A 3C D2 F2
        
      这是一个比较标准的夹码,在第二个段落的四位,一,三行包涵了一个角色的等级信息,其余部分是关于一个角色的等级相关的外表及外观,在这里就出现了非清版的地址全代码,需要大家仔细看,如果寻找的结果是2到3个这样的非清码的地址码表,不能够认为是误报而很简单的清除重新寻找,需要鉴别一下,这里不同于无规律的假址,望大家铭记。

        
        3,镜象修改
        我们知道,一个角色的资料有很多部分,最简单的比如体力数值,就有几个部分
        一具体的数值
        二表观的印象
        三显示出加成或者减少的效果
        
      我们在大范围的搜寻一个变动的地址的时候,会将这个真数值址所能产生的变化的及连带影响的部分全部搜寻在内,故同时间的搜寻,我们可以找出几个相关的变量数值址,我们在进行地址编辑的时候,要注意到这点区别,具体的语言描述就是,你可能修改了一个你认为是正确的,合法的地址,但当你切换到游戏部分的时候,却发现没有产生变动,但你在切换回编辑器,却发现数据已经自动恢复了原本没有修改的前样,这点我们称为,镜象修改,或者影子修改,被视同为不成功的修改,此时你要做的就是正确的分析你的地址,然后试着去修改另外的相同的或者数据上有对等点的地址,如果你不放心,就连镜象连同真址一起改动,但值得注意一点,我要提出,有时侯,真址和镜象不是绝对,在某种情况下,我们没有办法寻找真址,只有通过表观来间接修改,类似的有《骑士团》有时改掉镜象就可以把真址影响,很明显的例子PC版本的〈心跳回忆〉你可以追寻到7个地址
      ,但是你改掉任何一个都没有用,要么连带修改7个,直接实现变动,要么你改任意一个,通过游戏的日历切换,对地址进行校验,换行为真址,达到修改。这点需要注意。

        正题:
        
      准备要求做好以后,我开始述说修改正题部分,我将以实例来分析,对读代码编辑做说明,会包涵目前的所有部分,希望大家认真想想,只要你能明白全部机理,就能很轻松明白修改学问的90%,我所写的代码部分只写主要,无关代码我不写,这样一来对初学者好看一点,而且也便于研究,真实的地址形式还是有一定出入,主要在于非清码的部分而不是00
      00 00 00 之类的空节,就可能会增加认识上的困难,具体实践需要大家自己去亲自动手修改
        
        一 纯具体数值类型  
           对象举例:金钱
           在谈到一个具体数值的修改,我们很容易的就能想到一个非常常见的数据,金钱,我们在这里就以金钱做为目标,做第一个分析
          
           以益智力类型的游戏 《大富翁三》为例子
            
           初始   金钱10000     存款 10000
            
           寻找以后
           10 27 00 00 10 27 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           你看到的应该有这么一个部分
           好的,下面开始写上我要的数值
           ** ** ** ** ** ** ** ** 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           *部分很简单,也就是你所需要修改的部分,你可以填上你所需要的数值
           E7 03 00 00 E7 03 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           或者
           DA 34 00 00 DA 34 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
          
      这就是金钱的修改了,这一步非常简单,我们完成了以后,不能停留在这一步,继续,我们来讨论更深层次的一个问题,在这一行真码,我到底能将金钱的数量改到多少?

            
         是FF FF FF 00 FF FF FF FF 00 00 00 00 00 00 00 00
           三邻位字节数
         还是四位
           FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
         或者说根本就是
           FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
          这个是个很简单的问题
          四位的全满
           FF FF FF FF = 4294967295 数值上换算过来就是这么多,我们再回头看看正常没有修改代码构成,很明显四邻位中E7 03
      00 00 E7 03 00 00
      中间有一个数位一定是间隔码,肯定是用来区别钱和存款的起始部分,具体是3位还是4位?鉴于游戏里有正常的钱数是2位不能足够显示的,我们可以确定是4位,所以我们能过理论上的正常的钱数
      FF FF FF =16777215,所以通常我们能见到的正常的游戏的设定的钱的最大也就是10000000
          
          当然也有很多例外
          如果金钱单独是一个地址
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
          全部占用了第一个四位的话很常见的就是 999 999 999 为最高上限数值,这里只要对比四数位全代码 FF FF FF FF
      就能明白,取一个正常的惯用的9尾数,也就得出了4294967295 经过我们的取位数的话,也就是999 999 999
      ,这就是大多数游戏金钱的最高数值的由来,这里道理大家仔细想一下,应该能明白的了。
          
      所以我们能做的修改,也就只在数位正常的情况下修改那个最大数值,这里就很明显的能够想到问题,当我们修改出一个数值超过间隔码,在理论上只能存在的时候,就会在显示上出了问题,很常见的就是数值溢出了那个数据框,被外面的文字,常见是:钱:字,或者一个黄色的图标盖住了,然后你再继续捡钱,怎么算呢?最后就是死机,循环错误,内存报错。精灵里面的这钟现象大家应该见到的很多。

        
      明白了这些,具体数值类型的,大家应该都能明白修改的基本道理和注意,也就是同上述没有太大的区别。常见的有钱,人物体力数值,级别,等等,此不繁琐的述说,请大家自行动手试验。

        
        二 非具体数据,非纯物品类的修改;连带修改
          
           这里大家首先要明白一个意思,非具体数据,非纯物品类的数据是指的什么?
          
           简单的说,拿游戏来举例,绝代双骄
          
      里面有很多种药水,从草药到解毒药,到还魂丹,到仙丹,本身具备物品的基本代码的编号,同时又具备单项上有数量的部分代码,我们假设现在全部的药水种类一共是100种,那么我们在真址,看到的全码,假设你一样都有一个,写出来就是

          
          
           01 01 00 00 02 01 00 00 03 01 00 00 04 01 00 00
           05 01 00 00 06 01 00 00 07 01 00 00 08 01 00 00
           09 01 00 00 0A 01 00 00 0B 01 00 00 0C 01 00 00
           0D 01 00 00 0E 01 00 00 0F 01 00 00 10 01 00 00
           11 01 00 00 12 01 00 00 13 01 00 00 14 01 00 00
           15 01 00 00 16 01 00 00 17 01 00 00 18 01 00 00
           19 01 00 00 1A 01 00 00 1B 01 00 00 1C 01 00 00
           如何解读这段代码?很明显的就是01 是对应的第一种草药的地址 后面的01
      表示数量,02表示第2种药的名称的代码,01是第二种药的数量,依此类推,很明显的,我们可以以买卖的药水的数量来得到真址的获取,这就是非纯数据物品类型的意思,我们寻找地址类似于单纯的数据型,在看代码上,我们就要稍微注意下其区别。

            
           假设你并没有获得其中很多种类的药水,那么你看到就是这种形式
           00 00 00 00 02 01 00 00 03 01 00 00 04 01 00 00
           00 00 00 00 06 01 00 00 07 01 00 00 08 01 00 00
           09 01 00 00 0A 01 00 00 00 00 00 00 0C 01 00 00
           0D 01 00 00 00 00 00 00 00 00 00 00 10 01 00 00
           11 01 00 00 12 01 00 00 13 01 00 00 14 01 00 00
           00 00 00 00 16 01 00 00 00 00 00 00 18 01 00 00
           19 01 00 00 00 00 00 00 1B 01 00 00 1C 01 00 00
        
          
      残缺了一部分,我们看到这个时候,就应当吗上联想自己见过的东西。有草药,大草药,等等,再看看这段代码的形式,残缺的部分很多都很有规律,每四位一节,说明了什么呢,这里就是全部的药代码所在地,我现在需要做的就是把00
      00 00 00 的地方按照顺序填上物品代码,就全部拥有了100种物品,恢复部分如下
           01 01 00 00 02 01 00 00 03 01 00 00 04 01 00 00
           05 01 00 00 06 01 00 00 07 01 00 00 08 01 00 00
           09 01 00 00 0A 01 00 00 0B 01 00 00 0C 01 00 00
           0D 01 00 00 0E 01 00 00 0F 01 00 00 10 01 00 00
           11 01 00 00 12 01 00 00 13 01 00 00 14 01 00 00
           15 01 00 00 16 01 00 00 17 01 00 00 18 01 00 00
           19 01 00 00 1A 01 00 00 1B 01 00 00 1C 01 00 00
           。。。。。。。。。。。。。。。。。
           。。。。。。。。。。。。。。。。。。。
           然后我们明白了四位结构就是名称代码,数量代码,间隔码,那么全部改上我们想要的数量数值以后,就变成如下
            
           01 OF 27 00 02 0F 27 00 03 0F 27 00 04 0F 27 00
           05 0F 27 00 06 0F 27 00 07 0F 27 00 08 0F 27 00
           09 0F 27 00 0A 0F 27 00 0B 0F 27 00 0C 0F 27 00
           0D 0F 27 00 0E 0F 27 00 0F 0F 27 00 10 0F 27 00
           11 0F 27 00 12 0F 27 00 13 0F 27 00 14 0F 27 00
           15 0F 27 00 16 0F 27 00 17 0F 27 00 18 0F 27 00
           19 0F 27 00 1A 0F 27 00 1B 0F 27 00 1C 0F 27 00
           。。。。。。。。。。。。。
           。。。。。。。。。。。 。。
          
      这样一来,我们就实现了全部的药的全部拥有及数量上的9999,看明白了吗,这里修改的数量的时候,要参照第一例,纯数据类型的修改的部分,而且事实上我们最初的获得地址的时候,可能残缺程度会更严重,这里就需要你有高敏感的数据感受能力和地址感受能力,并且,我们在这里就是通过一个草药的数量,实现了全程物品的代码获知和修改,这就是连带修改的最简单的一个实例,这里希望大家反复看,力求看懂。



 注册: 2004-3    状态: 离线 1楼   TOP
hcl163
Exp:154

侦察兵
 发表于: 2004-10-6 8:02:00

FPE修改教程进阶(地址编辑部分) 2

      
      FPE修改教程进阶(地址编辑部分)  2
      如果你明白了这一点,接下来我们在看一个例子,比较难一点,我给大家演示的是CAPCOM的冒险类型的游戏,BIO HAZARD 2
          
           我们要通过一个开始的子弹的20发数量,实现全程道具,武器的修改。
            
           代码部分如下
          
           由于武器方面,很明显的初级给你的武器就是一把刀,所以很自然的联想到代码是01
      这在真实地址中也确实如此,所以。开始就需要大家有一个比较清楚的修改的思想和猜测,然后我们在开枪模式下 20/19/18/17/10 OK
           代码出来,去掉假址
           进入真址
           你就会看到如下形式
          
           00 00 00 00 02 0A 01 00 16 01 00 00 3C 63 01 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           这是代码部分,身上装备为手枪 一把 子弹 10发  草药一个  99发子弹合一个
          
           对照上述代码,我们就知道。02 是手枪 OA 是剩余数量 16  后面的01 一顶是表示枪存在身上,是一把,也就是物品存在码 00 间隔
      16就一定是草药 01
      是一个。由于草药是吃的,所以其后不会有存在码,当然你也可以试着写上,并不影响,系统会自动帮你消失掉,3C就是一定是物品属性中,表示子弹合的代码了
      63 ==99没有错,正确 ,01 存在码,就这样很清楚的就分析了出来,现在我们要改掉物品道具,很简单,程序一般相近的物品在一起,那么03可能是大枪
      04 可能是冲锋枪,17可能是中药 18 可能是大药
      3D就是下一个道具,就这样依此类推就可以做到全程物品的代码修改,按照其标准存在格式,自己往上面写就是了,但要注意,你的身上能装几个,就改几个,类似于金钱的溢出问题,还有要注意一点,限于一个游戏的开发人员的习惯,有很多东西在初期设计上,存在,但是在正式发行以后,可能就不要了,但是程序员为了赶时间,没有彻底删除掉,做了个屏蔽,本身也有编号,夹在正常物品中间,所以你在修改的时候,装备,道具可能就不是连续出现,而是出现一个垃圾码的装备,你可以试试,生化危机3的物品在2代里面就已经见到了,此点注意一下就可以了。修改的时候不要以为是自己的错误,也有可能是游戏里没有开放的东西,理解了这点,再去理解精灵的修改过程的问题就很容易了。

            
         三 人物属性的修改
           终于到了这部分了,如果大家对于上面所讲的理解很透彻,那么这里,你只要看看,就彻底明白了,包括精灵,请自己联想。
           连带修改可以是药水,可以是相同的装备,也一定可以是人物的属性,很简单《魔奇梦幻团传奇》人物作比方
            
            等级 01
            HP 100
            MP 100
            回合数 3
            带兵 20
            武器 小刀
            国家属性 特里斯雅
            队伍属性 敌军
            攻击  3
            经验 20
            金钱 50
            
            这就非常简单了
            
            01 01 00 00 64 00 00 00 64 00 00 00 03 00 00 00
            14 00 00 00 01 00 00 00 0A 00 00 00 02 00 00 00
            03 00 00 00 14 00 00 00 32 00 00 00 00 00 00 00
            已变化的经验数值找到这里,然后修改
          
            01 01 ? 一定是人物 名称 代码 等级  02 01 就是女主角 一级
            64 00 00 00  64 00 00 00 两个100的数值
            03 回合数量 14 带兵量 01 就是小刀那
            0A 国家的名称,你换个0B看看就变成了临近的国家的名称
            02 敌军 ,很简单的联想   01 是不是友军呢?
            03     14        32       就是剩下的三项了
            呵呵,全部都改掉吧!
           很简单吗~?  就这样?我还要说点什么呢?自己去试修改精灵吧!
            
           我写上常见的几大数据类型,大家参考之。
            
           一 夹码类型
              DE CA D3 B6 00 02 00 00 D1 A3 A3 A3 DE FA FE D2
              D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
              F6 5A 8D 8D 00 02 00 00 8A 9D 21 41 3A 3C D2 F2
            
           二 清版类型
              10 27 00 00 10 27 00 00 00 00 00 00 00 00 00 00
              00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
            
           三 无间隔码类型(与假址很类似,但含有真址数据)
              ** ** ** ** A7 D8 E9 FF D1 A3 A3 A3 DE FA FE D2
              D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
              F6 5A 8D 8D 6E 7D 6E 7E 8A 9D 21 41 3A 3C D2 F2
              
              ** ** ** ** 部分是常见的数据所在地址
           四 纵向码类型
              31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              3E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
              5D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           五 换行码类型
              01 01 00 00 01 01 00 00 01 01 00 00 01 01 00 00
              00 01 01 00 00 01 01 00 00 01 01 00 00 01 01 00
              00 00 01 01 00 00 01 01 00 00 01 01 00 00 01 01
              01 00 00 01 01 00 00 01 01 00 00 01 01 00 00 01
              00 01 00 00 01 01 00 00 01 01 00 00 01 01 00 00
              00 00 01 00 00 01 01 00 00 01 01 00 00 01 01 00
              (这个见于恋爱游戏,人偶情缘里的地址之一)
           六 镜象地址
              也就是全部需要你一起手动修改
                
              大概就这么些了
              
             希望大家耐着性子看完,并好好的想想这部分的意思。
          四  最后篇  模糊查找
            
      如果我们对一个游戏里的数据并不大清楚,换句话说,就是不是一个具体数值,而是一个感性的认识,游戏是有地址的,但是我们常规的找不到,比如,血条又降了一点,好感度又上升了一点,等等,我们就在修改器里写下?然后变化的时候。模糊的上升+
      模糊的减少-这样反复的搜寻,最后依旧可以找到在游戏中以数据形式的方式存放的地址,找到了以后,依旧可以修改,大同小异,这里,大家可以试验一下,修改一下电脑上的KOF97的1P
      和 2P 的体力数值,试试看!
        
        
          
      到了这里就全部结束了,你明白了这些,你在回头看看精灵,当你进到地址的时候,实地的修改的精灵,你一定会觉的,精灵实在不值得拿到正题上来讲,实在太简单,今天我在这方面所讲述的这些,是希望帮助大家走过初学者的阶段。

          
      我希望我说的,对大家有个抛砖引玉的作用,实际的修改还有很多很多的东西要学习,并不是这里一句两句就说的清楚,希望大家在不断的修改试验中,理解我说的,不断创新,成为修改的高手,专家,神。



 注册: 2004-3    状态: 离线 2楼   TOP
hcl163
Exp:154

侦察兵
 发表于: 2004-10-6 8:03:00

(转)FPE修改全教程4

      
      巧用FPE-学会用浮点修改法-学会用二进制分析修改游戏-巧用FPE的刷新-特殊存档
      巧用FPE  
       用FPE改游戏,一定要做到既狠又准。
      
      比如用FPE改游戏,你知道有两个数值肯定在一起,象42,215,那么可用FPE进行一次搜索,输入“42,215”(若是16进制请在数后面加个H),这样一次找到的机率很大。

      
      一些游戏在运行时将一些主要数值换了个方法存,用FPE直接找不到,怎么办呢。那么要转转弯,比如大家喜爱的足球经理,用任何方法都找不到金钱的地址,就这样放弃了?NO,动动脑筋,进入建设菜单,看见造看台所需的费用了吗,这里就是突破口,FPE不费力就发现了目标,下面么,将其改为负数,譬如原数为E4
      07 00 00,就将最高位加个F,为E4 07 00 F0,就发现负数一大笔,按确定就发财了!
      
      “帝国时代”大家都玩过,当你造了奇迹后,有2000年的倒记时,你的第一印象是搜索2000?那么,错!没看见它是成50递减的吗,所以,应该搜索2000/50=40,然后减1减1地搜索(要不就是2000/10=200,减5进行搜索,这东东改了没实用价值,只不过举个例子罢了)。而有些则是要加上位数,如显示200,却要搜索2000,变化多样,大家自己慢慢的体会吧!

      
      FPE的修改内存功能很有用,多用用它,看看找出的地址周围的数,说不定有惊喜呢。反正我从不用什么内存锁定,一般都用内存编辑。然后看上下数,对于普通游戏,应该不试就看出这个存的是什么数值,而那里应该是存放魔法的地址,或这个地址肯定不是我
      所要的……如果你还未达到看看就知的地步,那么快练练吧,以后可省许多时间呢。
       一时想不出了,下次有再说吧。

        学会用浮点修改法

      这个游戏是使用浮点数来存放的,在这里我说明一下如何以 FPE 2000修改他们。FPE 2000 可以直接分析浮点数,只要 直接输入就好了,例如
      "100.0"。
      或许你会问: TA 或 AoE 的资源量在画面上显示只有整数部分呢? 是的,他们隐藏了小数部分的数值,如果画面上显示的是
      "1000",因为它隐藏了小数的部 分,若你直接在 FPE 2000 以 "1000" 或 "1000.0"
      去分析他,可能是找不到的。那我们要怎麽办呢? 其实程式设计师还是比较喜欢整数的,例如我们刚刚进入游戏时,TA 或 AoE 的资源都有个初始值,例如
      "400"。这时候这个值很可能 就是 400.0,一个农夫能够采的资源最大量是 10,也很可能是 10.0。如果你派个农夫去采资源,一直到他采完
      10 搬回基地前不要做任何其他的事,一搬 回基地马上停止农夫的动作。这时你整的资源量变成 410,很可能就是
      410.0。依照这个原则,一开始我们分析 "400.0",派农夫采满 10,搬回基地前不要做 任何其他的事,一搬回基地马上停止农夫的动作,分析
      "410.0"。依此类推,就大概可以找到目标了。我们这个原则是猜想程式设计师会对每一个初始值及最大 值以 XXX.0
      的方式定义(一般人的习性嘛)。但是如果你在农夫搬回基地前做其他消耗资源的事或是在农夫没有采满 10 就搬回基地,那可能就会有小数点後的
      数出现了,那就不能很准确的分析了。以前有网友说 100.0 到 100.9 的翻成四个十六进位 bytes 时,前两个 bytes
      会一样。其实这不正确,根据测试,有些浮点数(如120.4和120.5)只有第一个 byte 会一样而已. 而且这个 byte
      很难变动,必须整个浮点数有很大的变动才会变。所以比较好的分析方法如同刚刚说的才会比较正确。FPE 2000 也 可以把浮点数转换为十六进位数,在
      "Others" 左下方那两个中间有个 "Hex"按钮的栏位,你只要在上面栏位输入浮点数,下面会出现十六进位值,你可以自行试试。
      也许有的朋友看到标题时摸不到头脑,那么望下看吧。(仅适合FPE5.x)
      
      我改金色步行鸟时,好不容易用名字找出步行鸟地址的大概位置时,却看见满屏陌生的数据而无从下手。茫茫的数据中,哪个是要害字节呢?要找步行鸟的什么速度、耐力之类的,游戏中又没有具体数据,高阶分析无从下手。用低阶分析?那可是本人最忌讳的。

      
      山穷水尽想放弃时,眼睛一亮,OK,且听我慢慢道来。找到步行鸟名字的地址后,按E键进入内存编辑,不按任何键,切回游戏中。给步行鸟喂食,使它某一项能力增长,切到FPE,怎么还是上次的数据,那么按ESC键,恩,有几个数据在动啊(改变了),没看清?那么再照上面的方法来一边吧!发现改动的数据了吗,分析其上下的值,怎么样,有几行是很有规律的,对啦,那就是步行鸟的数据了。

       没听懂?自己实践一下吧,这个方法可是很有用的喔!
      学会用二进制分析修改游戏

      不少游戏中都有什么诸如人物的特殊能力,比如DIABLO。那么它的魔法是如何存放的呢,每个魔法用一个字节,00代表无,01代表有?那也太浪费了吧,一般来说程序员都爱用二进制来存放各项能力,大家知道,一个字节有8位(如FFh化为二进制是11111111),游戏中的能力就是占了一位(bit),0代表无,1代表有。如果某一游戏的能力排放为00000011,那么在内存(硬盘)中存放就是03h,显然用二进制能有效地减少存储空间。

      
      由上面看来,直接搜索能力的地址是不明智的,一般我们修改都找出这个人物(或其他什么东东)的数据所在地,然后找到能力的具体地址,将其改为FFh,一般就可拥有全部的能力。

      
      下面我以早期的战略游戏经典“信长之野望——天翔记”为例来分析(当年还没有FPE4和5,用其他的内存修改工具会死机,只得用PCTOOLS)。记得当年我修改的时候,差点想破脑袋。天翔记中个各人物都有“智力/智才、政治/政才、战斗/战才”三项能力,你直接找智力或找智才,都是找不到的。而我拐了个弯,寻找他的勋功,然后上下分析,才得出结果。原来他的智力是按智才的百分比存放,而智才是将游戏中的数据除以2存放,怪不得找不到哩(光荣这个混蛋)!水到渠成,修改其它诸如兵力,训练……就是简单的事了。

       找到了人物的特技和带兵能力后,按习惯都改为FF,特技到是PASS了,但带兵能力却不对,怎么都变一个个的O O O
      O了(应是S、A、B、C、D),思考良久,由于能力有6级,故一位是放不下的。两位?两位只有00、01、10、11四级啊,放不下6个级别,那么只有3位了,可从来没有一个游戏用了3位存放的,要么4位,要么2位,再说共有“陆、骑、枪、水”四个,4x3共12位,不足2个字节16位,而且3位能放8级的能力,难道见鬼了?又思考晾久并试出确是只有两个字节,干脆,赌一把。000代表E级,001代表D级,010代表C级,011代表B级,100代表A级,101代表S级,一个字节存2个能力,OK,把2个字节改为2Dh,2Dh(00101101),进入游戏,不对,怎么“X”都出来了。反回来再改,改为6D
      FB(01101101 11111011),哦(欢呼),对啦,全是S级喽,还有铁骑呢!
      
      怎么样,够艰难吧,别看现在说说简单,在不知道的情况下要想出来是很难的。而这,也是修改游戏乐趣的所在之一。希望看了上面的分析,能给你有所收获(尽管以后可能用不到)。

      巧用FPE的刷新

      也许有的朋友看到标题时摸不到头脑,那么望下看吧。(仅适合FPE5.x)
      
      我改金色步行鸟时,好不容易用名字找出步行鸟地址的大概位置时,却看见满屏陌生的数据而无从下手。茫茫的数据中,哪个是要害字节呢?要找步行鸟的什么速度、耐力之类的,游戏中又没有具体数据,高阶分析无从下手。用低阶分析?那可是本人最忌讳的。

      
      山穷水尽想放弃时,眼睛一亮,OK,且听我慢慢道来。找到步行鸟名字的地址后,按E键进入内存编辑,不按任何键,切回游戏中。给步行鸟喂食,使它某一项能力增长,切到FPE,怎么还是上次的数据,那么按ESC键,恩,有几个数据在动啊(改变了),没看清?那么再照上面的方法来一边吧!发现改动的数据了吗,分析其上下的值,怎么样,有几行是很有规律的,对啦,那就是步行鸟的数据了。

       没听懂?自己实践一下吧,这个方法可是很有用的喔!
       
      特殊存档

        
      FPE2000一个很好的功能是能把你已经修改好的东西存下来,下次你再打开游戏时可重新调入,这个存盘文件的后缀名就是FPE。方法很简单,只要按CTRL-2到表格处,按LOAD(读档),选择想要的FPE文件名即可。FPE2000会自动把那些地址锁定。不过要注意,存盘的文件名不能为中文名。另外,欢迎大家把自己修改了的游戏做成FPE存档,拿出来和大家分享。

相关文章推荐

FPE2001(内存修改工具)

  • 2009-04-04 13:35
  • 3.85MB
  • 下载

OSTaskStkInit_FPE_x86()--浮点仿真任务栈初始化函数(分段寻址的地址转换为线性地址)

段地址:段内偏移量寻址方案 在 uC/OS-II 随书光盘中针对 80x86 (不带硬件浮点运算单元)的移植源码中,有一个浮点仿真任务栈初始化函数 OSTaskStkInit_FPE_x86(),其...

在FPE里看中文文件

  • 2012-01-17 15:41
  • 171KB
  • 下载

fpe2001 调试器

  • 2014-02-11 14:17
  • 3.85MB
  • 下载

startx时出现这样的提示:FreeFontPoth: FPE "/usr/share/fonts/misc:unscaled"

http://zhongyong35.blog.sohu.com/78937389.html  标题: glxgears出错(已解决)   glxgears 时出现这样的提示: Xl...

Spring快速入门教程 - 1 - 使用 Maven 创建工程 - 修改0次

使用 Maven 创建 Java 工程翻译自:http://spring.io/guides/gs/maven/1、将会创建什么教程会一步一步教您用 Maven 创建一个简单的 Java 工程。2、开...

[转]Ultra Fractal教程系列35——蒙版的学习01——图层1:TIA

Ultra Fractal 中一个强大的功能是创建一个蒙版图层作为其他图层的蒙版。 这个蒙版图层中包含了透明区域与不透明区域,而它控制了所链接的图层指定的显示区域。 这个功能为分形艺术创作...

WireShark教程 - 黑客发现之旅(1) - 开篇[转]

0×00 先说几句 以下文章为乌云转载过来,因为这系列文章对于网络攻击底层分析与wireshark的使用都分析的非常透彻,所以直接复制过来给大家分享一下。 开篇主要说wireshark...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)