Just made this rough bonus gauge script for disgaea 6 build 0.
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>15221</ID>
<Description>"lv 9 bonus gauge"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Disgaea6.exe
Version:
Date : 2022-07-20
Author : azzie
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT,Disgaea6.exe,89 57 08 C6 86 D8 0E 00 00 01) // should be unique
alloc(newmem,$1000,INJECT)
label(code)
label(return)
newmem:
code:
mov [rdi+08],#900
mov byte ptr [rsi+00000ED8],01
jmp return
INJECT:
jmp newmem
nop 5
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db 89 57 08 C6 86 D8 0E 00 00 01
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Disgaea6.exe.text+49C872
Disgaea6.exe.text+49C855: 48 8B 17 - mov rdx,[rdi]
Disgaea6.exe.text+49C858: 48 8B CF - mov rcx,rdi
Disgaea6.exe.text+49C85B: 8B D8 - mov ebx,eax
Disgaea6.exe.text+49C85D: FF 52 08 - call qword ptr [rdx+08]
Disgaea6.exe.text+49C860: 8B 57 08 - mov edx,[rdi+08]
Disgaea6.exe.text+49C863: 3B DA - cmp ebx,edx
Disgaea6.exe.text+49C865: 0F 4C D3 - cmovl edx,ebx
Disgaea6.exe.text+49C868: 48 8B 5C 24 30 - mov rbx,[rsp+30]
Disgaea6.exe.text+49C86D: 3B C2 - cmp eax,edx
Disgaea6.exe.text+49C86F: 0F 4F D0 - cmovg edx,eax
// ---------- INJECTING HERE ----------
Disgaea6.exe.text+49C872: 89 57 08 - mov [rdi+08],edx
// ---------- DONE INJECTING ----------
Disgaea6.exe.text+49C875: C6 86 D8 0E 00 00 01 - mov byte ptr [rsi+00000ED8],01
Disgaea6.exe.text+49C87C: 48 8B 74 24 38 - mov rsi,[rsp+38]
Disgaea6.exe.text+49C881: 48 83 C4 20 - add rsp,20
Disgaea6.exe.text+49C885: 5F - pop rdi
Disgaea6.exe.text+49C886: C3 - ret
Disgaea6.exe.text+49C887: CC - int 3
Disgaea6.exe.text+49C888: CC - int 3
Disgaea6.exe.text+49C889: CC - int 3
Disgaea6.exe.text+49C88A: CC - int 3
Disgaea6.exe.text+49C88B: CC - int 3
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>15220</ID>
<Description>"fast bonus gauge "</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Disgaea6.exe
Version:
Date : 2022-07-20
Author : azzie
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT,Disgaea6.exe,F1 48 8B 07 48 8B CF 01 57 08 FF 50 10) // should be unique
alloc(newmem,$1000,INJECT)
label(code)
label(return)
newmem:
code:
add [rdi+08],#100
call qword ptr [rax+10]
jmp return
INJECT+07:
jmp newmem
nop
return:
registersymbol(INJECT)
[DISABLE]
INJECT+07:
db 01 57 08 FF 50 10
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Disgaea6.exe.text+49C84F
Disgaea6.exe.text+49C82E: CC - int 3
Disgaea6.exe.text+49C82F: CC - int 3
Disgaea6.exe.text+49C830: 48 89 5C 24 08 - mov [rsp+08],rbx
Disgaea6.exe.text+49C835: 48 89 74 24 10 - mov [rsp+10],rsi
Disgaea6.exe.text+49C83A: 57 - push rdi
Disgaea6.exe.text+49C83B: 48 83 EC 20 - sub rsp,20
Disgaea6.exe.text+49C83F: 48 8D B9 68 0A 00 00 - lea rdi,[rcx+00000A68]
Disgaea6.exe.text+49C846: 48 8B F1 - mov rsi,rcx
Disgaea6.exe.text+49C849: 48 8B 07 - mov rax,[rdi]
Disgaea6.exe.text+49C84C: 48 8B CF - mov rcx,rdi
// ---------- INJECTING HERE ----------
Disgaea6.exe.text+49C84F: 01 57 08 - add [rdi+08],edx
// ---------- DONE INJECTING ----------
Disgaea6.exe.text+49C852: FF 50 10 - call qword ptr [rax+10]
Disgaea6.exe.text+49C855: 48 8B 17 - mov rdx,[rdi]
Disgaea6.exe.text+49C858: 48 8B CF - mov rcx,rdi
Disgaea6.exe.text+49C85B: 8B D8 - mov ebx,eax
Disgaea6.exe.text+49C85D: FF 52 08 - call qword ptr [rdx+08]
Disgaea6.exe.text+49C860: 8B 57 08 - mov edx,[rdi+08]
Disgaea6.exe.text+49C863: 3B DA - cmp ebx,edx
Disgaea6.exe.text+49C865: 0F 4C D3 - cmovl edx,ebx
Disgaea6.exe.text+49C868: 48 8B 5C 24 30 - mov rbx,[rsp+30]
Disgaea6.exe.text+49C86D: 3B C2 - cmp eax,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>