Arts Change checker cancel
If Arts who don't know, it will be disabled set FFFFFFF
Arts change this code must Enable
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>302</ID>
<Description>"Arts Change checker cancel"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : SaGaEmeraldBeyond
Version:
Date : 2024-05-06
Author : user
This script does blah blah blah
}
[ENABLE]
aobscanmodule(arts_protect,GameAssembly.dll,41 C7 04 06 FF FF FF FF 3B 5F 18 0F 83 81) // should be unique
alloc(newmem,$1000,arts_protect)
label(code)
label(return)
newmem:
code:
nop
jmp return
arts_protect:
jmp newmem
nop 3
return:
registersymbol(arts_protect)
[DISABLE]
arts_protect:
db 41 C7 04 06 FF FF FF FF
unregistersymbol(arts_protect)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+34B6D0
GameAssembly.dll+34B6A7: 83 B9 E0 00 00 00 00 - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+34B6AE: 75 05 - jne GameAssembly.dll+34B6B5
GameAssembly.dll+34B6B0: E8 9B FA F3 FF - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+34B6B5: 83 FB 08 - cmp ebx,08
GameAssembly.dll+34B6B8: 7D 1E - jnl GameAssembly.dll+34B6D8
GameAssembly.dll+34B6BA: 48 8B 45 38 - mov rax,[rbp+38]
GameAssembly.dll+34B6BE: 48 85 C0 - test rax,rax
GameAssembly.dll+34B6C1: 0F 84 95 00 00 00 - je GameAssembly.dll+34B75C
GameAssembly.dll+34B6C7: 3B 58 18 - cmp ebx,[rax+18]
GameAssembly.dll+34B6CA: 0F 83 92 00 00 00 - jae GameAssembly.dll+34B762
// ---------- INJECTING HERE ----------
GameAssembly.dll+34B6D0: 41 C7 04 06 FF FF FF FF - mov [r14+rax],FFFFFFFF
// ---------- DONE INJECTING ----------
GameAssembly.dll+34B6D8: 3B 5F 18 - cmp ebx,[rdi+18]
GameAssembly.dll+34B6DB: 0F 83 81 00 00 00 - jae GameAssembly.dll+34B762
GameAssembly.dll+34B6E1: 48 8B 0D 80 82 A3 02 - mov rcx,[GameAssembly.dll+2D83968]
GameAssembly.dll+34B6E8: 41 8B 34 3E - mov esi,[r14+rdi]
GameAssembly.dll+34B6EC: 83 B9 E0 00 00 00 00 - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+34B6F3: 75 05 - jne GameAssembly.dll+34B6FA
GameAssembly.dll+34B6F5: E8 56 FA F3 FF - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+34B6FA: 45 33 C0 - xor r8d,r8d
GameAssembly.dll+34B6FD: 8B D6 - mov edx,esi
GameAssembly.dll+34B6FF: 48 8B CD - mov rcx,rbp
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Select Character Arts List
Set Arts is can monster arts be human race and other
but force set arts change in game select freeze
Some one Check Arts List
tired list up
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>303</ID>
<Description>"Select Character Arts List"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : SaGaEmeraldBeyond
Version:
Date : 2024-05-06
Author : user
This script does blah blah blah
}
[ENABLE]
aobscanmodule(select_character_arts_list,GameAssembly.dll,8B 44 81 20 48 83 C4 28 C3 E8 04) // should be unique
alloc(newmem,$1000,select_character_arts_list)
label(code)
label(return)
label(Artslistpointer)
newmem:
code:
mov [Artslistpointer],rcx
mov eax,[rcx+rax*4+20]
add rsp,28
jmp return
Artslistpointer:
dq 0
select_character_arts_list:
jmp newmem
nop 3
return:
registersymbol(select_character_arts_list)
registersymbol(Artslistpointer)
[DISABLE]
select_character_arts_list:
db 8B 44 81 20 48 83 C4 28
unregistersymbol(select_character_arts_list)
unregistersymbol(Artslistpointer)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+36D99E
BattleCharacterInfo.GetArts: 48 83 EC 28 - sub rsp,28
GameAssembly.dll+36D984: 48 8B 49 10 - mov rcx,[rcx+10]
GameAssembly.dll+36D988: 48 85 C9 - test rcx,rcx
GameAssembly.dll+36D98B: 74 1A - je GameAssembly.dll+36D9A7
GameAssembly.dll+36D98D: 48 8B 49 38 - mov rcx,[rcx+38]
GameAssembly.dll+36D991: 48 85 C9 - test rcx,rcx
GameAssembly.dll+36D994: 74 11 - je GameAssembly.dll+36D9A7
GameAssembly.dll+36D996: 3B 51 18 - cmp edx,[rcx+18]
GameAssembly.dll+36D999: 73 12 - jae GameAssembly.dll+36D9AD
GameAssembly.dll+36D99B: 48 63 C2 - movsxd rax,edx
// ---------- INJECTING HERE ----------
GameAssembly.dll+36D99E: 8B 44 81 20 - mov eax,[rcx+rax*4+20]
// ---------- DONE INJECTING ----------
GameAssembly.dll+36D9A2: 48 83 C4 28 - add rsp,28
GameAssembly.dll+36D9A6: C3 - ret
GameAssembly.dll+36D9A7: E8 04 D7 F1 FF - call GameAssembly.mono_method_get_class+80
GameAssembly.dll+36D9AC: CC - int 3
GameAssembly.dll+36D9AD: E8 EE D6 F1 FF - call GameAssembly.mono_method_get_class+70
GameAssembly.dll+36D9B2: CC - int 3
GameAssembly.dll+36D9B3: CC - int 3
GameAssembly.dll+36D9B4: CC - int 3
GameAssembly.dll+36D9B5: CC - int 3
GameAssembly.dll+36D9B6: CC - int 3
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>304</ID>
<Description>"List"</Description>
<Options moAlwaysHideChildren="1" moManualExpandCollapse="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
<CheatEntries>
<CheatEntry>
<ID>310</ID>
<Description>"Arts1"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>20</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>309</ID>
<Description>"Arts2"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>24</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>308</ID>
<Description>"Arts3"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>28</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>307</ID>
<Description>"Arts4"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>2c</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>306</ID>
<Description>"Arts5"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>30</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>305</ID>
<Description>"Arts6"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>Artslistpointer</Address>
<Offsets>
<Offset>34</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>