thisisthepolice吧 关注:4,171贴子:25,447
  • 13回复贴,共1

【REBEL COPS】v1.1 CE修改技巧 行动点、精神点、金钱、回合等

只看楼主收藏回复

前排提示:修改游戏会导致游戏趣味性打折。
建议卡关时参考使用。


IP属地:江苏1楼2021-01-02 01:07回复
    1.需要准备的工具
    cheat engine,简称CE,目前最新版本v7.1,其他版本也可。
    关于CE的下载地址、汉化、基本使用方法,这里不赘述。不清楚的吧友可自行百度查询。


    IP属地:江苏2楼2021-01-02 01:08
    回复
      2.一次性修改数据的通用方法
      目前发现的几个数据:
      行动点数(针对某个特定己方角色)、精神点数(通用)、金钱(通用)、手gun子弹数(针对某个特定己方角色)、当前回合数(通用)……
      均是4字节数据。一般最后剩余2-3个始终保持一致的数据,此时可以手动把3个值改成各不相同的合理数值,切换回游戏,查看哪个值实际生效,那么此临时地址存储的是真实值。
      查找到的都是临时内存地址,每次开启游戏不能通用。
      直接多次搜索,都能搜到数值,修改即可。(如:精神点数、金钱等只需要一次性修改)
      行动点数(针对某个特定己方角色)、手gun子弹数(针对某个特定己方角色)、当前回合数(通用)也可以搜索到,但每关不能通用。


      IP属地:江苏3楼2021-01-02 01:15
      回复
        4.以下直接提供代码,全选复制,另存为.ct后缀文件,即可用CE打开。再将CE关联游戏,并确认游戏至少一次运行某功能,即可开启对应功能选项。
        //以下是源码,此行无需复制//
        <?xml version="1.0" encoding="utf-8"?>
        <CheatTable CheatEngineTableVersion="31">
        <CheatEntries>
        <CheatEntry>
        <ID>9</ID>
        <Description>"行动点自动增加"</Description>
        <LastState/>
        <VariableType>Auto Assembler Script</VariableType>
        <AssemblerScript>[ENABLE]
        aobscan(INJECT,89 86 A8 00 00 00 C6 86 D8) // should be unique
        alloc(newmem,$1000)
        label(code)
        label(return)
        newmem:
        code:
        add eax,5
        mov [esi+000000A8],eax
        jmp return
        INJECT:
        jmp newmem
        nop
        return:
        registersymbol(INJECT)
        [DISABLE]
        INJECT:
        db 89 86 A8 00 00 00
        unregistersymbol(INJECT)
        dealloc(newmem)
        </AssemblerScript>
        </CheatEntry>
        <CheatEntry>
        <ID>11</ID>
        <Description>"精神点自动增加"</Description>
        <LastState/>
        <VariableType>Auto Assembler Script</VariableType>
        <AssemblerScript>[ENABLE]
        aobscan(INJECT,89 87 A0 00 00 00 89 75 F4) // should be unique
        alloc(newmem,$1000)
        label(code)
        label(return)
        newmem:
        code:
        add eax,0x1F4 //add 500
        mov [edi+000000A0],eax
        jmp return
        INJECT:
        jmp newmem
        nop
        return:
        registersymbol(INJECT)
        [DISABLE]
        INJECT:
        db 89 87 A0 00 00 00
        unregistersymbol(INJECT)
        dealloc(newmem)
        </AssemblerScript>
        </CheatEntry>
        <CheatEntry>
        <ID>15</ID>
        <Description>"金钱自动增加"</Description>
        <LastState/>
        <VariableType>Auto Assembler Script</VariableType>
        <AssemblerScript>[ENABLE]
        aobscan(INJECT,89 48 34 8D 45 D8) // should be unique
        alloc(newmem,$1000)
        label(code)
        label(return)
        newmem:
        code:
        add ecx,3E8
        mov [eax+34],ecx
        lea eax,[ebp-28]
        jmp return
        INJECT:
        jmp newmem
        nop
        return:
        registersymbol(INJECT)
        [DISABLE]
        INJECT:
        db 89 48 34 8D 45 D8
        unregistersymbol(INJECT)
        dealloc(newmem)
        </AssemblerScript>
        </CheatEntry>
        <CheatEntry>
        <ID>18</ID>
        <Description>"手枪子弹9发"</Description>
        <LastState/>
        <VariableType>Auto Assembler Script</VariableType>
        <AssemblerScript>[ENABLE]
        aobscan(INJECT,39 00 89 78 10 E9 E0 01 00 00) // should be unique
        alloc(newmem,$1000)
        label(code)
        label(return)
        newmem:
        code:
        cmp [eax],eax
        mov [eax+10],9
        //mov [eax+10],edi
        jmp return
        INJECT:
        jmp newmem
        return:
        registersymbol(INJECT)
        [DISABLE]
        INJECT:
        db 39 00 89 78 10
        unregistersymbol(INJECT)
        dealloc(newmem)
        </AssemblerScript>
        </CheatEntry>
        <CheatEntry>
        <ID>28</ID>
        <Description>"回合数不变"</Description>
        <LastState/>
        <VariableType>Auto Assembler Script</VariableType>
        <AssemblerScript>[ENABLE]
        aobscan(INJECT,89 47 34 8B 47 40) // should be unique
        alloc(newmem,$1000)
        label(code)
        label(return)
        newmem:
        code:
        //mov [edi+34],eax
        mov eax,[edi+40]
        jmp return
        INJECT:
        jmp newmem
        nop
        return:
        registersymbol(INJECT)
        [DISABLE]
        INJECT:
        db 89 47 34 8B 47 40
        unregistersymbol(INJECT)
        dealloc(newmem)
        </AssemblerScript>
        </CheatEntry>
        </CheatEntries>
        <CheatCodes>
        <CodeEntry Color="20000000">
        <Description>替换了 mov [esi+3C],eax</Description>
        <AddressString>10CD909F</AddressString>
        <Before>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>8B</Byte>
        <Byte>45</Byte>
        <Byte>0C</Byte>
        </Before>
        <Actual>
        <Byte>89</Byte>
        <Byte>46</Byte>
        <Byte>3C</Byte>
        </Actual>
        <After>
        <Byte>3D</Byte>
        <Byte>01</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        </After>
        </CodeEntry>
        <CodeEntry Color="20000000">
        <Description>替换了 mov [esi+00000090],eax</Description>
        <AddressString>332EF4C4</AddressString>
        <Before>
        <Byte>E8</Byte>
        <Byte>AC</Byte>
        <Byte>68</Byte>
        <Byte>04</Byte>
        <Byte>00</Byte>
        </Before>
        <Actual>
        <Byte>89</Byte>
        <Byte>86</Byte>
        <Byte>90</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        </Actual>
        <After>
        <Byte>8B</Byte>
        <Byte>46</Byte>
        <Byte>20</Byte>
        <Byte>89</Byte>
        <Byte>85</Byte>
        </After>
        </CodeEntry>
        </CheatCodes>
        <UserdefinedSymbols/>
        </CheatTable>
        //以上是源码,此行无需复制//


        IP属地:江苏5楼2021-01-02 01:22
        回复
          3.(这层刚才被抽楼了)
          Unity3D游戏函数的内存地址在第一次调用时随机分配,所以需要使用CE中的aobscan函数。
          之前发的特征code被抽楼了,就不再重复发了,直接从4.中的源码里能读出来。


          IP属地:江苏6楼2021-01-02 01:29
          回复
            5.未尽事宜不再解释。
            百度是最好的老师,相信有使用CE经验的吧友都能用好。
            不同版本的特征code可能不一致,但其修改方法是通用的。
            既然投入时间研究本作的数据修改了,那么把它分享给各位吧友也是值得的。
            祝大家元旦快乐!


            IP属地:江苏7楼2021-01-02 01:33
            收起回复


              IP属地:江苏来自Android客户端8楼2021-01-03 00:53
              收起回复
                楼主厉害!


                IP属地:福建9楼2022-03-13 20:25
                回复
                  谢谢楼主,能否提供一下二代的作弊方式?


                  IP属地:泰国来自Android客户端10楼2022-03-22 12:31
                  回复
                    双击后弹出这个


                    IP属地:重庆11楼2024-12-17 02:46
                    回复