Re: [Request] Tales of Arise
Posted: Sun Sep 12, 2021 5:23 pm
Thank you so much! I was able to make something using this. It's pretty buggy but it's getting the job done.chipmunk12 wrote: ↑Sun Sep 12, 2021 5:01 amFound it, The offset before the ability, about -8, is actually a pointers to skill table. You'll have to disect that part and found the pointers. Edit them to get the skills.zachillios wrote: ↑Sat Sep 11, 2021 7:19 pmSo I tried to make an accessory editor, and I found the EXP for it, and found what I think are abilities, but I've got no clue how to properly edit them. So if any of you that are smarter than I want to take a whirl, feel free:Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>6</ID> <Description>"Auto Assemble script"</Description> <Options moHideChildren="1"/> <LastState Activated="1"/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : Tales of Arise.exe Version: Date : 2021-09-11 Author : zachw This script does blah blah blah } [ENABLE] aobscanmodule(ACC_EDIT,Tales of Arise.exe,44 8B 42 08 48 8D 4C 24 48 48 8B 12 44 8B 4C 24 54 E8 C9) // should be unique alloc(newmem,$1000,ACC_EDIT) globalalloc(ACCEDIT,4) label(code) label(return) newmem: push rax lea rax,[rdx+08] mov [ACCEDIT],rax pop rax code: mov r8d,[rdx+08] lea rcx,[rsp+48] jmp return ACC_EDIT: jmp newmem nop 4 return: registersymbol(ACC_EDIT) [DISABLE] ACC_EDIT: db 44 8B 42 08 48 8D 4C 24 48 unregistersymbol(ACC_EDIT) dealloc(newmem) dealloc(ACCEDIT) { // ORIGINAL CODE - INJECTION POINT: Tales of Arise.exe+CE11F1 Tales of Arise.exe+CE11CB: 48 8D 44 24 38 - lea rax,[rsp+38] Tales of Arise.exe+CE11D0: 89 4C 24 34 - mov [rsp+34],ecx Tales of Arise.exe+CE11D4: 48 3B C2 - cmp rax,rdx Tales of Arise.exe+CE11D7: 74 0A - je "Tales of Arise.exe"+CE11E3 Tales of Arise.exe+CE11D9: 48 8D 4C 24 38 - lea rcx,[rsp+38] Tales of Arise.exe+CE11DE: E8 0D F2 E3 FF - call "Tales of Arise.exe"+B203F0 Tales of Arise.exe+CE11E3: 48 8D 53 18 - lea rdx,[rbx+18] Tales of Arise.exe+CE11E7: 48 8D 44 24 48 - lea rax,[rsp+48] Tales of Arise.exe+CE11EC: 48 3B C2 - cmp rax,rdx Tales of Arise.exe+CE11EF: 74 16 - je "Tales of Arise.exe"+CE1207 // ---------- INJECTING HERE ---------- Tales of Arise.exe+CE11F1: 44 8B 42 08 - mov r8d,[rdx+08] // ---------- DONE INJECTING ---------- Tales of Arise.exe+CE11F5: 48 8D 4C 24 48 - lea rcx,[rsp+48] Tales of Arise.exe+CE11FA: 48 8B 12 - mov rdx,[rdx] Tales of Arise.exe+CE11FD: 44 8B 4C 24 54 - mov r9d,[rsp+54] Tales of Arise.exe+CE1202: E8 C9 8A 97 FF - call "Tales of Arise.exe"+659CD0 Tales of Arise.exe+CE1207: 8B 4C 24 34 - mov ecx,[rsp+34] Tales of Arise.exe+CE120B: E8 30 FF FF FF - call "Tales of Arise.exe"+CE1140 Tales of Arise.exe+CE1210: 48 8B 4C 24 48 - mov rcx,[rsp+48] Tales of Arise.exe+CE1215: 8B D8 - mov ebx,eax Tales of Arise.exe+CE1217: 48 85 C9 - test rcx,rcx Tales of Arise.exe+CE121A: 74 05 - je "Tales of Arise.exe"+CE1221 } </AssemblerScript> <CheatEntries> <CheatEntry> <ID>5</ID> <Description>"Abilities"</Description> <ShowAsSigned>0</ShowAsSigned> <VariableType>Binary</VariableType> <BitStart>1</BitStart> <BitLength>10</BitLength> <ShowAsBinary>0</ShowAsBinary> <Address>ACCEDIT</Address> <Offsets> <Offset>0</Offset> </Offsets> </CheatEntry> <CheatEntry> <ID>7</ID> <Description>"EXP"</Description> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>ACCEDIT</Address> <Offsets> <Offset>8</Offset> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
The Layout look like an array with:
4 bytes Skill ID
4 bytes Unknown
4 bytes/floats ??
There are total of 5 editable slots.