Something quick for Dawn...
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>10</ID>
<Description>"Dawn of Sorrow"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>167</ID>
<Description>"9 souls if you open enemy on bestiary"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : game.exe
Version:
Date : 2024-08-29
Author : Pongossinha
This script does blah blah blah
}
define(address,"dra01.dll"+415B6)
define(bytes,41 8B 94 84 80 11 96 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,"dra01.dll"+415B6)
label(code)
label(return)
newmem:
mov [r12+rax*4+00961180],99999999
code:
mov edx,[r12+rax*4+00961180]
jmp return
address:
jmp newmem
nop 3
return:
[DISABLE]
address:
db bytes
// mov edx,[r12+rax*4+00961180]
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: dra01.dll+415B6
dra01.dll+4158D: 48 8B C8 - mov rcx,rax
dra01.dll+41590: 89 7C 24 40 - mov [rsp+40],edi
dra01.dll+41594: 83 E0 07 - and eax,07
dra01.dll+41597: 89 5C 24 38 - mov [rsp+38],ebx
dra01.dll+4159B: 41 B8 0F 00 00 00 - mov r8d,0000000F
dra01.dll+415A1: 44 8D 0C 85 00 00 00 00 - lea r9d,[rax*4+00000000]
dra01.dll+415A9: 48 8B C1 - mov rax,rcx
dra01.dll+415AC: 48 C1 F8 03 - sar rax,03
dra01.dll+415B0: 41 8B C9 - mov ecx,r9d
dra01.dll+415B3: 41 D3 E0 - shl r8d,cl
// ---------- INJECTING HERE ----------
dra01.dll+415B6: 41 8B 94 84 80 11 96 00 - mov edx,[r12+rax*4+00961180]
// ---------- DONE INJECTING ----------
dra01.dll+415BE: 41 8B 84 84 C0 11 96 00 - mov eax,[r12+rax*4+009611C0]
dra01.dll+415C6: 41 23 D0 - and edx,r8d
dra01.dll+415C9: D3 EA - shr edx,cl
dra01.dll+415CB: 41 23 C0 - and eax,r8d
dra01.dll+415CE: D3 E8 - shr eax,cl
dra01.dll+415D0: 41 B0 01 - mov r8b,01
dra01.dll+415D3: 03 D0 - add edx,eax
dra01.dll+415D5: B1 0C - mov cl,0C
dra01.dll+415D7: 89 54 24 30 - mov [rsp+30],edx
dra01.dll+415DB: B2 03 - mov dl,03
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>19</ID>
<Description>"No MP loss"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : game.exe
Version:
Date : 2024-08-29
Author : Pongossinha
This script does blah blah blah
}
define(address,"dra01.dll"+113FE1)
define(bytes,66 FF C8 66 89 05 E5 D4 84 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,"dra01.dll"+113FE1)
label(code)
label(return)
newmem:
code:
//dec ax
mov [dra01.dll+9614D0],ax
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// dec ax
// mov [dra01.dll+9614D0],ax
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: dra01.dll+113FE1
dra01.dll+113FC0: B8 3C 00 00 00 - mov eax,0000003C
dra01.dll+113FC5: 99 - cdq
dra01.dll+113FC6: 41 F7 F8 - idiv r8d
dra01.dll+113FC9: 44 8B C0 - mov r8d,eax
dra01.dll+113FCC: 8B 81 74 03 00 00 - mov eax,[rcx+00000374]
dra01.dll+113FD2: 99 - cdq
dra01.dll+113FD3: 41 F7 F8 - idiv r8d
dra01.dll+113FD6: 85 D2 - test edx,edx
dra01.dll+113FD8: 75 20 - jne dra01.dll+113FFA
dra01.dll+113FDA: 0F B7 05 EF D4 84 00 - movzx eax,word ptr [dra01.dll+9614D0]
// ---------- INJECTING HERE ----------
dra01.dll+113FE1: 66 FF C8 - dec ax
// ---------- DONE INJECTING ----------
dra01.dll+113FE4: 66 89 05 E5 D4 84 00 - mov [dra01.dll+9614D0],ax
dra01.dll+113FEB: 66 85 C0 - test ax,ax
dra01.dll+113FEE: 7F 0A - jg dra01.dll+113FFA
dra01.dll+113FF0: 33 C0 - xor eax,eax
dra01.dll+113FF2: 66 89 05 D7 D4 84 00 - mov [dra01.dll+9614D0],ax
dra01.dll+113FF9: C3 - ret
dra01.dll+113FFA: FF 81 74 03 00 00 - inc [rcx+00000374]
dra01.dll+114000: C3 - ret
dra01.dll+114001: CC - int 3
dra01.dll+114002: CC - int 3
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>20</ID>
<Description>"No HP loss"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : game.exe
Version:
Date : 2024-08-29
Author : Pongossinha
This script does blah blah blah
}
define(address,"dra01.dll"+3D186)
define(bytes,66 2B C6 66 89 05 3C 43 92 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,"dra01.dll"+3D186)
label(code)
label(return)
newmem:
code:
//sub ax,si
mov [dra01.dll+9614CC],ax
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// sub ax,si
// mov [dra01.dll+9614CC],ax
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: dra01.dll+3D186
dra01.dll+3D15F: 44 8D 14 02 - lea r10d,[rdx+rax]
dra01.dll+3D163: 41 8B C7 - mov eax,r15d
dra01.dll+3D166: 99 - cdq
dra01.dll+3D167: 41 C1 FA 0C - sar r10d,0C
dra01.dll+3D16B: 81 E2 FF 0F 00 00 - and edx,00000FFF
dra01.dll+3D171: 8D 0C 02 - lea ecx,[rdx+rax]
dra01.dll+3D174: 41 8B D2 - mov edx,r10d
dra01.dll+3D177: C1 F9 0C - sar ecx,0C
dra01.dll+3D17A: E8 11 5E 10 00 - call dra01.dll+142F90
dra01.dll+3D17F: 0F B7 05 46 43 92 00 - movzx eax,word ptr [dra01.dll+9614CC]
// ---------- INJECTING HERE ----------
dra01.dll+3D186: 66 2B C6 - sub ax,si
// ---------- DONE INJECTING ----------
dra01.dll+3D189: 66 89 05 3C 43 92 00 - mov [dra01.dll+9614CC],ax
dra01.dll+3D190: 66 85 C0 - test ax,ax
dra01.dll+3D193: 0F 8F B3 00 00 00 - jg dra01.dll+3D24C
dra01.dll+3D199: 0F B7 05 6C 43 92 00 - movzx eax,word ptr [dra01.dll+96150C]
dra01.dll+3D1A0: 83 0D ED 3C 92 00 40 - or dword ptr [dra01.dll+960E94],40
dra01.dll+3D1A7: 0F BA F0 00 - btr eax,00
dra01.dll+3D1AB: 0F B7 C8 - movzx ecx,ax
dra01.dll+3D1AE: 0F BA F1 01 - btr ecx,01
dra01.dll+3D1B2: 66 89 1D 13 43 92 00 - mov [dra01.dll+9614CC],bx
dra01.dll+3D1B9: 0F B7 C1 - movzx eax,cx
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>4</ID>
<Description>"+10 XP per kill"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : game.exe
Version:
Date : 2024-08-29
Author : Pongossinha
This script does blah blah blah
}
define(address,"dra01.dll"+14A843)
define(bytes,89 05 BB 6C 81 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,"dra01.dll"+14A843)
label(code)
label(return)
newmem:
add eax,#10
code:
mov [dra01.dll+961504],eax
jmp return
address:
jmp newmem
nop
return:
[DISABLE]
address:
db bytes
// mov [dra01.dll+961504],eax
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: dra01.dll+14A843
dra01.dll+14A81B: 66 0F 6E C1 - movd xmm0,ecx
dra01.dll+14A81F: 0F 5B C0 - cvtdq2ps xmm0,xmm0
dra01.dll+14A822: F3 0F 59 C1 - mulss xmm0,xmm1
dra01.dll+14A826: F3 0F 2C C8 - cvttss2si ecx,xmm0
dra01.dll+14A82A: 8B 05 D4 6C 81 00 - mov eax,[dra01.dll+961504]
dra01.dll+14A830: 03 C1 - add eax,ecx
dra01.dll+14A832: B9 FF E0 F5 05 - mov ecx,05F5E0FF
dra01.dll+14A837: 3B C1 - cmp eax,ecx
dra01.dll+14A839: 0F 47 C1 - cmova eax,ecx
dra01.dll+14A83C: 48 8D 0D 85 6C 81 00 - lea rcx,[dra01.dll+9614C8]
// ---------- INJECTING HERE ----------
dra01.dll+14A843: 89 05 BB 6C 81 00 - mov [dra01.dll+961504],eax
// ---------- DONE INJECTING ----------
dra01.dll+14A849: E8 A2 B0 09 00 - call dra01.dll+1E58F0
dra01.dll+14A84E: 85 C0 - test eax,eax
dra01.dll+14A850: 0F 84 98 00 00 00 - je dra01.dll+14A8EE
dra01.dll+14A856: 4C 8D 05 F3 72 EC FF - lea r8,[dra01.dll+11B50]
dra01.dll+14A85D: 48 8D 54 24 30 - lea rdx,[rsp+30]
dra01.dll+14A862: E8 F9 EB ED FF - call dra01.dll+29460
dra01.dll+14A867: BA 2F 00 00 00 - mov edx,0000002F
dra01.dll+14A86C: 44 8B 00 - mov r8d,[rax]
dra01.dll+14A86F: 8D 4A FF - lea ecx,[rdx-01]
dra01.dll+14A872: E8 E9 98 ED FF - call dra01.dll+24160
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>32</ID>
<Description>"Gold"</Description>
<LastState Value="2399910" RealAddress="7FFAAAFE1508"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>dra01.dll+961508</Address>
</CheatEntry>
<CheatEntry>
<ID>2</ID>
<Description>"Current XP"</Description>
<LastState Value="32744" RealAddress="7FFAAAFE1504"/>
<VariableType>4 Bytes</VariableType>
<Address>dra01.dll+961504</Address>
</CheatEntry>
<CheatEntry>
<ID>3</ID>
<Description>"Current Lvl"</Description>
<LastState Value="21" RealAddress="7FFAAAFE14C8"/>
<VariableType>4 Bytes</VariableType>
<Address>dra01.dll+9614C8</Address>
</CheatEntry>
<CheatEntry>
<ID>14</ID>
<Description>"DEF"</Description>
<LastState Value="15" RealAddress="7FFAAAFE142A"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+96142A</Address>
</CheatEntry>
<CheatEntry>
<ID>12</ID>
<Description>"Str"</Description>
<LastState Value="42" RealAddress="7FFAAAFE142C"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+96142C</Address>
</CheatEntry>
<CheatEntry>
<ID>9</ID>
<Description>"CON"</Description>
<LastState Value="36" RealAddress="7FFAAAFE142E"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+96142E</Address>
</CheatEntry>
<CheatEntry>
<ID>8</ID>
<Description>"INT"</Description>
<LastState Value="37" RealAddress="7FFAAAFE1430"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+961430</Address>
</CheatEntry>
<CheatEntry>
<ID>11</ID>
<Description>"Luck"</Description>
<LastState Value="25" RealAddress="7FFAAAFE1432"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+961432</Address>
</CheatEntry>
<CheatEntry>
<ID>18</ID>
<Description>"Current HP"</Description>
<LastState Value="525" RealAddress="7FFAAAFE14CC"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+9614CC</Address>
</CheatEntry>
<CheatEntry>
<ID>15</ID>
<Description>"MAX HP"</Description>
<LastState Value="528" RealAddress="7FFAAAFE14CE"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+9614CE</Address>
</CheatEntry>
<CheatEntry>
<ID>17</ID>
<Description>"Current MP"</Description>
<LastState Value="340" RealAddress="7FFAAAFE14D0"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+9614D0</Address>
</CheatEntry>
<CheatEntry>
<ID>16</ID>
<Description>"MAX MP"</Description>
<LastState Value="352" RealAddress="7FFAAAFE14D2"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>dra01.dll+9614D2</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>