Max Level Up
Code: Select all
[ENABLE]
GameAssembly.dll+1CBE1A:
db 7E
//7E 57
//jle GameAssembly.dll+1CBE73
[DISABLE]
GameAssembly.dll+1CBE1A:
db 7F
//7F 57
//jg GameAssembly.dll+1CBE73
or in lua script
Code: Select all
{ Game : CRYSTAR
Version:
Date : 2019-08-30
Author : fantomas
}
{$lua}
if syntaxcheck then return end
cheat_name = "MaxLevelUp"
[ENABLE]
local pattern = "7F ?? 48 8B 0D ?? ?? ?? ?? FF"
local replace = "7E ?? ?? ?? ?? ?? ?? ?? ?? ??"
-- edit the name of the cheat
-- edit the pattern to search
-- edit the replacement bytes
-- use ?? to ignore the bytes
-- do not edit the code below
local scans = AOBScan(pattern)
if scans == nil then
showMessage("Unable to find pattern:\n"..pattern)
else
local saved = {}
local length = (#replace + 1) / 3
for i = 0, scans.Count - 1 do
local backup = readBytes(scans[i], length, true)
local bytes = {}
for hex in string.gmatch(replace, "%S+") do
local size = #bytes + 1
if hex == "??" then
bytes[size] = backup[size]
else
bytes[size] = tonumber(hex, 16)
end
end
saved[i] = backup
writeBytes(scans[i], bytes)
end
_G[cheat_name] = {
["scans"] = scans,
["saved"] = saved
}
end
[DISABLE]
local vars = _G[cheat_name]
if vars ~= nil then
local scans = vars.scans
local saved = vars.saved
for i = 0, scans.Count - 1 do
writeBytes(scans[i], saved[i])
end
scans.Destroy()
vars.scans = nil
vars.saved = nil
vars = nil
_G[cheat_name] = nil
end
{$asm}
{
// ORIGINAL CODE - INJECTION POINT: "GameAssembly.dll"+1CBE1A
"GameAssembly.dll"+1CBDF3: 0F 84 CE 01 00 00 - je GameAssembly.dll+1CBFC7
"GameAssembly.dll"+1CBDF9: 8B 51 10 - mov edx,[rcx+10]
"GameAssembly.dll"+1CBDFC: 45 33 C0 - xor r8d,r8d
"GameAssembly.dll"+1CBDFF: 48 8B C8 - mov rcx,rax
"GameAssembly.dll"+1CBE02: E8 89 46 E8 FF - call GameAssembly.dll+50490
"GameAssembly.dll"+1CBE07: 48 8B 4E 18 - mov rcx,[rsi+18]
"GameAssembly.dll"+1CBE0B: 48 85 C9 - test rcx,rcx
"GameAssembly.dll"+1CBE0E: 0F 84 AD 01 00 00 - je GameAssembly.dll+1CBFC1
"GameAssembly.dll"+1CBE14: 8B 59 10 - mov ebx,[rcx+10]
"GameAssembly.dll"+1CBE17: 3B 41 14 - cmp eax,[rcx+14]
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+1CBE1A: 7F 57 - jg GameAssembly.dll+1CBE73
"GameAssembly.dll"+1CBE1C: 48 8B 0D F5 5E C4 00 - mov rcx,[GameAssembly.dll+E11D18]
// ---------- DONE INJECTING ----------
"GameAssembly.dll"+1CBE23: FF C3 - inc ebx
"GameAssembly.dll"+1CBE25: F6 81 2A 01 00 00 01 - test byte ptr [rcx+0000012A],01
"GameAssembly.dll"+1CBE2C: 74 0E - je GameAssembly.dll+1CBE3C
"GameAssembly.dll"+1CBE2E: 83 B9 D8 00 00 00 00 - cmp dword ptr [rcx+000000D8],00
"GameAssembly.dll"+1CBE35: 75 05 - jne GameAssembly.dll+1CBE3C
"GameAssembly.dll"+1CBE37: E8 74 E4 7A 00 - call GameAssembly.dll+97A2B0
"GameAssembly.dll"+1CBE3C: 48 8B 15 55 AB C4 00 - mov rdx,[GameAssembly.dll+E16998]
"GameAssembly.dll"+1CBE43: 33 C9 - xor ecx,ecx
"GameAssembly.dll"+1CBE45: E8 36 78 52 00 - call GameAssembly.dll+6F3680
"GameAssembly.dll"+1CBE4A: 48 85 C0 - test rax,rax
}
Mega Chain
Code: Select all
{ Game : CRYSTAR
Version:
Date : 2019-08-29
Author : fantomas
}
[ENABLE]
aobscanmodule(aobLevelScan,GameAssembly.dll,B9 0F 27 00 00 8D)
alloc(newmem,$1000,aobLevelScan)
registersymbol(aobLevelScan)
newmem:
aobLevelScan+B:
db 4E
//GameAssembly.dll+1B68EF - 0F4E C1 - cmovle eax,ecx
[DISABLE]
aobLevelScan:
db 4F
//GameAssembly.dll+1B68EF - 0F 4F C1 - cmovg eax,ecx
unregistersymbol(aobLevelScan)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "GameAssembly.dll"+1B68E5
"GameAssembly.dll"+1B68BA: 57 - push rdi
"GameAssembly.dll"+1B68BB: 48 83 EC 30 - sub rsp,30
"GameAssembly.dll"+1B68BF: 80 3D 74 0B C8 00 00 - cmp byte ptr [GameAssembly.dll+E3743A],00
"GameAssembly.dll"+1B68C6: 8B FA - mov edi,edx
"GameAssembly.dll"+1B68C8: 48 8B D9 - mov rbx,rcx
"GameAssembly.dll"+1B68CB: 75 12 - jne GameAssembly.dll+1B68DF
"GameAssembly.dll"+1B68CD: 8B 0D D9 A2 92 00 - mov ecx,[GameAssembly.dll+AE0BAC]
"GameAssembly.dll"+1B68D3: E8 C8 C4 7A 00 - call GameAssembly.dll+962DA0
"GameAssembly.dll"+1B68D8: C6 05 5B 0B C8 00 01 - mov byte ptr [GameAssembly.dll+E3743A],01
"GameAssembly.dll"+1B68DF: 8B B3 C0 00 00 00 - mov esi,[rbx+000000C0]
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+1B68E5: B9 0F 27 00 00 - mov ecx,0000270F [ 9999 ]
// ---------- DONE INJECTING ----------
"GameAssembly.dll"+1B68EA: 8D 04 3E - lea eax,[rsi+rdi]
"GameAssembly.dll"+1B68ED: 3B C1 - cmp eax,ecx
"GameAssembly.dll"+1B68EF: 0F 4F C1 - cmovg eax,ecx
"GameAssembly.dll"+1B68F2: 89 83 C0 00 00 00 - mov [rbx+000000C0],eax
"GameAssembly.dll"+1B68F8: 48 8B 0D 19 1C C6 00 - mov rcx,[GameAssembly.dll+E18518]
"GameAssembly.dll"+1B68FF: F6 81 2A 01 00 00 01 - test byte ptr [rcx+0000012A],01
"GameAssembly.dll"+1B6906: 74 0E - je GameAssembly.dll+1B6916
"GameAssembly.dll"+1B6908: 83 B9 D8 00 00 00 00 - cmp dword ptr [rcx+000000D8],00
"GameAssembly.dll"+1B690F: 75 05 - jne GameAssembly.dll+1B6916
"GameAssembly.dll"+1B6911: E8 9A 39 7C 00 - call GameAssembly.dll+97A2B0
}
Inf Guardian Gauge
Code: Select all
{ Game : CRYSTAR
Version:
Date : 2019-08-30
Author : fantomas
}
[ENABLE]
aobscanmodule(aobGuardianGaugeFillingScan,GameAssembly.dll,77 18 0F 2F C6)
aobscanmodule(aobGuardianGaugeUsing,GameAssembly.dll,77 0E 0F 57 C0)
alloc(newmem,$1000,aobGuardianGaugeFillingScan)
alloc(newmem2,$1000,aobGuardianGaugeUsing)
registersymbol(aobGuardianGaugeFillingScan)
registersymbol(aobGuardianGaugeUsing)
newmem:
aobGuardianGaugeFillingScan:
db 76
newmem2:
aobGuardianGaugeUsing:
db 76
[DISABLE]
aobGuardianGaugeFillingScan:
db 77
aobGuardianGaugeUsing:
db 77
unregistersymbol(aobGuardianGaugeFillingScan)
unregistersymbol(aobGuardianGaugeUsing)
dealloc(newmem)
dealloc(newmem2)
{
// ORIGINAL CODE - INJECTION POINT: "GameAssembly.dll"+1CBD12
"GameAssembly.dll"+1CBCEF: 8B 51 18 - mov edx,[rcx+18]
"GameAssembly.dll"+1CBCF2: 45 33 C0 - xor r8d,r8d
"GameAssembly.dll"+1CBCF5: 48 8B C8 - mov rcx,rax
"GameAssembly.dll"+1CBCF8: E8 03 0D E6 FF - call GameAssembly.dll+2CA00
"GameAssembly.dll"+1CBCFD: 0F 57 C0 - xorps xmm0,xmm0
"GameAssembly.dll"+1CBD00: 84 C0 - test al,al
"GameAssembly.dll"+1CBD02: 75 03 - jne GameAssembly.dll+1CBD07
"GameAssembly.dll"+1CBD04: 0F 28 F0 - movaps xmm6,xmm0
"GameAssembly.dll"+1CBD07: F3 0F 10 0D DD 6C 93 00 - movss xmm1,[GameAssembly.dll+B029EC]
"GameAssembly.dll"+1CBD0F: 0F 2F F1 - comiss xmm6,xmm1
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+1CBD12: 77 18 - ja GameAssembly.dll+1CBD2C
"GameAssembly.dll"+1CBD14: 0F 2F C6 - comiss xmm0,xmm6
// ---------- DONE INJECTING ----------
"GameAssembly.dll"+1CBD17: 76 16 - jna GameAssembly.dll+1CBD2F
"GameAssembly.dll"+1CBD19: 0F 28 F0 - movaps xmm6,xmm0
"GameAssembly.dll"+1CBD1C: F3 0F 11 73 74 - movss [rbx+74],xmm6
"GameAssembly.dll"+1CBD21: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
"GameAssembly.dll"+1CBD26: 48 83 C4 30 - add rsp,30
"GameAssembly.dll"+1CBD2A: 5B - pop rbx
"GameAssembly.dll"+1CBD2B: C3 - ret
"GameAssembly.dll"+1CBD2C: 0F 28 F1 - movaps xmm6,xmm1
"GameAssembly.dll"+1CBD2F: F3 0F 11 73 74 - movss [rbx+74],xmm6
"GameAssembly.dll"+1CBD34: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
}
//*************************************************************************************//
{
// ORIGINAL CODE - INJECTION POINT: "GameAssembly.dll"+1CD7EB
"GameAssembly.dll"+1CD7D8: CC - int 3
"GameAssembly.dll"+1CD7D9: CC - int 3
"GameAssembly.dll"+1CD7DA: CC - int 3
"GameAssembly.dll"+1CD7DB: CC - int 3
"GameAssembly.dll"+1CD7DC: CC - int 3
"GameAssembly.dll"+1CD7DD: CC - int 3
"GameAssembly.dll"+1CD7DE: CC - int 3
"GameAssembly.dll"+1CD7DF: CC - int 3
"GameAssembly.dll"+1CD7E0: F3 0F 10 05 04 52 93 00 - movss xmm0,[GameAssembly.dll+B029EC]
"GameAssembly.dll"+1CD7E8: 0F 2F C8 - comiss xmm1,xmm0
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+1CD7EB: 77 0E - ja GameAssembly.dll+1CD7FB
"GameAssembly.dll"+1CD7ED: 0F 57 C0 - xorps xmm0,xmm0
// ---------- DONE INJECTING ----------
"GameAssembly.dll"+1CD7F0: 0F 2F C1 - comiss xmm0,xmm1
"GameAssembly.dll"+1CD7F3: 77 06 - ja GameAssembly.dll+1CD7FB
"GameAssembly.dll"+1CD7F5: F3 0F 11 49 74 - movss [rcx+74],xmm1
"GameAssembly.dll"+1CD7FA: C3 - ret
"GameAssembly.dll"+1CD7FB: F3 0F 11 41 74 - movss [rcx+74],xmm0
"GameAssembly.dll"+1CD800: C3 - ret
"GameAssembly.dll"+1CD801: CC - int 3
"GameAssembly.dll"+1CD802: CC - int 3
"GameAssembly.dll"+1CD803: CC - int 3
"GameAssembly.dll"+1CD804: CC - int 3
}