织梦CMS - 轻松建站从此开始!

360BC游戏

当前位置: 主页 > 游戏攻略

用cheat engine 修改游戏《精灵与萤火意志》

时间:2025-10-03 14:50来源:本站 作者:admin666 点击:
奥日的HP初始是三个小圆球。每个圆球浮点值10,三个是30。受到一次伤害减5,所以2个半圆球就是25。根据这个能尽快搜到地址。 ----------------- 灭小boss,奥日一刀下去,敌HP-8 一击必杀

奥日的HP初始是三个小圆球。每个圆球浮点值10,三个是30。受到一次伤害减5,所以2个半圆球就是25。根据这个能尽快搜到地址。

-----------------

灭小boss,奥日一刀下去,敌HP-8

一击必杀:找个血厚的小怪,设置浮点数,未知,减小,不变,减小等等,然后在最后实在无法再减少的结果中,找初始值为整数的。比如某个小怪HP为32。

然后找写入地址的代码,再找攻击值。在脚本中将攻击值改为浮点9999.

------------------------------

黄球, 金钱或者经验值:

按照界面上值找到2个浮点值,修改后发现在游戏中无效。之后发现这两个值改大后会逐渐变回实际的黄球值。

于是找什么写入该地址,找到一个不停写入的代码,分析代码,在该代码上一层函数的代码中,找到

GameAssembly.dll+901AB9 - 8B 40 30 - mov eax,[rax+30]

经观察和修改,证实[rax+30]存放的是实际的黄球值,为4字节而不是浮点值!!!

所以,直接搜4字节的黄球值就可以。

-----------------------------------------

查找3级跳:

假设是4字节,初始找未知初始值。

然后配备3级跳、卸载3级跳,在回到游戏界面以后,分别查找变动值。最终,找到一个地址类似:2338B08B644,4字节。

当配备3级跳时候该值为2,不配备则为1(为0则只能跳1下,后来学会连跳,此值为1;配备上3级跳,则此值为2)。

查找写入该地址指令,得到:

执行次数多(一)7FFAFA4D99E1 - FF 8B 94000000 - dec [rbx+00000094] 此指令明显是减1。

执行次数少(二)7FFAFA4DA980 - 89 83 94000000 - mov [rbx+00000094],eax

经过分析,(一)是按下跳跃按钮后执行的指令;(二)是程序判断奥日落地后执行的指令,此指令将奥日的跳跃次数赋值给地址。(一直没有追到eax中的跳跃次数值到底是哪里来的!!!)

经过试验得知,注销掉(一),就可以实现无限次数的跳跃飞翔!!!!!!

经过试验得知,注销掉(二),游戏判断触地后写入2次跳跃值失效!!!!!!

而相对更自由的方式是想要玩家自定义设置一个跳跃次数,实现玩家控制跳跃次数。

实现上述目标,可以注销掉(二),然后设置一个自定义值,这样每跳跃一次减1一次,一直到结果为0。可以实现精确控制跳跃次数。

-----------------------------------------

查找单箭速射:

假定为4字节,不断装配和卸载速射,回到游戏界面不断查找变化值。

得到类似:1C504108F4C,装配为0,不装配为FFFFFFFF。

查找写入指令:1个是装配的,一个是卸载的。

下面是装配的指令:主要是将地址写入0,其中,edx==0

GameAssembly.dll+143A1A6:

7FFAE1F9A1A0 - 40 53 - push rbx

7FFAE1F9A1A2 - 48 83 EC 20 - sub rsp,20

7FFAE1F9A1A6 - 89 51 1C - mov [rcx+1C],edx <<

7FFAE1F9A1A9 - 48 8B D9 - mov rbx,rcx

7FFAE1F9A1AC - 33 D2 - xor edx,edx

----------------------------------------------------

猫头鹰三级跳飞查找:

按照精灵3级跳的套路,猜想该值为4字节,初始为2,起跳后仍为2,在空中第二次跳,则变1,第三次跳则变0,落地则变回2。

按此套路查找到类似 205BAB83864 地址。

查找写入该地址指令。

一条是在不跳的时候频繁写入2。

一条是dec指令。

----------------------------------------------------

挑战小游戏时间锁定查找:

用CE将游戏速度降到最低,以方便查看当前时间值。

然后搜索单浮点时间值。锁定即可。

ct表中脚本实现无限HP,一击必杀,光箭速射不占栏位,无限跳跃、无限氧气、无限经验值、无限矿石、无限开门钥匙碎片,锁定挑战小游戏的时间等功能。

原则上所有脚本,也就是本ct表文件适用于游戏的任何版本,因为所有脚本都是aob注入(特征码)。

我的CE用CT修改表文件内容,包含在下面的:

