KS212 wrote: ↑Sat Jun 19, 2021 7:13 am
*snip*
Sure. I haven't tested these scripts further especially in other mode
Ninja Gaiden 3
Auto Guard/Dodge
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(auto_guard_dodge_aob,NINJA GAIDEN 3 Razor's Edge.exe,48 8B CA 33 D2 ** ** ** ** ** 0F BE C0) // should be unique
alloc(newmem,$1000,auto_guard_dodge_aob)
label(code)
label(return)
newmem:
code:
mov eax,1
add rsp,28
jmp return
auto_guard_dodge_aob+a:
jmp newmem
nop 2
return:
registersymbol(auto_guard_dodge_aob)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
auto_guard_dodge_aob+a:
db 0F BE C0 48 83 C4 28
unregistersymbol(auto_guard_dodge_aob)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: NINJA GAIDEN 3 Razor's Edge.exe+14BF194
NINJA GAIDEN 3 Razor's Edge.exe+14BF187: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF188: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF189: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18A: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18B: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18C: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18D: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18E: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18F: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF190: 48 83 EC 28 - sub rsp,28
// ---------- INJECTING HERE ----------
NINJA GAIDEN 3 Razor's Edge.exe+14BF194: 48 8B CA - mov rcx,rdx
// ---------- DONE INJECTING ----------
NINJA GAIDEN 3 Razor's Edge.exe+14BF197: 33 D2 - xor edx,edx
NINJA GAIDEN 3 Razor's Edge.exe+14BF199: E8 E2 4F 01 00 - call "NINJA GAIDEN 3 Razor's Edge.exe"+14D4180
NINJA GAIDEN 3 Razor's Edge.exe+14BF19E: 0F BE C0 - movsx eax,al
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A1: 48 83 C4 28 - add rsp,28
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A5: C3 - ret
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A6: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A7: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A8: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A9: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1AA: CC - int 3
}
Auto Guard/Dodge - HotKey Pressed (left trigger, default key for guarding)
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(auto_guard_dodge_aob,NINJA GAIDEN 3 Razor's Edge.exe,48 8B CA 33 D2 ** ** ** ** ** 0F BE C0) // should be unique
alloc(newmem,$1000,auto_guard_dodge_aob)
label(code)
label(return)
label(G3HotkeyLuaThread)
registersymbol(G3HotkeyLuaThread)
newmem:
push ebx
mov bl,[G3HotkeyLuaThread]
test bl,bl
pop ebx
jz code
mov eax,1
add rsp,28
jmp return
code:
movsx eax,al
add rsp,28
jmp return
G3HotkeyLuaThread:
dd 0
auto_guard_dodge_aob+a:
jmp newmem
nop 2
return:
registersymbol(auto_guard_dodge_aob)
{$lua}
local function hotkeyLuaThread(thread)
local addr = getAddressSafe('G3HotkeyLuaThread')
while RunHotkeyLuaThread do
if addr then
local xcs = getXBox360ControllerState()
writeBytes(addr, xcs.LeftTrigger)
else
addr = getAddressSafe('G3HotkeyLuaThread')
end
end
thread.terminate()
end
---------------------------------
if syntaxcheck then return end
RunHotkeyLuaThread = true
createThread(hotkeyLuaThread)
{$asm}
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end
RunHotkeyLuaThread = false
{$asm}
auto_guard_dodge_aob+a:
db 0F BE C0 48 83 C4 28
unregistersymbol(auto_guard_dodge_aob)
unregistersymbol(G3HotkeyLuaThread)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: NINJA GAIDEN 3 Razor's Edge.exe+14BF194
NINJA GAIDEN 3 Razor's Edge.exe+14BF187: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF188: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF189: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18A: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18B: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18C: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18D: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18E: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF18F: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF190: 48 83 EC 28 - sub rsp,28
// ---------- INJECTING HERE ----------
NINJA GAIDEN 3 Razor's Edge.exe+14BF194: 48 8B CA - mov rcx,rdx
// ---------- DONE INJECTING ----------
NINJA GAIDEN 3 Razor's Edge.exe+14BF197: 33 D2 - xor edx,edx
NINJA GAIDEN 3 Razor's Edge.exe+14BF199: E8 E2 4F 01 00 - call "NINJA GAIDEN 3 Razor's Edge.exe"+14D4180
NINJA GAIDEN 3 Razor's Edge.exe+14BF19E: 0F BE C0 - movsx eax,al
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A1: 48 83 C4 28 - add rsp,28
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A5: C3 - ret
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A6: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A7: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A8: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1A9: CC - int 3
NINJA GAIDEN 3 Razor's Edge.exe+14BF1AA: CC - int 3
}
Instant Charge
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(instantcharge_aob,NINJA GAIDEN 3 Razor's Edge.exe,66 41 FF 44 24 12) // should be unique
alloc(newmem,$100,instantcharge_aob)
label(code)
label(return)
newmem:
code:
mov word ptr [r12+12],#260
jmp return
instantcharge_aob:
jmp newmem
nop
return:
registersymbol(instantcharge_aob)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
instantcharge_aob:
db 66 41 FF 44 24 12
unregistersymbol(instantcharge_aob)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: NINJA GAIDEN 3 Razor's Edge.exe+1479FE4
NINJA GAIDEN 3 Razor's Edge.exe+1479FC0: 7E 28 - jle "NINJA GAIDEN 3 Razor's Edge.exe"+1479FEA
NINJA GAIDEN 3 Razor's Edge.exe+1479FC2: FF C1 - inc ecx
NINJA GAIDEN 3 Razor's Edge.exe+1479FC4: 3B C1 - cmp eax,ecx
NINJA GAIDEN 3 Razor's Edge.exe+1479FC6: 7F 14 - jg "NINJA GAIDEN 3 Razor's Edge.exe"+1479FDC
NINJA GAIDEN 3 Razor's Edge.exe+1479FC8: 66 41 89 04 24 - mov [r12],ax
NINJA GAIDEN 3 Razor's Edge.exe+1479FCD: 41 0F B6 C6 - movzx eax,r14l
NINJA GAIDEN 3 Razor's Edge.exe+1479FD1: 42 C6 84 38 2D 7A 93 05 01 - mov byte ptr [rax+r15+05937A2D],01
NINJA GAIDEN 3 Razor's Edge.exe+1479FDA: EB 08 - jmp "NINJA GAIDEN 3 Razor's Edge.exe"+1479FE4
NINJA GAIDEN 3 Razor's Edge.exe+1479FDC: 66 FF C2 - inc dx
NINJA GAIDEN 3 Razor's Edge.exe+1479FDF: 66 41 89 14 24 - mov [r12],dx
// ---------- INJECTING HERE ----------
NINJA GAIDEN 3 Razor's Edge.exe+1479FE4: 66 41 FF 44 24 12 - inc word ptr [r12+12]
// ---------- DONE INJECTING ----------
NINJA GAIDEN 3 Razor's Edge.exe+1479FEA: 8B 35 50 A2 59 01 - mov esi,["NINJA GAIDEN 3 Razor's Edge.exe"+2A14240]
NINJA GAIDEN 3 Razor's Edge.exe+1479FF0: 8D 46 FD - lea eax,[rsi-03]
NINJA GAIDEN 3 Razor's Edge.exe+1479FF3: 41 BD 3F 42 0F 00 - mov r13d,000F423F
NINJA GAIDEN 3 Razor's Edge.exe+1479FF9: 41 BF 03 00 00 00 - mov r15d,00000003
NINJA GAIDEN 3 Razor's Edge.exe+1479FFF: 83 F8 01 - cmp eax,01
NINJA GAIDEN 3 Razor's Edge.exe+147A002: 0F 86 70 01 00 00 - jbe "NINJA GAIDEN 3 Razor's Edge.exe"+147A178
NINJA GAIDEN 3 Razor's Edge.exe+147A008: 48 8B 1D 69 BA A0 02 - mov rbx,["NINJA GAIDEN 3 Razor's Edge.exe"+3E85A78]
NINJA GAIDEN 3 Razor's Edge.exe+147A00F: 0F B7 83 3A 07 00 00 - movzx eax,word ptr [rbx+0000073A]
NINJA GAIDEN 3 Razor's Edge.exe+147A016: 41 89 84 24 B0 01 00 00 - mov [r12+000001B0],eax
NINJA GAIDEN 3 Razor's Edge.exe+147A01E: 44 38 35 19 7A 43 01 - cmp ["NINJA GAIDEN 3 Razor's Edge.exe"+28B1A3E],r14l
}
Hide Status HUD
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(statushud_aob,NINJA GAIDEN 3 Razor's Edge.exe,0F 84 32 01 00 00 84) // should be unique
alloc(newmem,$100,statushud_aob)
label(code)
label(return)
newmem:
code:
jmp statushud_aob+138
jmp return
statushud_aob:
jmp newmem
nop
return:
registersymbol(statushud_aob)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
statushud_aob:
db 0F 84 32 01 00 00
unregistersymbol(statushud_aob)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: NINJA GAIDEN 3 Razor's Edge.exe+CBD55D
NINJA GAIDEN 3 Razor's Edge.exe+CBD534: 41 0F B6 C3 - movzx eax,r11l
NINJA GAIDEN 3 Razor's Edge.exe+CBD538: 0F 44 D0 - cmove edx,eax
NINJA GAIDEN 3 Razor's Edge.exe+CBD53B: 0F 57 C9 - xorps xmm1,xmm1
NINJA GAIDEN 3 Razor's Edge.exe+CBD53E: 40 84 F6 - test sil,sil
NINJA GAIDEN 3 Razor's Edge.exe+CBD541: 75 13 - jne "NINJA GAIDEN 3 Razor's Edge.exe"+CBD556
NINJA GAIDEN 3 Razor's Edge.exe+CBD543: F3 0F 10 83 60 39 00 00 - movss xmm0,[rbx+00003960]
NINJA GAIDEN 3 Razor's Edge.exe+CBD54B: 0F 2F C1 - comiss xmm0,xmm1
NINJA GAIDEN 3 Razor's Edge.exe+CBD54E: 76 06 - jna "NINJA GAIDEN 3 Razor's Edge.exe"+CBD556
NINJA GAIDEN 3 Razor's Edge.exe+CBD550: 89 8B 60 39 00 00 - mov [rbx+00003960],ecx
NINJA GAIDEN 3 Razor's Edge.exe+CBD556: 80 BB 65 39 00 00 00 - cmp byte ptr [rbx+00003965],00
// ---------- INJECTING HERE ----------
NINJA GAIDEN 3 Razor's Edge.exe+CBD55D: 0F 84 32 01 00 00 - je "NINJA GAIDEN 3 Razor's Edge.exe"+CBD695
// ---------- DONE INJECTING ----------
NINJA GAIDEN 3 Razor's Edge.exe+CBD563: 84 D2 - test dl,dl
NINJA GAIDEN 3 Razor's Edge.exe+CBD565: 0F 85 2A 01 00 00 - jne "NINJA GAIDEN 3 Razor's Edge.exe"+CBD695
NINJA GAIDEN 3 Razor's Edge.exe+CBD56B: 83 7B 18 00 - cmp dword ptr [rbx+18],00
NINJA GAIDEN 3 Razor's Edge.exe+CBD56F: 0F 85 EB 00 00 00 - jne "NINJA GAIDEN 3 Razor's Edge.exe"+CBD660
NINJA GAIDEN 3 Razor's Edge.exe+CBD575: 8B 43 3C - mov eax,[rbx+3C]
NINJA GAIDEN 3 Razor's Edge.exe+CBD578: 39 43 38 - cmp [rbx+38],eax
NINJA GAIDEN 3 Razor's Edge.exe+CBD57B: 0F 85 DF 00 00 00 - jne "NINJA GAIDEN 3 Razor's Edge.exe"+CBD660
NINJA GAIDEN 3 Razor's Edge.exe+CBD581: 83 7B 1C 00 - cmp dword ptr [rbx+1C],00
NINJA GAIDEN 3 Razor's Edge.exe+CBD585: 0F 8F D5 00 00 00 - jg "NINJA GAIDEN 3 Razor's Edge.exe"+CBD660
NINJA GAIDEN 3 Razor's Edge.exe+CBD58B: 83 BB 6C 17 00 00 00 - cmp dword ptr [rbx+0000176C],00
}