{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{

}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

之中,如果想使用的话,将上述括号中间的文字内容拷贝到记事本,并将记事本保存后,将扩展名txt改为ct,即可载入ce使用。

ct表文件内容:注意不要拷贝{{{{{{ 和 }}}}}这2行!!!

{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{

<?xml version="1.0" encoding="utf-8"?>

<CheatTable CheatEngineTableVersion="42">

<CheatEntries>

<CheatEntry>

<ID>36</ID>

<Description>"==============观察重要地址的指针脚本========================="</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1" moDeactivateChildrenAsWell="1"/>

<GroupHeader>1</GroupHeader>

<CheatEntries>

<CheatEntry>

<ID>41</ID>

<Description>"查看HP"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是频繁读取HP地址的指令。该指令是对xxxxxx进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_ChaKanHP,GameAssembly.dll,8B 40 10 89 43 2C C6)

registersymbol(aob_ChaKanHP) //这里ChaKanHP的意思是:查看HP

alloc(newmem_ChaKanHP,256,GameAssembly.dll)

label(return_ChaKanHP)

//以下人造指针1

alloc(ChaKanHP_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(ChaKanHP_P) //

//以上人造指针1

//以下人造指针2

alloc(ChaKanHP_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(ChaKanHP_P_xx2) //

//以上人造指针2

newmem_ChaKanHP:

//以下进行人造指针------------------------------------------------

mov [ChaKanHP_P],rax

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//-------------------------------------------------------------------

//以下为原代码

mov eax,[rax+10]

mov [rbx+2C],eax

jmp return_ChaKanHP

aob_ChaKanHP:

jmp newmem_ChaKanHP

nop

return_ChaKanHP:

[DISABLE]

aob_ChaKanHP:

db 8B 40 10 89 43 2C

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+F141D5

GameAssembly.dll+F141C0: 33 D2 - xor edx,edx

GameAssembly.dll+F141C2: E8 79 AD 51 00 - call GameAssembly.dll+142EF40

GameAssembly.dll+F141C7: 48 85 C0 - test rax,rax

GameAssembly.dll+F141CA: 74 30 - je GameAssembly.dll+F141FC

GameAssembly.dll+F141CC: 48 8B 40 28 - mov rax,[rax+28]

GameAssembly.dll+F141D0: 48 85 C0 - test rax,rax

GameAssembly.dll+F141D3: 74 21 - je GameAssembly.dll+F141F6

// ---------- INJECTING HERE ----------

GameAssembly.dll+F141D5: 8B 40 10 - mov eax,[rax+10]

// ---------- DONE INJECTING ----------

GameAssembly.dll+F141D8: 89 43 2C - mov [rbx+2C],eax

GameAssembly.dll+F141DB: C6 43 28 00 - mov byte ptr [rbx+28],00

GameAssembly.dll+F141DF: F3 0F 10 43 2C - movss xmm0,[rbx+2C]

GameAssembly.dll+F141E4: 48 83 C4 40 - add rsp,40

GameAssembly.dll+F141E8: 5B - pop rbx

GameAssembly.dll+F141E9: C3 - ret

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>42</ID>

<Description>"HP当前最大值??"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>ChaKanHP_P</Address>

<Offsets>

<Offset>14</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>40</ID>

<Description>"HP"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>ChaKanHP_P</Address>

<Offsets>

<Offset>10</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>66</ID>

<Description>"查看能量值"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是某频繁访问能量值指令。

aobscanmodule(aob_GuanChaNengLiangZhi,GameAssembly.dll,F3 0F 11 43 28 0F 28 74 24 60)

registersymbol(aob_GuanChaNengLiangZhi) //意思是:观察能量值

alloc(newmem_GuanChaNengLiangZhi,256,GameAssembly.dll)

label(return_GuanChaNengLiangZhi)

//以下人造指针1

alloc(GuanChaNengLiangZhi_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(GuanChaNengLiangZhi_P) //

//以上人造指针1

//以下人造指针2

alloc(GuanChaNengLiangZhi_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(GuanChaNengLiangZhi_P_xx2) //

//以上人造指针2

newmem_GuanChaNengLiangZhi:

//以下进行人造指针------------------------------------------------

mov [GuanChaNengLiangZhi_P],rbx

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//-------------------------------------------------------------------

//以下为原代码

movss [rbx+28],xmm0

jmp return_GuanChaNengLiangZhi

aob_GuanChaNengLiangZhi:

jmp newmem_GuanChaNengLiangZhi

return_GuanChaNengLiangZhi:

[DISABLE]

aob_GuanChaNengLiangZhi:

db F3 0F 11 43 28

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+9706E9

GameAssembly.dll+9706CA: 48 85 C0 - test rax,rax

GameAssembly.dll+9706CD: 74 35 - je GameAssembly.dll+970704

GameAssembly.dll+9706CF: 48 89 05 4A DF A8 03 - mov [GameAssembly.dll+43FE620],rax

GameAssembly.dll+9706D6: FF D0 - call rax

GameAssembly.dll+9706D8: 45 33 C9 - xor r9d,r9d

GameAssembly.dll+9706DB: 0F 28 D0 - movaps xmm2,xmm0

GameAssembly.dll+9706DE: 0F 28 CF - movaps xmm1,xmm7

GameAssembly.dll+9706E1: 0F 28 C6 - movaps xmm0,xmm6

GameAssembly.dll+9706E4: E8 27 4C 74 01 - call GameAssembly.dll+20B5310

// ---------- INJECTING HERE ----------

GameAssembly.dll+9706E9: F3 0F 11 43 28 - movss [rbx+28],xmm0

// ---------- DONE INJECTING ----------

GameAssembly.dll+9706EE: 0F 28 74 24 60 - movaps xmm6,[rsp+60]

GameAssembly.dll+9706F3: 0F 28 7C 24 50 - movaps xmm7,[rsp+50]

GameAssembly.dll+9706F8: 44 0F 28 44 24 40 - movaps xmm8,[rsp+40]

GameAssembly.dll+9706FE: 48 83 C4 70 - add rsp,70

GameAssembly.dll+970702: 5B - pop rbx

GameAssembly.dll+970703: C3 - ret

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>67</ID>

<Description>"能量值-非实际能量值,为参考地址"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>GuanChaNengLiangZhi_P</Address>

<Offsets>

<Offset>28</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>105</ID>

<Description>"===============老版本--简练-功能少============================="</Description>

<Options moManualExpandCollapse="1"/>

<GroupHeader>1</GroupHeader>

<CheatEntries>

<CheatEntry>

<ID>91</ID>

<Description>"一击必杀待更新-加显示敌HP-老的脚本"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是对敌人减HP指令。该指令是对敌人HP地址进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_YiJiBiShaA,GameAssembly.dll,F3 0F 5C CA 4C 8B 80 80 02 00 00)

registersymbol(aob_YiJiBiShaA) //YiJiBiShaA是:一击必杀

alloc(newmem_YiJiBiShaA,256,GameAssembly.dll)

label(return_YiJiBiShaA)

//以下

alloc(YiJiBiShaA_temp,4) //人造指针8或4字节(64位需要8字节)

registersymbol(YiJiBiShaA_temp) //

//以上

//以下人造指针2

alloc(YiJiBiShaA_P_xx2,4) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(YiJiBiShaA_P_xx2) //

//以上人造指针2

//以下人造指针3

alloc(YiJiBiShaA_P_xx3,8) //人造指针,敌人的HP

registersymbol(YiJiBiShaA_P_xx3) //

//以上人造指针3

label(YiJiBiShaA_YuanDaiMa)

newmem_YiJiBiShaA:

//以下进行人造指针------------------------------------------------

movss [YiJiBiShaA_P_xx2],xmm2 //实际的攻击值

mov [YiJiBiShaA_P_xx3],rdi //rdi+28为敌HP地址

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

cmp [YiJiBiShaA_temp],0

jnz YiJiBiShaA_YuanDaiMa

push r14 //不能从寄存器到浮点寄存器,因此须用内存中转

mov r14,(float)99999 //攻击值放到r14

mov [YiJiBiShaA_temp],r14 //从r14中转到临时地址,这个可做为可观察的当前巨大攻击值

pop r14

YiJiBiShaA_YuanDaiMa:

movss xmm2,[YiJiBiShaA_temp]//从临时地址到xmm2

//-------------------------------------------------------------------

//以下为原代码

subss xmm1,xmm2

mov r8,[rax+00000280]

jmp return_YiJiBiShaA

aob_YiJiBiShaA:

jmp newmem_YiJiBiShaA

nop 6

return_YiJiBiShaA:

[DISABLE]

aob_YiJiBiShaA:

db F3 0F 5C CA 4C 8B 80 80 02 00 00

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+B63FEA

GameAssembly.dll+B63FD0: 0F 11 45 E7 - movups [rbp-19],xmm0

GameAssembly.dll+B63FD4: F2 0F 10 4B 20 - movsd xmm1,[rbx+20]

GameAssembly.dll+B63FD9: F2 0F 11 4D F7 - movsd [rbp-09],xmm1

GameAssembly.dll+B63FDE: 48 8B 07 - mov rax,[rdi]

GameAssembly.dll+B63FE1: F3 0F 10 4F 28 - movss xmm1,[rdi+28]

GameAssembly.dll+B63FE6: 0F C6 D2 AA - shufps xmm2,xmm2,-56

// ---------- INJECTING HERE ----------

GameAssembly.dll+B63FEA: F3 0F 5C CA - subss xmm1,xmm2

// ---------- DONE INJECTING ----------

GameAssembly.dll+B63FEE: 4C 8B 80 80 02 00 00 - mov r8,[rax+00000280]

GameAssembly.dll+B63FF5: 48 8B CF - mov rcx,rdi

GameAssembly.dll+B63FF8: FF 90 78 02 00 00 - call qword ptr [rax+00000278]

GameAssembly.dll+B63FFE: 4C 8B 77 48 - mov r14,[rdi+48]

GameAssembly.dll+B64002: 48 8B 0D B7 6C 83 03 - mov rcx,[GameAssembly.dll+439ACC0]

GameAssembly.dll+B64009: F6 81 27 01 00 00 02 - test byte ptr [rcx+00000127],02

GameAssembly.dll+B64010: 74 0E - je GameAssembly.dll+B64020

GameAssembly.dll+B64012: 83 B9 D8 00 00 00 00 - cmp dword ptr [rcx+000000D8],00

GameAssembly.dll+B64019: 75 05 - jne GameAssembly.dll+B64020

GameAssembly.dll+B6401B: E8 E0 9A 6E FF - call GameAssembly.dll+24DB00

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>92</ID>

<Description>"敌HP"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YiJiBiShaA_P_xx3</Address>

<Offsets>

<Offset>28</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>93</ID>

<Description>"脚本给的巨大攻击值"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YiJiBiShaA_temp</Address>

</CheatEntry>

<CheatEntry>

<ID>94</ID>

<Description>"实际攻击值"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YiJiBiShaA_P_xx2</Address>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>64</ID>

<Description>"无限能量"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是减少能量指令。该指令是对能量地址进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_NengLiang,GameAssembly.dll,F3 0F 11 73 18 33)

registersymbol(aob_NengLiang) //这里NengLiang的意思是:能量

alloc(newmem_NengLiang,256,GameAssembly.dll)

label(return_NengLiang)

//以下人造指针1

alloc(NengLiang_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(NengLiang_P) //

//以上人造指针1

//以下人造指针2

alloc(NengLiang_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(NengLiang_P_xx2) //

//以上人造指针2

newmem_NengLiang:

//以下进行人造指针------------------------------------------------

mov [NengLiang_P],rbx

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

movss [rbx+18],xmm0 //经观察,发现xmm0是当前能量上限最大值

//-------------------------------------------------------------------

//以下为原代码

//movss [rbx+18],xmm6

jmp return_NengLiang

aob_NengLiang:

jmp newmem_NengLiang

return_NengLiang:

[DISABLE]

aob_NengLiang:

db F3 0F 11 73 18

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+96EA4D

GameAssembly.dll+96EA3E: 76 08 - jna GameAssembly.dll+96EA48

GameAssembly.dll+96EA40: 0F 28 F7 - movaps xmm6,xmm7

GameAssembly.dll+96EA43: EB 03 - jmp GameAssembly.dll+96EA48

GameAssembly.dll+96EA45: 0F 57 F6 - xorps xmm6,xmm6

GameAssembly.dll+96EA48: 48 85 DB - test rbx,rbx

GameAssembly.dll+96EA4B: 74 34 - je GameAssembly.dll+96EA81

// ---------- INJECTING HERE ----------

GameAssembly.dll+96EA4D: F3 0F 11 73 18 - movss [rbx+18],xmm6

// ---------- DONE INJECTING ----------

GameAssembly.dll+96EA52: 33 D2 - xor edx,edx

GameAssembly.dll+96EA54: 48 8B CB - mov rcx,rbx

GameAssembly.dll+96EA57: E8 74 C7 AC 00 - call GameAssembly.dll+143B1D0

GameAssembly.dll+96EA5C: C6 47 30 01 - mov byte ptr [rdi+30],01

GameAssembly.dll+96EA60: 48 8B 5C 24 70 - mov rbx,[rsp+70]

}

</AssemblerScript>

</CheatEntry>

<CheatEntry>

<ID>137</ID>

<Description>"无限能量-且HP小于2个球自动充满"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是减少能量指令。该指令是对能量地址进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_NengLiang,GameAssembly.dll,F3 0F 11 73 18 33)

registersymbol(aob_NengLiang) //这里NengLiang的意思是:能量

alloc(newmem_NengLiang,256,GameAssembly.dll)

label(return_NengLiang)

//以下人造指针1

alloc(NengLiang_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(NengLiang_P) //

//以上人造指针1

//以下人造指针2

alloc(NengLiang_P_temp,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(NengLiang_P_temp) //

//以上人造指针2

label(return_NengLiang_YDM) //原代码

newmem_NengLiang:

//以下进行人造指针------------------------------------------------

mov [NengLiang_P],rbx

//以上进行人造指针------------------------------------------------

cmp [rbx+10],(float)20 //奥日HP的值和20比较

//HP大于或等于20跳转到:return_NengLiang_YDM :原代码

jae return_NengLiang_YDM //原代码

//小于20则执行以下指令,给HP加到当前最大值

//mov [rbx+10],(float)100 //下面的语句其实简单就这一句

push rax //保护eax,因要用eax中转(因为mov不能内存到内存)。

mov eax,[rbx+14] //rbx+14存放HP最大值,但是是4字节值,须转为浮点数

cvtsi2ss XMM15,eax //将m32转为32位单浮点数! 放到xmm15的第一位置

movss [NengLiang_P_temp],xmm15 //将浮点数存入内存地址中转

mov eax,[NengLiang_P_temp] //将中转内存地址值用eax中转

mov [rbx+10],eax

pop rax

//xor xmm15,xmm15

return_NengLiang_YDM: //原代码

//下面放置新增代码

//-------------------------------------------------------------------

movss [rbx+18],xmm0 //经观察,发现xmm0是当前能量上限最大值

//-------------------------------------------------------------------

//以下为原代码

//movss [rbx+18],xmm6

jmp return_NengLiang

aob_NengLiang:

jmp newmem_NengLiang

return_NengLiang:

[DISABLE]

aob_NengLiang:

db F3 0F 11 73 18

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+96EA4D

GameAssembly.dll+96EA3E: 76 08 - jna GameAssembly.dll+96EA48

GameAssembly.dll+96EA40: 0F 28 F7 - movaps xmm6,xmm7

GameAssembly.dll+96EA43: EB 03 - jmp GameAssembly.dll+96EA48

GameAssembly.dll+96EA45: 0F 57 F6 - xorps xmm6,xmm6

GameAssembly.dll+96EA48: 48 85 DB - test rbx,rbx

GameAssembly.dll+96EA4B: 74 34 - je GameAssembly.dll+96EA81

// ---------- INJECTING HERE ----------

GameAssembly.dll+96EA4D: F3 0F 11 73 18 - movss [rbx+18],xmm6

// ---------- DONE INJECTING ----------

GameAssembly.dll+96EA52: 33 D2 - xor edx,edx

GameAssembly.dll+96EA54: 48 8B CB - mov rcx,rbx

GameAssembly.dll+96EA57: E8 74 C7 AC 00 - call GameAssembly.dll+143B1D0

GameAssembly.dll+96EA5C: C6 47 30 01 - mov byte ptr [rdi+30],01

GameAssembly.dll+96EA60: 48 8B 5C 24 70 - mov rbx,[rsp+70]

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>65</ID>

<Description>"能量当前上限"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>NengLiang_P</Address>

<Offsets>

<Offset>1C</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>68</ID>

<Description>"能量-1个球是浮点1"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>NengLiang_P</Address>

<Offsets>

<Offset>18</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>109</ID>

<Description>"HP当前上限"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>NengLiang_P</Address>

<Offsets>

<Offset>14</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>108</ID>

<Description>"HP"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>NengLiang_P</Address>

<Offsets>

<Offset>10</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>138</ID>

<Description>"HP指针扫描结果"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04383FC0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>18</Offset>

<Offset>20</Offset>

<Offset>B8</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>139</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043BB910</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>140</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438D168</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>18</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>141</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04392510</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>38</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>142</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043D6F00</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>38</Offset>

<Offset>30</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>143</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438F680</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>38</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>144</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0435B2D8</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>48</Offset>

<Offset>20</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>145</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043B7A68</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>48</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>146</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043870F0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>88</Offset>

<Offset>30</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>147</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04353068</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>88</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>148</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438D5E8</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>149</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04383BA0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>100</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>150</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04354850</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>C0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>151</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043BD470</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>152</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0439A960</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>128</Offset>

<Offset>8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>153</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438E6C0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>128</Offset>

<Offset>C8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>154</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043ABD70</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>128</Offset>

<Offset>128</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>155</ID>

<Description>"指针扫描结果"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043D70A0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>178</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>52</ID>

<Description>"无限HP"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-13

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是写精灵HP的指令。该指令是对HP进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_ori2_HP,GameAssembly.dll,89 41 10 33 D2 0F)

registersymbol(aob_ori2_HP) //这里ori2_HP的意思是:奥日2——HP

alloc(newmem_ori2_HP,256,GameAssembly.dll)

label(return_ori2_HP)

//以下人造指针1

alloc(ori2_HP_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(ori2_HP_P) //奥日2——HP的人造指针

//以上人造指针1

//以下临时变量

alloc(ori2_HP_P_xx2,8) //临时变量,存放中转的HP最大值

registersymbol(ori2_HP_P_xx2) //

//以上临时变量

newmem_ori2_HP:

//以下进行人造指针------------------------------------------------

mov [ori2_HP_P],rcx

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//mov eax,(float)90

mov eax,[rcx+14] //rcx+14位置是当前最大HP值(十六进制的),需转为浮点数

cvtsi2ss XMM15,eax //将m32转为32位单浮点数! 放到xmm15的第一位置

//cvtsi2sd XMM15,eax //2ss转为64位?xmm15第一位置清零,第一+第二=128位双浮点数?

//movsd [ori2_HP_P_xx2],xmm15

movss [ori2_HP_P_xx2],xmm15

mov eax,[ori2_HP_P_xx2]

//-------------------------------------------------------------------

//以下为原代码

mov [rcx+10],eax

xor edx,edx

jmp return_ori2_HP

aob_ori2_HP:

jmp newmem_ori2_HP

return_ori2_HP:

[DISABLE]

aob_ori2_HP:

db 89 41 10 33 D2

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+F14304

GameAssembly.dll+F142F6: 74 37 - je GameAssembly.dll+F1432F

GameAssembly.dll+F142F8: 48 8B 48 28 - mov rcx,[rax+28]

GameAssembly.dll+F142FC: 48 85 C9 - test rcx,rcx

GameAssembly.dll+F142FF: 74 28 - je GameAssembly.dll+F14329

GameAssembly.dll+F14301: 8B 43 2C - mov eax,[rbx+2C]

// ---------- INJECTING HERE ----------

GameAssembly.dll+F14304: 89 41 10 - mov [rcx+10],eax

// ---------- DONE INJECTING ----------

GameAssembly.dll+F14307: 33 D2 - xor edx,edx

GameAssembly.dll+F14309: 0F 28 74 24 50 - movaps xmm6,[rsp+50]

GameAssembly.dll+F1430E: 0F 28 7C 24 40 - movaps xmm7,[rsp+40]

GameAssembly.dll+F14313: 48 83 C4 60 - add rsp,60

GameAssembly.dll+F14317: 5B - pop rbx

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>107</ID>

<Description>"能量值当前上限"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>ori2_HP_P</Address>

<Offsets>

<Offset>1C</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>106</ID>

<Description>"能量值"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>ori2_HP_P</Address>

<Offsets>

<Offset>18</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>53</ID>

<Description>"HP当前上限"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>ori2_HP_P</Address>

<Offsets>

<Offset>14</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>22</ID>

<Description>"HP-1个球浮点10,初始30"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>ori2_HP_P</Address>

<Offsets>

<Offset>10</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>216</ID>

<Description>"跳跃第一条指令注销实现连跳"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-20

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是减少跳跃次数指令。该指令是对xxxxxx进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_WuXianLianTiao,GameAssembly.dll,FF 8B 94 00 00 00)

registersymbol(aob_WuXianLianTiao) //这里WuXianLianTiao的意思是:无限连跳

alloc(newmem_WuXianLianTiao,256,GameAssembly.dll)

label(return_WuXianLianTiao)

//以下人造指针1

alloc(WuXianLianTiao_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(WuXianLianTiao_P) //

//以上人造指针1

//以下人造指针2

alloc(WuXianLianTiao_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(WuXianLianTiao_P_xx2) //

//以上人造指针2

newmem_WuXianLianTiao:

//以下进行人造指针------------------------------------------------

mov [WuXianLianTiao_P],rbx

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//-------------------------------------------------------------------

//以下为原代码

//dec [rbx+00000094] //注销掉减一指令

jmp return_WuXianLianTiao

aob_WuXianLianTiao:

jmp newmem_WuXianLianTiao

nop

return_WuXianLianTiao:

[DISABLE]

aob_WuXianLianTiao:

db FF 8B 94 00 00 00

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+9699E1

GameAssembly.dll+9699BE: 0F 84 8F 09 00 00 - je GameAssembly.dll+96A353

GameAssembly.dll+9699C4: 48 8B 48 18 - mov rcx,[rax+18]

GameAssembly.dll+9699C8: 48 85 C9 - test rcx,rcx

GameAssembly.dll+9699CB: 0F 84 7C 09 00 00 - je GameAssembly.dll+96A34D

GameAssembly.dll+9699D1: 45 33 C0 - xor r8d,r8d

GameAssembly.dll+9699D4: F3 0F 10 8B 80 00 00 00 - movss xmm1,[rbx+00000080]

GameAssembly.dll+9699DC: E8 1F C8 7B 00 - call GameAssembly.dll+1126200

// ---------- INJECTING HERE ----------

GameAssembly.dll+9699E1: FF 8B 94 00 00 00 - dec [rbx+00000094]

// ---------- DONE INJECTING ----------

GameAssembly.dll+9699E7: 48 8B 43 58 - mov rax,[rbx+58]

GameAssembly.dll+9699EB: 48 85 C0 - test rax,rax

GameAssembly.dll+9699EE: 0F 84 53 09 00 00 - je GameAssembly.dll+96A347

GameAssembly.dll+9699F4: 48 8B 40 30 - mov rax,[rax+30]

GameAssembly.dll+9699F8: 48 85 C0 - test rax,rax

GameAssembly.dll+9699FB: 0F 84 40 09 00 00 - je GameAssembly.dll+96A341

GameAssembly.dll+969A01: 48 8B 48 50 - mov rcx,[rax+50]

GameAssembly.dll+969A05: 48 85 C9 - test rcx,rcx

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>217</ID>

<Description>"原始连跳次数"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>WuXianLianTiao_P</Address>

<Offsets>

<Offset>94</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>224</ID>

<Description>"跳跃第二指令注销后跳跃次数不再被写入2"</Description>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>[ENABLE]

//注入点位置是写入跳跃次数的第二条指令。该指令判断落地后,写入奥日的可跳跃次数。

aobscanmodule(aob_TiaoYueDiErZhiLing,GameAssembly.dll,FF FF 89 83 94 00 00 00)

registersymbol(aob_TiaoYueDiErZhiLing) //意思是:跳跃第二条指令

alloc(newmem_TiaoYueDiErZhiLing,256,GameAssembly.dll)

label(return_TiaoYueDiErZhiLing)

newmem_TiaoYueDiErZhiLing:

//-------------------------------------------------------------------

//以下为原代码

//mov [rbx+00000094],eax //注销掉本句指令,则原始的2跳跃值不再写入。

jmp return_TiaoYueDiErZhiLing

aob_TiaoYueDiErZhiLing+02:

jmp newmem_TiaoYueDiErZhiLing

nop

return_TiaoYueDiErZhiLing:

[DISABLE]

aob_TiaoYueDiErZhiLing+02:

db 89 83 94 00 00 00

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+96A980

GameAssembly.dll+96A97B: E8 90 E5 FF FF - call GameAssembly.dll+968F10

// ---------- INJECTING HERE ----------

GameAssembly.dll+96A980: 89 83 94 00 00 00 - mov [rbx+00000094],eax

// ---------- DONE INJECTING ----------

GameAssembly.dll+96A986: 48 83 C4 40 - add rsp,40

GameAssembly.dll+96A98A: 5B - pop rbx

GameAssembly.dll+96A98B: C3 - ret

}

</AssemblerScript>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>38</ID>

<Description>"=======Ori2-游戏作弊脚本--用到再开============================"</Description>

<Options moManualExpandCollapse="1"/>

<Color>FF0000</Color>

<GroupHeader>1</GroupHeader>

<CheatEntries>

<CheatEntry>

<ID>297</ID>

<Description>"锁定挑战时间"</Description>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-22

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是锁定挑战时间的指令。该指令是对试炼时候时间进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_LengQueTiaoZhanTime,GameAssembly.dll,F3 0F 11 43 18 0F 2F C1)

registersymbol(aob_LengQueTiaoZhanTime) //这里LengQueTiaoZhanTime是:冷却挑战时间

alloc(newmem_LengQueTiaoZhanTime,256,GameAssembly.dll)

label(return_LengQueTiaoZhanTime)

//以下人造指针1

alloc(LengQueTiaoZhanTime_P_xx1,8) //人造指针8或4字节(64位需要8字节)

registersymbol(LengQueTiaoZhanTime_P_xx1) //

//以上人造指针1

//以下人造指针2

alloc(LengQueTiaoZhanTime_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(LengQueTiaoZhanTime_P_xx2) //

//以上人造指针2

newmem_LengQueTiaoZhanTime:

//以下进行人造指针------------------------------------------------

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//-------------------------------------------------------------------

//以下为原代码

//movss [rbx+18],xmm0

jmp return_LengQueTiaoZhanTime

aob_LengQueTiaoZhanTime:

jmp newmem_LengQueTiaoZhanTime

return_LengQueTiaoZhanTime:

[DISABLE]

aob_LengQueTiaoZhanTime:

db F3 0F 11 43 18

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+9BDF0F

GameAssembly.dll+9BDEFB: F3 0F 10 53 20 - movss xmm2,[rbx+20]

GameAssembly.dll+9BDF00: F3 0F 58 C6 - addss xmm0,xmm6

GameAssembly.dll+9BDF04: 0F 28 CA - movaps xmm1,xmm2

GameAssembly.dll+9BDF07: F3 0F 5C 0D 99 7A F0 02 - subss xmm1,[GameAssembly.dll+38C59A8]

// ---------- INJECTING HERE ----------

GameAssembly.dll+9BDF0F: F3 0F 11 43 18 - movss [rbx+18],xmm0

// ---------- DONE INJECTING ----------

GameAssembly.dll+9BDF14: 0F 2F C1 - comiss xmm0,xmm1

GameAssembly.dll+9BDF17: 73 17 - jae GameAssembly.dll+9BDF30

GameAssembly.dll+9BDF19: F3 0F 5C 15 27 7B F0 02 - subss xmm2,[GameAssembly.dll+38C5A48]

GameAssembly.dll+9BDF21: 0F 2F C2 - comiss xmm0,xmm2

GameAssembly.dll+9BDF24: 72 39 - jb GameAssembly.dll+9BDF5F

}

</AssemblerScript>

</CheatEntry>

<CheatEntry>

<ID>34</ID>

<Description>"无限黄球"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是xxxxxx指令。该指令是对xxxxxx进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_HuangQiuZhiZhen,GameAssembly.dll,8B 40 30 48 83 C4 48 C3 E8 CA)

registersymbol(aob_HuangQiuZhiZhen) //这里HuangQiuZhiZhen的意思是:黄球指针

alloc(newmem_HuangQiuZhiZhen,256,GameAssembly.dll)

label(return_HuangQiuZhiZhen)

//以下人造指针1

alloc(HuangQiuZhiZhen_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(HuangQiuZhiZhen_P) //

//以上人造指针1

//以下人造指针2

alloc(HuangQiuZhiZhen_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(HuangQiuZhiZhen_P_xx2) //

//以上人造指针2

newmem_HuangQiuZhiZhen:

//以下进行人造指针------------------------------------------------

//以上------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

mov [HuangQiuZhiZhen_P],rax

//-------------------------------------------------------------------

//以下为原代码

mov eax,[rax+30]

add rsp,48

jmp return_HuangQiuZhiZhen

aob_HuangQiuZhiZhen:

jmp newmem_HuangQiuZhiZhen

nop 2

return_HuangQiuZhiZhen:

[DISABLE]

aob_HuangQiuZhiZhen:

db 8B 40 30 48 83 C4 48

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+901AB9

GameAssembly.dll+901AAE: 74 23 - je GameAssembly.dll+901AD3

GameAssembly.dll+901AB0: 48 8B 40 18 - mov rax,[rax+18]

GameAssembly.dll+901AB4: 48 85 C0 - test rax,rax

GameAssembly.dll+901AB7: 74 14 - je GameAssembly.dll+901ACD

// ---------- INJECTING HERE ----------

GameAssembly.dll+901AB9: 8B 40 30 - mov eax,[rax+30]

// ---------- DONE INJECTING ----------

GameAssembly.dll+901ABC: 48 83 C4 48 - add rsp,48

GameAssembly.dll+901AC0: C3 - ret

GameAssembly.dll+901AC1: E8 CA C5 96 FF - call GameAssembly.il2cpp_custom_attrs_construct+EE40

GameAssembly.dll+901AC6: CC - int 3

GameAssembly.dll+901AC7: E8 C4 C5 96 FF - call GameAssembly.il2cpp_custom_attrs_construct+EE40

GameAssembly.dll+901ACC: CC - int 3

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>35</ID>

<Description>"黄球经验值"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>HuangQiuZhiZhen_P</Address>

<Offsets>

<Offset>30</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>185</ID>

<Description>"无限氧气--学会潜水前用"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是xxxxxx指令。该指令是对xxxxxx进行查找什么改变这个地址操作得到的。

aobscanmodule(aob_YangQiO2,GameAssembly.dll,F3 0F 11 B3 64 03 00 00)

registersymbol(aob_YangQiO2) //这里YangQiO2的意思是:氧气o2

alloc(newmem_YangQiO2,256,GameAssembly.dll)

label(return_YangQiO2)

//以下人造指针1

alloc(YangQiO2_P_xx1,8) //人造指针8或4字节(64位需要8字节)

registersymbol(YangQiO2_P_xx1) //

//以上人造指针1

//以下人造指针2

alloc(YangQiO2_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(YangQiO2_P_xx2) //

//以上人造指针2

newmem_YangQiO2:

//以下进行人造指针------------------------------------------------

mov [YangQiO2_P_xx1],rbx

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

mov [rbx+00000364],(float)16

//-------------------------------------------------------------------

//以下为原代码

//movss [rbx+00000364],xmm6

jmp return_YangQiO2

aob_YangQiO2:

jmp newmem_YangQiO2

nop 3

return_YangQiO2:

[DISABLE]

aob_YangQiO2:

db F3 0F 11 B3 64 03 00 00

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll.il2cpp+9BA162

GameAssembly.dll.il2cpp+9BA14B: 83 B9 D8 00 00 00 00 - cmp dword ptr [rcx+000000D8],00

GameAssembly.dll.il2cpp+9BA152: 75 05 - jne GameAssembly.dll.il2cpp+9BA159

GameAssembly.dll.il2cpp+9BA154: E8 A7 A9 5B FF - call GameAssembly.dll.text+24CB00

GameAssembly.dll.il2cpp+9BA159: F3 0F 5C F7 - subss xmm6,xmm7

GameAssembly.dll.il2cpp+9BA15D: F3 41 0F 5F F0 - maxss xmm6,xmm8

// ---------- INJECTING HERE ----------

GameAssembly.dll.il2cpp+9BA162: F3 0F 11 B3 64 03 00 00 - movss [rbx+00000364],xmm6

// ---------- DONE INJECTING ----------

GameAssembly.dll.il2cpp+9BA16A: 41 0F 2E F0 - ucomiss xmm6,xmm8

GameAssembly.dll.il2cpp+9BA16E: 0F 8A AF 03 00 00 - jp GameAssembly.dll.il2cpp+9BA523

GameAssembly.dll.il2cpp+9BA174: 0F 85 A9 03 00 00 - jne GameAssembly.dll.il2cpp+9BA523

GameAssembly.dll.il2cpp+9BA17A: 80 BB E8 00 00 00 00 - cmp byte ptr [rbx+000000E8],00

GameAssembly.dll.il2cpp+9BA181: 0F 85 4D 01 00 00 - jne GameAssembly.dll.il2cpp+9BA2D4

GameAssembly.dll.il2cpp+9BA187: F3 0F 10 83 48 03 00 00 - movss xmm0,[rbx+00000348]

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>184</ID>

<Description>"氧气"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YangQiO2_P_xx1</Address>

<Offsets>

<Offset>364</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>201</ID>

<Description>"氧气指针扫描结果"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04368828</Address>

<Offsets>

<Offset>364</Offset>

<Offset>A0</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>B8</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>204</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0437B130</Address>

<Offsets>

<Offset>364</Offset>

<Offset>A0</Offset>

<Offset>28</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>90</ID>

<Description>"无限矿石--此脚本不要写入矿石,否则崩溃"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-17

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是频繁访问矿石的指令。该指令是对xxxxxx进行查找什么改变这个地址操作得到的。

//注意,本脚本仅在与格鲁姆交谈建设项目时候有效。

aobscanmodule(aob_KuangShi,GameAssembly.dll,8B 40 34 48 83 C4 48 C3 E8 3A)

registersymbol(aob_KuangShi) //这里KuangShi的意思是:矿石

alloc(newmem_KuangShi,256,GameAssembly.dll)

label(return_KuangShi)

//以下人造指针1

alloc(KuangShi_P_xx1,8) //人造指针8或4字节(64位需要8字节)

registersymbol(KuangShi_P_xx1) //

//以上人造指针1

//以下人造指针2

alloc(KuangShi_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(KuangShi_P_xx2) //

//以上人造指针2

newmem_KuangShi:

//以下进行人造指针------------------------------------------------

mov [KuangShi_P_xx1],rax

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//-------------------------------------------------------------------

//以下为原代码

mov eax,[rax+34]

add rsp,48

jmp return_KuangShi

aob_KuangShi:

jmp newmem_KuangShi

nop 2

return_KuangShi:

[DISABLE]

aob_KuangShi:

db 8B 40 34 48 83 C4 48

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+901C49

GameAssembly.dll+901C36: E8 05 D3 B2 00 - call GameAssembly.dll+142EF40

GameAssembly.dll+901C3B: 48 85 C0 - test rax,rax

GameAssembly.dll+901C3E: 74 23 - je GameAssembly.dll+901C63

GameAssembly.dll+901C40: 48 8B 40 18 - mov rax,[rax+18]

GameAssembly.dll+901C44: 48 85 C0 - test rax,rax

GameAssembly.dll+901C47: 74 14 - je GameAssembly.dll+901C5D

// ---------- INJECTING HERE ----------

GameAssembly.dll+901C49: 8B 40 34 - mov eax,[rax+34]

// ---------- DONE INJECTING ----------

GameAssembly.dll+901C4C: 48 83 C4 48 - add rsp,48

GameAssembly.dll+901C50: C3 - ret

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>88</ID>

<Description>"矿石"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>KuangShi_P_xx1</Address>

<Offsets>

<Offset>34</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>305</ID>

<Description>"无限开门钥匙碎片"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-24

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是频繁读取开门钥匙碎片地址的指令。本位置是对地址“ 查找什么改写这个地址”得到。

aobscanmodule(aob_KaiMenYaoShiPian,GameAssembly.dll,8B 40 28 48 83 C4 48 C3 E8 8A)

registersymbol(aob_KaiMenYaoShiPian) //KaiMenYaoShiPian ==拼音:开门钥匙片

alloc(newmem_KaiMenYaoShiPian,256,GameAssembly.dll)

label(return_KaiMenYaoShiPian)

label(KaiMenYaoShiPian_YDM) //原始代码

//以下人造指针1

alloc(KaiMenYaoShiPian_P_1,8) //人造指针8或4字节(64位需要8字节)

registersymbol(KaiMenYaoShiPian_P_1) //人造指针,存放??地址

//以上人造指针1

//以下人造指针2

alloc(KaiMenYaoShiPian_P_2,8) //人造指针,存放??地址

registersymbol(KaiMenYaoShiPian_P_2) //

//以上人造指针2

//以下申请内存

alloc(KaiMenYaoShiPian_Mem_1,8) //申请的内存4或8字节,用来存放??值

registersymbol(KaiMenYaoShiPian_Mem_1) //

//以上申请内存

newmem_KaiMenYaoShiPian:

//以下进行人造指针------------------------------------------------

mov [KaiMenYaoShiPian_P_1],rax //开门钥匙碎片指针+28

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//----------------------------------------------------------------

mov [rax+28],#99 //给99个钥匙碎片

//----------------------------------------------------------------

KaiMenYaoShiPian_YDM: //原始代码

//以下为原代码——————————————————————————

mov eax,[rax+28]

add rsp,48

jmp return_KaiMenYaoShiPian

aob_KaiMenYaoShiPian:

jmp newmem_KaiMenYaoShiPian

nop 2

return_KaiMenYaoShiPian:

[DISABLE]

aob_KaiMenYaoShiPian:

db 8B 40 28 48 83 C4 48

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+8F4CF9

GameAssembly.dll+8F4C7D: 48 63 88 C0 00 00 00 - movsxd rcx,dword ptr [rax+000000C0]

GameAssembly.dll+8F4C84: 48 8B 05 E5 E7 AE 03 - mov rax,[GameAssembly.dll+43E3470]

GameAssembly.dll+8F4C8B: 33 D2 - xor edx,edx

GameAssembly.dll+8F4C8D: 48 89 54 24 28 - mov [rsp+28],rdx

GameAssembly.dll+8F4C92: 48 89 54 24 30 - mov [rsp+30],rdx

GameAssembly.dll+8F4C97: 48 89 54 24 38 - mov [rsp+38],rdx

GameAssembly.dll+8F4C9C: 4C 8D 44 24 28 - lea r8,[rsp+28]

GameAssembly.dll+8F4CA1: 8B 94 01 24 ED 06 00 - mov edx,[rcx+rax+0006ED24]

GameAssembly.dll+8F4CA8: 8B 8C 01 20 ED 06 00 - mov ecx,[rcx+rax+0006ED20]

GameAssembly.dll+8F4CAF: E8 8C 62 94 FF - call GameAssembly.il2cpp_class_is_interface+5670

GameAssembly.dll+8F4CB4: 90 - nop

GameAssembly.dll+8F4CB5: 33 C9 - xor ecx,ecx

GameAssembly.dll+8F4CB7: FF 15 0B 52 9F 03 - call qword ptr [GameAssembly.dll+42E9EC8]

GameAssembly.dll+8F4CBD: 90 - nop

GameAssembly.dll+8F4CBE: C6 05 31 1B AF 03 01 - mov byte ptr [GameAssembly.dll+43E67F6],01

GameAssembly.dll+8F4CC5: 48 8B 05 9C 84 A9 03 - mov rax,[GameAssembly.dll+438D168]

GameAssembly.dll+8F4CCC: 48 8B 88 B8 00 00 00 - mov rcx,[rax+000000B8]

GameAssembly.dll+8F4CD3: 48 8B 01 - mov rax,[rcx]

GameAssembly.dll+8F4CD6: 48 85 C0 - test rax,rax

GameAssembly.dll+8F4CD9: 74 2C - je GameAssembly.dll+8F4D07

GameAssembly.dll+8F4CDB: 48 8B 48 18 - mov rcx,[rax+18]

GameAssembly.dll+8F4CDF: 48 85 C9 - test rcx,rcx

GameAssembly.dll+8F4CE2: 74 1D - je GameAssembly.dll+8F4D01

GameAssembly.dll+8F4CE4: 33 D2 - xor edx,edx

GameAssembly.dll+8F4CE6: E8 55 A2 B3 00 - call GameAssembly.dll+142EF40

GameAssembly.dll+8F4CEB: 48 85 C0 - test rax,rax

GameAssembly.dll+8F4CEE: 74 23 - je GameAssembly.dll+8F4D13

GameAssembly.dll+8F4CF0: 48 8B 40 18 - mov rax,[rax+18]

GameAssembly.dll+8F4CF4: 48 85 C0 - test rax,rax

GameAssembly.dll+8F4CF7: 74 14 - je GameAssembly.dll+8F4D0D

// ---------- INJECTING HERE ----------

GameAssembly.dll+8F4CF9: 8B 40 28 - mov eax,[rax+28]

// ---------- DONE INJECTING ----------

GameAssembly.dll+8F4CFC: 48 83 C4 48 - add rsp,48

GameAssembly.dll+8F4D00: C3 - ret

GameAssembly.dll+8F4D01: E8 8A 93 97 FF - call GameAssembly.il2cpp_custom_attrs_construct+EE40

GameAssembly.dll+8F4D06: CC - int 3

GameAssembly.dll+8F4D07: E8 84 93 97 FF - call GameAssembly.il2cpp_custom_attrs_construct+EE40

GameAssembly.dll+8F4D0C: CC - int 3

GameAssembly.dll+8F4D0D: E8 7E 93 97 FF - call GameAssembly.il2cpp_custom_attrs_construct+EE40

GameAssembly.dll+8F4D12: CC - int 3

GameAssembly.dll+8F4D13: E8 78 93 97 FF - call GameAssembly.il2cpp_custom_attrs_construct+EE40

GameAssembly.dll+8F4D18: CC - int 3

GameAssembly.dll+8F4D19: CC - int 3

GameAssembly.dll+8F4D1A: CC - int 3

GameAssembly.dll+8F4D1B: CC - int 3

GameAssembly.dll+8F4D1C: CC - int 3

GameAssembly.dll+8F4D1D: CC - int 3

GameAssembly.dll+8F4D1E: CC - int 3

GameAssembly.dll+8F4D1F: CC - int 3

GameAssembly.dll+8F4D20: 40 53 - push rbx

GameAssembly.dll+8F4D22: 48 83 EC 40 - sub rsp,40

GameAssembly.dll+8F4D26: 48 C7 44 24 20 FE FF FF FF - mov qword ptr [rsp+20],FFFFFFFFFFFFFFFE

GameAssembly.dll+8F4D2F: 8B DA - mov ebx,edx

GameAssembly.dll+8F4D31: 80 3D E6 1A AF 03 00 - cmp byte ptr [GameAssembly.dll+43E681E],00

GameAssembly.dll+8F4D38: 75 4F - jne GameAssembly.dll+8F4D89

GameAssembly.dll+8F4D3A: 48 8B 05 3F E7 AE 03 - mov rax,[GameAssembly.dll+43E3480]

GameAssembly.dll+8F4D41: 48 63 88 C0 00 00 00 - movsxd rcx,dword ptr [rax+000000C0]

GameAssembly.dll+8F4D48: 48 8B 05 21 E7 AE 03 - mov rax,[GameAssembly.dll+43E3470]

GameAssembly.dll+8F4D4F: 33 D2 - xor edx,edx

GameAssembly.dll+8F4D51: 48 89 54 24 28 - mov [rsp+28],rdx

GameAssembly.dll+8F4D56: 48 89 54 24 30 - mov [rsp+30],rdx

GameAssembly.dll+8F4D5B: 48 89 54 24 38 - mov [rsp+38],rdx

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>303</ID>

<Description>"钥匙碎片"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>KaiMenYaoShiPian_P_1</Address>

<Offsets>

<Offset>28</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>293</ID>

<Description>"猫头鹰无限跳--可自定义跳跃次数(初始4连跳)"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-21

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是频繁读取猫头鹰跳跃次数地址的指令。

aobscanmodule(aob_MaoTouYingJump,GameAssembly.dll,FF 89 43 64 48 83 C4 40)

registersymbol(aob_MaoTouYingJump) //这里MaoTouYingJump的意思是:猫头鹰跳

alloc(newmem_MaoTouYingJump,256,GameAssembly.dll)

label(return_MaoTouYingJump)

//以下人造指针1

alloc(MaoTouYingJump_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(MaoTouYingJump_P) //

//以上人造指针1

//以下存放自定义的猫头鹰的跳跃次数

alloc(MaoTouYingJump_CiShu,4) //猫头鹰跳次数

registersymbol(MaoTouYingJump_CiShu) //

//以上

newmem_MaoTouYingJump:

//以下进行人造指针------------------------------------------------

mov [MaoTouYingJump_P],rbx

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

cmp [MaoTouYingJump_CiShu],0 //比较存放跳跃次数的内存是否0

jnz MaoTouYingJump_YDM //不为0,则跳到原代码执行

mov [MaoTouYingJump_CiShu],3 //为0,则将4连跳写入地址.用户可以在CT表中手动改

MaoTouYingJump_YDM:

mov eax,[MaoTouYingJump_CiShu] //存放跳跃次数的内存不为0,说明有用户手工改写的次数

//-------------------------------------------------------------------

//以下为原代码

mov [rbx+64],eax

add rsp,40

jmp return_MaoTouYingJump

aob_MaoTouYingJump+01:

jmp newmem_MaoTouYingJump

nop 2

return_MaoTouYingJump:

[DISABLE]

aob_MaoTouYingJump+01:

db 89 43 64 48 83 C4 40

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+AE5090

GameAssembly.dll+AE5089: 33 C9 - xor ecx,ecx

GameAssembly.dll+AE508B: E8 80 3E E8 FF - call GameAssembly.dll+968F10

// ---------- INJECTING HERE ----------

GameAssembly.dll+AE5090: 89 43 64 - mov [rbx+64],eax

// ---------- DONE INJECTING ----------

GameAssembly.dll+AE5093: 48 83 C4 40 - add rsp,40

GameAssembly.dll+AE5097: 5B - pop rbx

GameAssembly.dll+AE5098: C3 - ret

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>294</ID>

<Description>"跳越次数-初始4,可手工改"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>MaoTouYingJump_CiShu</Address>

</CheatEntry>

<CheatEntry>

<ID>292</ID>

<Description>"原始跳跃次数"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>MaoTouYingJump_P</Address>

<Offsets>

<Offset>64</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>69</ID>

<Description>"=======Ori2-游戏作弊脚本可全开================================"</Description>

<Options moManualExpandCollapse="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>

<Color>0000FF</Color>

<GroupHeader>1</GroupHeader>

<CheatEntries>

<CheatEntry>

<ID>161</ID>

<Description>"无限HP(小20则加)+无限能量(小3则加)"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-19

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是唯一的频繁读HP地址的指令。

aobscanmodule(aob_PinFanDuHP,GameAssembly.dll,8B 40 10 89 43 2C C6)

registersymbol(aob_PinFanDuHP) //这里PinFanDuHP的意思是:频繁读HP

alloc(newmem_PinFanDuHP,256,GameAssembly.dll)

label(return_PinFanDuHP)

//以下人造指针1

alloc(PinFanDuHP_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(PinFanDuHP_P) //频繁读HP

//以上人造指针1

label(return_PinFanDuHP_YDM) //频繁读HP_原始代码

label(return_PinFanDuHP_NengLiang) //频繁读HP_能量,判断能量是否应该增加

//以下人造指针2

alloc(PinFanDuHP_P_temp,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(PinFanDuHP_P_temp) //

//以上人造指针2

newmem_PinFanDuHP:

//以下进行人造指针------------------------------------------------

mov [PinFanDuHP_P],rax

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

cmp [rax+10],(float)20 //奥日HP的值和20比较

//HP大于或等于20跳转到:return_PinFanDuHP_YDM: //原代码

jae return_PinFanDuHP_NengLiang //跳到判断能量是否该增加标签

//小于20则执行以下指令,给HP加到当前最大值

push rdx //保护edx,因要用edx中转(因为mov不能内存到内存)。

mov edx,[rax+14] //rax+14存放HP最大值,但是是4字节值,须转为浮点数

cvtsi2ss XMM15,edx //将m32转为32位单浮点数! 放到xmm15的第一位置

movss [PinFanDuHP_P_temp],xmm15 //将浮点数存入内存地址中转

mov edx,[PinFanDuHP_P_temp] //将中转内存地址值用edx中转

mov [rax+10],edx

pop rdx

//-------------------------------------------------------------------

return_PinFanDuHP_NengLiang:

cmp [rax+18],(float)3 //奥日能量值和3比较,也就是3个绿球

//大于或等于3个球跳转到:return_PinFanDuHP_YDM: //原代码

jae return_PinFanDuHP_YDM //原代码

//小于3则执行以下指令,给能量值加到当前最大值

//mov [rbx+10],(float)100 //下面的语句其实简单就这一句

push rdx //保护edx,因要用edx中转(因为mov不能内存到内存)。

mov edx,[rax+1C] //rax+1C存放能量最大值

mov [rax+18],edx

pop rdx

return_PinFanDuHP_YDM: //原代码

//-------------------------------------------------------------------

//以下为原代码

mov eax,[rax+10]

mov [rbx+2C],eax

jmp return_PinFanDuHP

aob_PinFanDuHP:

jmp newmem_PinFanDuHP

nop

return_PinFanDuHP:

[DISABLE]

aob_PinFanDuHP:

db 8B 40 10 89 43 2C

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+F141D5

GameAssembly.dll+F141BE: 74 2A - je GameAssembly.dll+F141EA

GameAssembly.dll+F141C0: 33 D2 - xor edx,edx

GameAssembly.dll+F141C2: E8 79 AD 51 00 - call GameAssembly.dll+142EF40

GameAssembly.dll+F141C7: 48 85 C0 - test rax,rax

GameAssembly.dll+F141CA: 74 30 - je GameAssembly.dll+F141FC

GameAssembly.dll+F141CC: 48 8B 40 28 - mov rax,[rax+28]

GameAssembly.dll+F141D0: 48 85 C0 - test rax,rax

GameAssembly.dll+F141D3: 74 21 - je GameAssembly.dll+F141F6

// ---------- INJECTING HERE ----------

GameAssembly.dll+F141D5: 8B 40 10 - mov eax,[rax+10]

// ---------- DONE INJECTING ----------

GameAssembly.dll+F141D8: 89 43 2C - mov [rbx+2C],eax

GameAssembly.dll+F141DB: C6 43 28 00 - mov byte ptr [rbx+28],00

GameAssembly.dll+F141DF: F3 0F 10 43 2C - movss xmm0,[rbx+2C]

GameAssembly.dll+F141E4: 48 83 C4 40 - add rsp,40

GameAssembly.dll+F141E8: 5B - pop rbx

GameAssembly.dll+F141E9: C3 - ret

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>162</ID>

<Description>"能量当前上限"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>PinFanDuHP_P</Address>

<Offsets>

<Offset>1C</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>163</ID>

<Description>"能量-1个球是浮点1"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>PinFanDuHP_P</Address>

<Offsets>

<Offset>18</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>164</ID>

<Description>"HP当前上限"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>PinFanDuHP_P</Address>

<Offsets>

<Offset>14</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>165</ID>

<Description>"HP-1个球是浮点10"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>PinFanDuHP_P</Address>

<Offsets>

<Offset>10</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>166</ID>

<Description>"HP指针扫描结果"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04383FC0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>18</Offset>

<Offset>20</Offset>

<Offset>B8</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>167</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043BB910</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>168</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438D168</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>18</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>169</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04392510</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>38</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>170</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043D6F00</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>38</Offset>

<Offset>30</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>171</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438F680</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>38</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>172</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0435B2D8</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>48</Offset>

<Offset>20</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>173</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043B7A68</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>48</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>174</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043870F0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>88</Offset>

<Offset>30</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>175</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04353068</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>88</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>176</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438D5E8</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>177</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04383BA0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>100</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>178</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+04354850</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>C0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>179</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043BD470</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>D8</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>180</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0439A960</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>128</Offset>

<Offset>8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>181</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+0438E6C0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>128</Offset>

<Offset>C8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>182</ID>

<Description>"指针扫描结果"</Description>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043ABD70</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>128</Offset>

<Offset>128</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>183</ID>

<Description>"指针扫描结果"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>"GameAssembly.dll"+043D70A0</Address>

<Offsets>

<Offset>10</Offset>

<Offset>28</Offset>

<Offset>30</Offset>

<Offset>178</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>126</ID>

<Description>"一击必杀!"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe// Exe文件版本: 2018.4.11.45208

// Author : laoz

// Script Date : 2022-05-14

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

{注入点位置:找到敌人HP地址,对该地址找“ 什么写入这个地址”,找到:

GameAssembly.dll+B612E0 - F3 0F11 73 28 - movss [rbx+28],xmm6

这句指令后面就是pop和ret指令,因此步出到上一层如下:

《一》GameAssembly.dll+B63FEA - F3 0F5C CA - subss xmm1,xmm2

《二》GameAssembly.dll+B63FEE - 4C 8B 80 80020000 - mov r8,[rax+00000280]

《三》GameAssembly.dll+B63FF5 - 48 8B CF - mov rcx,rdi

《四》GameAssembly.dll+B63FF8 - FF 90 78020000 - call qword ptr [rax+00000278]

《五》GameAssembly.dll+B63FFE - 4C 8B 77 48 - mov r14,[rdi+48]

步出返回的是《五》这句。而写敌HP指令在《四》这个call中。

向上看《一》这句指令,明显是减操作。且xmm1是敌HP值,xmm2是攻击值。

因此本脚本从《一》指令进行注入。

}

aobscanmodule(aob_YiJiBiShaA,GameAssembly.dll,F3 0F 5C CA 4C 8B 80 80 02 00 00)

registersymbol(aob_YiJiBiShaA) //YiJiBiShaA是:一击必杀

alloc(newmem_YiJiBiShaA,256,GameAssembly.dll)

label(return_YiJiBiShaA)

//以下为攻击方式判断标志位-1脚本大值99999攻击,0为0攻击,-1为原始攻击值

alloc(YiJiBiShaA_P_BiaoZhi,8) //选择攻击方式判断标志位

registersymbol(YiJiBiShaA_P_BiaoZhi) //

//以上为攻击方式判断标志位

label(YiJiBiShaA_Zheng1) //正1,代表设置攻击值99999

label(YiJiBiShaA_Fu1) //负1,代表设置攻击值为原值

label(YiJiBiShaA_0) //0, 代表设置攻击值0。可用于观察敌HP情况。

label(YiJiBiShaA_YuanDaiMa)//原始代码

//以下临时空间

alloc(YiJiBiShaA_temp,4) //人造指针8或4字节(64位需要8字节)

registersymbol(YiJiBiShaA_temp) //

//以上临时空间

//以下人造指针2

alloc(YiJiBiShaA_P_xx2,4) //人造指针,存实际攻击值

registersymbol(YiJiBiShaA_P_xx2) //

//以上人造指针2

//以下人造指针3

alloc(YiJiBiShaA_P_xx3,8) //人造指针,敌人的HP

registersymbol(YiJiBiShaA_P_xx3) //

//以上人造指针3

YiJiBiShaA_P_BiaoZhi: //运行脚本先将攻击模式初始设定为1,暨使用99999攻击值

db 1

YiJiBiShaA_temp: //运行脚本先将攻击值初始设定为99999

db 80 4F C3 47 //浮点99999的十六进制表示为:47C34F80,写入内存须倒序

newmem_YiJiBiShaA:

//以下进行人造指针------------------------------------------------

movss [YiJiBiShaA_P_xx2],xmm2 //实际的攻击值

mov [YiJiBiShaA_P_xx3],rdi //rdi+28为敌HP地址

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

push r14 //内存中转使用此r14寄存器,先保护。例如:不能直接从寄存器到浮点寄存器。

cmp byte ptr [YiJiBiShaA_P_BiaoZhi],0 //判断攻击方式是否为0

je YiJiBiShaA_0 //则跳到下面进行攻击方式0

cmp byte ptr [YiJiBiShaA_P_BiaoZhi],1 //判断攻击方式是否为1

je YiJiBiShaA_Zheng1 //则跳到下面进行攻击方式1

cmp byte ptr [YiJiBiShaA_P_BiaoZhi],-1 //判断攻击方式是否为-1

je YiJiBiShaA_Fu1 //则跳到下面进行攻击方式-1

//--------攻击方式1:脚本赋大值99999攻击

YiJiBiShaA_Zheng1: //正1,将要初始设置攻击值99999

//mov r14,(float)99999 //攻击值99999放到r14

//mov [YiJiBiShaA_temp],r14 //从r14中转到临时地址,这个可做为巨大攻击值指针

pop r14

movss xmm2,[YiJiBiShaA_temp]//从临时地址到xmm2

jmp YiJiBiShaA_YuanDaiMa

//--------攻击方式0:攻击值设置为0

YiJiBiShaA_0://0,代表将要设置攻击值0。

mov r14,(float)0 //攻击值0放到r14

mov [YiJiBiShaA_temp],r14 //从r14中转到临时地址,这个可做为巨大攻击值指针

pop r14

movss xmm2,[YiJiBiShaA_temp]//从临时地址到xmm2

jmp YiJiBiShaA_YuanDaiMa

//--------攻击方式-1:用游戏原始攻击值

YiJiBiShaA_Fu1://负1,代表设置攻击值为原值

pop r14

jmp YiJiBiShaA_YuanDaiMa

YiJiBiShaA_YuanDaiMa:

//以下为原代码

subss xmm1,xmm2

mov r8,[rax+00000280]

jmp return_YiJiBiShaA

aob_YiJiBiShaA:

jmp newmem_YiJiBiShaA

nop 6

return_YiJiBiShaA:

[DISABLE]

aob_YiJiBiShaA:

db F3 0F 5C CA 4C 8B 80 80 02 00 00

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+B63FEA

GameAssembly.dll+B63FDE: 48 8B 07 - mov rax,[rdi]

GameAssembly.dll+B63FE1: F3 0F 10 4F 28 - movss xmm1,[rdi+28]

GameAssembly.dll+B63FE6: 0F C6 D2 AA - shufps xmm2,xmm2,-56

// ---------- INJECTING HERE ----------

GameAssembly.dll+B63FEA: F3 0F 5C CA - subss xmm1,xmm2

// ---------- DONE INJECTING ----------

GameAssembly.dll+B63FEE: 4C 8B 80 80 02 00 00 - mov r8,[rax+00000280]

GameAssembly.dll+B63FF5: 48 8B CF - mov rcx,rdi

GameAssembly.dll+B63FF8: FF 90 78 02 00 00 - call qword ptr [rax+00000278]

GameAssembly.dll+B63FFE: 4C 8B 77 48 - mov r14,[rdi+48]

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>96</ID>

<Description>"标志:-1原始攻击,0为0攻击,1脚本攻击"</Description>

<DropDownList ReadOnly="1" DescriptionOnly="1">1:攻击值设99999(可在下面手改)

0:攻击值设为0

-1:游戏原始攻击值

</DropDownList>

<ShowAsSigned>1</ShowAsSigned>

<VariableType>Byte</VariableType>

<Address>YiJiBiShaA_P_BiaoZhi</Address>

</CheatEntry>

<CheatEntry>

<ID>103</ID>

<Description>"攻击值设99999(可手改)"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YiJiBiShaA_temp</Address>

</CheatEntry>

<CheatEntry>

<ID>104</ID>

<Description>"实际攻击值"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YiJiBiShaA_P_xx2</Address>

</CheatEntry>

<CheatEntry>

<ID>124</ID>

<Description>"敌当前HP"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>Float</VariableType>

<Address>YiJiBiShaA_P_xx3</Address>

<Offsets>

<Offset>28</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>290</ID>

<Description>"单箭速射!不占装备核心栏位"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-21

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是xxxxxx指令。

aobscanmodule(aob_ZhuangBeiHeXin,GameAssembly.dll,89 51 1C 48 8B D9)

registersymbol(aob_ZhuangBeiHeXin) //这里ZhuangBeiHeXin的意思是:装备核心

alloc(newmem_ZhuangBeiHeXin,256,GameAssembly.dll)

label(return_ZhuangBeiHeXin)

//以下人造指针1

alloc(ZhuangBeiHeXin_P_xx1,8) //人造指针8或4字节(64位需要8字节)

registersymbol(ZhuangBeiHeXin_P_xx1) //

//以上人造指针1

label(ZhuangBeiHeXin_YDM)

//以下人造指针2

alloc(ZhuangBeiHeXin_P_xx2,8) //人造指针,xx2可自己修改为HP或子弹等

registersymbol(ZhuangBeiHeXin_P_xx2) //

//以上人造指针2

newmem_ZhuangBeiHeXin:

//以下进行人造指针------------------------------------------------

cmp [rcx+1C+24],0D

jne ZhuangBeiHeXin_YDM

mov [ZhuangBeiHeXin_P_xx1],rcx

mov edx,A //游戏共有8个栏位,但是设置为第10个栏位也起作用,哈哈

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

ZhuangBeiHeXin_YDM:

//-------------------------------------------------------------------

//以下为原代码

mov [rcx+1C],edx

mov rbx,rcx

jmp return_ZhuangBeiHeXin

aob_ZhuangBeiHeXin:

jmp newmem_ZhuangBeiHeXin

nop

return_ZhuangBeiHeXin:

[DISABLE]

aob_ZhuangBeiHeXin:

db 89 51 1C 48 8B D9

unregistersymbol(*)

dealloc(*)

{

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+143A1A6

GameAssembly.dll+143A1A0: 40 53 - push rbx

GameAssembly.dll+143A1A2: 48 83 EC 20 - sub rsp,20

// ---------- INJECTING HERE ----------

GameAssembly.dll+143A1A6: 89 51 1C - mov [rcx+1C],edx

// ---------- DONE INJECTING ----------

GameAssembly.dll+143A1A9: 48 8B D9 - mov rbx,rcx

GameAssembly.dll+143A1AC: 33 D2 - xor edx,edx

GameAssembly.dll+143A1AE: E8 AD 00 00 00 - call GameAssembly.dll+143A260

GameAssembly.dll+143A1B3: 33 D2 - xor edx,edx

GameAssembly.dll+143A1B5: 48 8B CB - mov rcx,rbx

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>289</ID>

<Description>"说明:按照或者卸载速射一次,即可配备速射且不占用核心栏位"</Description>

<Color>FF8000</Color>

<GroupHeader>1</GroupHeader>

</CheatEntry>

<CheatEntry>

<ID>276</ID>

<Description>"装或卸一次速射,可速射且不占栏位"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<Color>FF8000</Color>

<VariableType>4 Bytes</VariableType>

<Address>ZhuangBeiHeXin_P_xx1</Address>

<Offsets>

<Offset>1C</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>278</ID>

<Description>"单箭速射标志指针扫描结果"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B27A0</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>78</Offset>

<Offset>20</Offset>

<Offset>28</Offset>

<Offset>48</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>279</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B27A0</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>108</Offset>

<Offset>28</Offset>

<Offset>28</Offset>

<Offset>48</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>280</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B27A0</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>198</Offset>

<Offset>30</Offset>

<Offset>28</Offset>

<Offset>48</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>281</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>40</Offset>

<Offset>50</Offset>

<Offset>A8</Offset>

<Offset>8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>282</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>10</Offset>

<Offset>48</Offset>

<Offset>A8</Offset>

<Offset>8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>283</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>40</Offset>

<Offset>50</Offset>

<Offset>A8</Offset>

<Offset>10</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>284</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>10</Offset>

<Offset>48</Offset>

<Offset>A8</Offset>

<Offset>10</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>285</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>40</Offset>

<Offset>50</Offset>

<Offset>A8</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>286</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>10</Offset>

<Offset>48</Offset>

<Offset>A8</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>287</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>40</Offset>

<Offset>50</Offset>

<Offset>A8</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>288</ID>

<Description>"指针扫描结果"</Description>

<ShowAsHex>1</ShowAsHex>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>1C</Offset>

<Offset>30</Offset>

<Offset>10</Offset>

<Offset>48</Offset>

<Offset>A8</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>222</ID>

<Description>"五箭弓速射"</Description>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-20

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

//注入点位置是类似搜索超级连续跳找到地址,然后找到指令。

aobscanmodule(aob_GongJianSuShe,GameAssembly.dll,83 78 1C FF 0F 95 C0 48 83 C4 40)

registersymbol(aob_GongJianSuShe) //这里GongJianSuShe的意思是:弓箭速射

alloc(newmem_GongJianSuShe,256,GameAssembly.dll)

label(return_GongJianSuShe)

newmem_GongJianSuShe:

//以下进行人造指针------------------------------------------------

//以上进行人造指针------------------------------------------------

//下面放置新增代码

//-------------------------------------------------------------------

//-------------------------------------------------------------------

//以下为原代码

//cmp dword ptr [rax+1C],-01 //注销掉实现速射

setne al

jmp return_GongJianSuShe

aob_GongJianSuShe:

jmp newmem_GongJianSuShe

nop 2

return_GongJianSuShe:

[DISABLE]

aob_GongJianSuShe:

db 83 78 1C FF 0F 95 C0

unregistersymbol(*)

dealloc(*)

</AssemblerScript>

</CheatEntry>

</CheatEntries>

</CheatEntry>

<CheatEntry>

<ID>255</ID>

<Description>"奥日无限跳--可自定义跳跃次数(初始4连跳)"</Description>

<Options moManualExpandCollapse="1"/>

<VariableType>Auto Assembler Script</VariableType>

<AssemblerScript>// Game Exe文件名 : oriandthewillofthewisps-pc.exe

// Author : laoz

// Exe 文件版本 : 2018.4.11.45208

// Module Version :

// Script Date : 2022-05-20

// Created with : customAOBInjectionTemplates version: 1.3.9

[ENABLE]

////=========================写入跳跃次数的第二条指令=========================

//注入点位置是写入跳跃次数的第二条指令。该指令判断落地后,写入奥日的可跳跃次数。

aobscanmodule(aob_TiaoYueDiErZhiLing,GameAssembly.dll,FF FF 89 83 94 00 00 00)

registersymbol(aob_TiaoYueDiErZhiLing) //意思是:跳跃第二条指令

alloc(newmem_TiaoYueDiErZhiLing,256,GameAssembly.dll)

label(return_TiaoYueDiErZhiLing)

//以下人造指针1

alloc(TiaoYueDiErZhiLing_P,8) //人造指针8或4字节(64位需要8字节)

registersymbol(TiaoYueDiErZhiLing_P) //

//以上人造指针1

//以下存放玩家指定的跳跃次数

alloc(TiaoYueDiErZhiLing_JumpCiShu,4) //跳跃次数

registersymbol(TiaoYueDiErZhiLing_JumpCiShu) //跳跃次数

//以上

label(TiaoYueDiErZhiLing_YDM) //原代码

newmem_TiaoYueDiErZhiLing:

//以下进行人造指针------------------------------------------------

mov [TiaoYueDiErZhiLing_P],rbx

//以上进行人造指针------------------------------------------------

//-------------------------------------------------------------------

//这里4连跳,比游戏多1跳!

cmp [TiaoYueDiErZhiLing_JumpCiShu],0 //比较存放我的跳跃次数的地址是否内容为0

jnz TiaoYueDiErZhiLing_YDM //不为0,则跳到原代码执行

mov [TiaoYueDiErZhiLing_JumpCiShu],3 //为0,则将4连跳写入地址.用户可以在CT表中手动改

//-------------------------------------------------------------------

TiaoYueDiErZhiLing_YDM:

mov eax,[TiaoYueDiErZhiLing_JumpCiShu]

//-------------------------------------------------------------------

//以下为原代码

mov [rbx+00000094],eax

jmp return_TiaoYueDiErZhiLing

aob_TiaoYueDiErZhiLing+02:

jmp newmem_TiaoYueDiErZhiLing

nop

return_TiaoYueDiErZhiLing:

[DISABLE]

aob_TiaoYueDiErZhiLing+02:

db 89 83 94 00 00 00

unregistersymbol(*)

dealloc(*)

{// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+96A980

GameAssembly.dll+96A97B: E8 90 E5 FF FF - call GameAssembly.dll+968F10

// ---------- INJECTING HERE ----------

GameAssembly.dll+96A980: 89 83 94 00 00 00 - mov [rbx+00000094],eax

// ---------- DONE INJECTING ----------

GameAssembly.dll+96A986: 48 83 C4 40 - add rsp,40

GameAssembly.dll+96A98A: 5B - pop rbx

GameAssembly.dll+96A98B: C3 - ret

}

</AssemblerScript>

<CheatEntries>

<CheatEntry>

<ID>252</ID>

<Description>"跳跃次数-初始4,可手工改"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>TiaoYueDiErZhiLing_JumpCiShu</Address>

</CheatEntry>

<CheatEntry>

<ID>253</ID>

<Description>"原始连跳次数"</Description>

<ShowAsSigned>0</ShowAsSigned>

<VariableType>4 Bytes</VariableType>

<Address>TiaoYueDiErZhiLing_P</Address>

<Offsets>

<Offset>94</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>256</ID>

<Description>"连跳次数指针扫描结果"</Description>

<Options moAlwaysHideChildren="1" moManualExpandCollapse="1"/>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>10</Offset>

<Offset>B8</Offset>

</Offsets>

<CheatEntries>

<CheatEntry>

<ID>257</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>258</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>259</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>260</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+0435C8E0</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>18</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>261</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043613B8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>10</Offset>

<Offset>B8</Offset>

<Offset>40</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>263</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+0437B130</Address>

<Offsets>

<Offset>94</Offset>

<Offset>20</Offset>

<Offset>108</Offset>

<Offset>168</Offset>

<Offset>38</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>264</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+04382168</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>265</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+04386530</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>E8</Offset>

<Offset>0</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>266</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043876F0</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

<Offset>18</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>267</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+04387D00</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>68</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>268</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043A2930</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>68</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>269</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043A2930</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>270</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>78</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>271</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043B40C8</Address>

<Offsets>

<Offset>94</Offset>

<Offset>20</Offset>

<Offset>108</Offset>

<Offset>68</Offset>

<Offset>118</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>272</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043C8460</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>50</Offset>

<Offset>B8</Offset>

<Offset>68</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>273</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043C8460</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

<Offset>18</Offset>

</Offsets>

</CheatEntry>

<CheatEntry>

<ID>274</ID>

<Description>"指针扫描结果"</Description>

<VariableType>4 Bytes</VariableType>

<Address>"GameAssembly.dll"+043C8460</Address>

<Offsets>

<Offset>94</Offset>

<Offset>18</Offset>

<Offset>10</Offset>

<Offset>20</Offset>

<Offset>48</Offset>

<Offset>B8</Offset>

<Offset>B8</Offset>

</Offsets>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

</CheatEntry>

</CheatEntries>

<UserdefinedSymbols/>

<DisassemblerComments>

<DisassemblerComment>

<Address>"GameAssembly.dll"+96902F</Address>

<Comment>2到eax

</Comment>

</DisassemblerComment>

<DisassemblerComment>

<Address>"GameAssembly.dll"+96A5DE</Address>

<Comment>rax赋值2

</Comment>

</DisassemblerComment>

<DisassemblerComment>

<Address>"GameAssembly.dll"+9706A0</Address>

<Comment>哈哈哈

</Comment>

</DisassemblerComment>

</DisassemblerComments>

</CheatTable>

}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

(责任编辑:蚂蚁团队)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容