Here's a fun script, but now I really have to find recoil.
P.S.: Works better with the laser guns, even the pistols have to much recoil.
Code: Select all
{
Process : SaintsRowIV.exe - (x32)
Module : SaintsRowIV.exe
Game Title : Saints Row IV
Game Version : 1.0.6.1
CE Version : 6.81
Script Version : 0.0.1
Date : 08/27/18
Name : WeaponFireRateHook
Weapon Fire Rate Hook
+7 : 83xxxx84xx75xx8DxxxxxxxxxxE8xxxxxxxx84xx74xx8DxxxxxxxxxxE8xxxxxxxx84xx74xx8D
}
{$STRICT}
define(address, SaintsRowIV.exe+758FEB)
define(bytes, 8D 8B 9C 01 00 00)
////
//// ------------------------------ ENABLE ------------------------------
[ENABLE]
aobScanModule(aobWeaponFireRateHook, SaintsRowIV.exe, 83xxxx84xx75xx8DxxxxxxxxxxE8xxxxxxxx84xx74xx8DxxxxxxxxxxE8xxxxxxxx84xx74xx8D)
define(injWeaponFireRateHook, aobWeaponFireRateHook+7)
assert(injWeaponFireRateHook, bytes)
registerSymbol(injWeaponFireRateHook)
alloc(memWeaponFireRateHook, 0x400, injWeaponFireRateHook)
label(ptrWeaponFireRateHook)
registerSymbol(ptrWeaponFireRateHook)
label(n_code)
label(o_code)
label(exit)
label(return)
memWeaponFireRateHook:
ptrWeaponFireRateHook:
dd 0
align 10 CC
n_code:
lea ecx,[ebx+19C]
cmp [ebp-24],0
jne o_code
mov [ptrWeaponFireRateHook],ebx
mov dword ptr [ecx],-1
o_code:
// lea ecx,[ebx+0000019C]
exit:
jmp return
////
//// ---------- Injection Point ----------
injWeaponFireRateHook:
jmp n_code
nop
return:
////
//// ------------------------------ DISABLE ------------------------------
[DISABLE]
////
//// ---------- Injection Point ----------
injWeaponFireRateHook:
db bytes
unregisterSymbol(injWeaponFireRateHook)
unregisterSymbol(ptrWeaponFireRateHook)
dealloc(memWeaponFireRateHook)
{
//// Injection Point: SaintsRowIV.exe+758FEB - 00B58FEB
//// AOB address: 00B58FE4 - SaintsRowIV.exe+758FE4
//// Process: SaintsRowIV.exe - 00400000
//// Module: SaintsRowIV.exe - 00400000
//// Module Size: 04016000
SaintsRowIV.exe+758FB2: 5D - pop ebp
SaintsRowIV.exe+758FB3: C3 - ret
SaintsRowIV.exe+758FB4: 8B 83 C0000000 - mov eax,[ebx+000000C0]
SaintsRowIV.exe+758FBA: 85 C0 - test eax,eax
SaintsRowIV.exe+758FBC: 74 12 - je 00B58FD0
SaintsRowIV.exe+758FBE: 57 - push edi
SaintsRowIV.exe+758FBF: 50 - push eax
SaintsRowIV.exe+758FC0: 8B CF - mov ecx,edi
SaintsRowIV.exe+758FC2: E8 A980F5FF - call 00AB1070
SaintsRowIV.exe+758FC7: 50 - push eax
SaintsRowIV.exe+758FC8: E8 633AF6FF - call 00ABCA30
SaintsRowIV.exe+758FCD: 83 C4 0C - add esp,0C
SaintsRowIV.exe+758FD0: 8B 8F D40D0000 - mov ecx,[edi+00000DD4]
SaintsRowIV.exe+758FD6: 8B 51 10 - mov edx,[ecx+10]
SaintsRowIV.exe+758FD9: 68 BA1D0000 - push 00001DBA
SaintsRowIV.exe+758FDE: 52 - push edx
SaintsRowIV.exe+758FDF: E8 9C9C91FF - call 00472C80
SaintsRowIV.exe+758FE4: 83 C4 08 - add esp,08 <<<--- AOB Starts Here
SaintsRowIV.exe+758FE7: 84 C0 - test al,al
SaintsRowIV.exe+758FE9: 75 46 - jne 00B59031
//// INJECTING START ----------------------------------------------------------
SaintsRowIV.exe+758FEB: 8D 8B 9C010000 - lea ecx,[ebx+0000019C]
//// INJECTING END ----------------------------------------------------------
SaintsRowIV.exe+758FF1: E8 CA465300 - call 0108D6C0
SaintsRowIV.exe+758FF6: 84 C0 - test al,al
SaintsRowIV.exe+758FF8: 74 0F - je 00B59009 [SaintsRowIV.exe+1608B8D]
SaintsRowIV.exe+758FFA: 8D 8B 9C010000 - lea ecx,[ebx+0000019C]
SaintsRowIV.exe+759000: E8 FB455300 - call 0108D600
SaintsRowIV.exe+759005: 84 C0 - test al,al
SaintsRowIV.exe+759007: 74 28 - je 00B59031
SaintsRowIV.exe+759009: 8D 8B A0010000 - lea ecx,[ebx+000001A0]
SaintsRowIV.exe+75900F: E8 AC465300 - call 0108D6C0
SaintsRowIV.exe+759014: 84 C0 - test al,al
SaintsRowIV.exe+759016: 74 0F - je 00B59027 [SaintsRowIV.exe+74A781]
SaintsRowIV.exe+759018: 8D 8B A0010000 - lea ecx,[ebx+000001A0]
SaintsRowIV.exe+75901E: E8 DD455300 - call 0108D600
SaintsRowIV.exe+759023: 84 C0 - test al,al
SaintsRowIV.exe+759025: 74 0A - je 00B59031
SaintsRowIV.exe+759027: 81 A7 B4000000 FFFFFF7F - and [edi+000000B4],7FFFFFFF
SaintsRowIV.exe+759031: 80 BF 101D0000 00 - cmp byte ptr [edi+00001D10],00
SaintsRowIV.exe+759038: 0F84 C2000000 - je 00B59100 [SaintsRowIV.exe+354838B]
SaintsRowIV.exe+75903E: F6 43 3A 80 - test byte ptr [ebx+3A],-80
SaintsRowIV.exe+759042: 75 11 - jne 00B59055
//// Template: I2CEA_AOBFullInjection
//// Generated with: I2 Cheat Engine Auto Assembler Script Template Generator
//// Code Happy, Code Freely, Be Awesome.
}
I think this one works a little better.
Code: Select all
{
Process : SaintsRowIV.exe - (x32)
Module : SaintsRowIV.exe
Game Title : Saints Row IV
Game Version : 1.0.6.1
CE Version : 6.81
Script Version : 0.0.1
Date : 08/27/18
Name : WeaponFireRateFireHook
Weapon Fire Rate Fire Hook
+A : EBxx8Dxxxxxxxxxxxxxx8BxxxxxxxxxxE8xxxxxxxx84xx0F84xxxxxxxx80xxxxxxxxxxxx74
}
{$STRICT}
define(address, SaintsRowIV.exe+756A10)
define(bytes, 8B 8D 2C FA FF FF)
////
//// ------------------------------ ENABLE ------------------------------
[ENABLE]
aobScanModule(aobWeaponFireRateFireHook, SaintsRowIV.exe, EBxx8Dxxxxxxxxxxxxxx8BxxxxxxxxxxE8xxxxxxxx84xx0F84xxxxxxxx80xxxxxxxxxxxx74)
define(injWeaponFireRateFireHook, aobWeaponFireRateFireHook+A)
assert(injWeaponFireRateFireHook, bytes)
registerSymbol(injWeaponFireRateFireHook)
alloc(memWeaponFireRateFireHook, 0x400, injWeaponFireRateFireHook)
label(ptrWeaponFireRateFireHook)
registerSymbol(ptrWeaponFireRateFireHook)
label(n_code)
label(o_code)
label(exit)
label(return)
memWeaponFireRateFireHook:
ptrWeaponFireRateFireHook:
dd 0
align 10 CC
n_code:
mov ecx,[ebp-000005D4]
mov [ptrWeaponFireRateFireHook],ecx
mov dword ptr [ecx],1
o_code:
// mov ecx,[ebp-000005D4]
exit:
jmp return
////
//// ---------- Injection Point ----------
injWeaponFireRateFireHook:
jmp n_code
nop
return:
////
//// ------------------------------ DISABLE ------------------------------
[DISABLE]
////
//// ---------- Injection Point ----------
injWeaponFireRateFireHook:
db bytes
unregisterSymbol(injWeaponFireRateFireHook)
unregisterSymbol(ptrWeaponFireRateFireHook)
dealloc(memWeaponFireRateFireHook)
{
//// Injection Point: SaintsRowIV.exe+756A10 - 00B56A10
//// AOB address: 00B56A06 - SaintsRowIV.exe+756A06
//// Process: SaintsRowIV.exe - 00400000
//// Module: SaintsRowIV.exe - 00400000
//// Module Size: 04016000
SaintsRowIV.exe+7569BB: C0 8B CF89851C FA - ror byte ptr [ebx+1C8589CF],-06
SaintsRowIV.exe+7569C2: FF - db -01
SaintsRowIV.exe+7569C3: FF 89 85ECF9FF - dec [ecx-0006137B]
SaintsRowIV.exe+7569C9: FF E8 - jmp far eax
SaintsRowIV.exe+7569CB: F1 - db F1
SaintsRowIV.exe+7569CC: 6C - insb
SaintsRowIV.exe+7569CD: 53 - push ebx
SaintsRowIV.exe+7569CE: 00 84 C0 75096A00 - add [eax+eax*8+006A0975],al
SaintsRowIV.exe+7569D5: 8B CF - mov ecx,edi
SaintsRowIV.exe+7569D7: E8 946B5300 - call 0108D570 [SaintsRowIV.exe+3E4448B]
SaintsRowIV.exe+7569DC: 80 BD 30FAFFFF 00 - cmp byte ptr [ebp-000005D0],00
SaintsRowIV.exe+7569E3: 0F85 B1070000 - jne 00B5719A
SaintsRowIV.exe+7569E9: 8B 8D 48FAFFFF - mov ecx,[ebp-000005B8]
SaintsRowIV.exe+7569EF: C7 85 30FAFFFF 0A000000 - mov [ebp-000005D0],0000000A
SaintsRowIV.exe+7569F9: E8 92C2F4FF - call 00AA2C90
SaintsRowIV.exe+7569FE: 85 C0 - test eax,eax
SaintsRowIV.exe+756A00: 0F84 7A070000 - je 00B57180
SaintsRowIV.exe+756A06: EB 08 - jmp 00B56A10 <<<--- AOB Starts Here
SaintsRowIV.exe+756A08: 8D A4 24 00000000 - lea esp,[esp+00000000]
SaintsRowIV.exe+756A0F: 90 - nop
//// INJECTING START ----------------------------------------------------------
SaintsRowIV.exe+756A10: 8B 8D 2CFAFFFF - mov ecx,[ebp-000005D4]
//// INJECTING END ----------------------------------------------------------
SaintsRowIV.exe+756A16: E8 E56B5300 - call 0108D600
SaintsRowIV.exe+756A1B: 84 C0 - test al,al
SaintsRowIV.exe+756A1D: 0F84 5D070000 - je 00B57180
SaintsRowIV.exe+756A23: 80 BD 00FAFFFF 00 - cmp byte ptr [ebp-00000600],00
SaintsRowIV.exe+756A2A: 74 0F - je 00B56A3B
SaintsRowIV.exe+756A2C: 8B 85 34FAFFFF - mov eax,[ebp-000005CC]
SaintsRowIV.exe+756A32: 83 38 00 - cmp dword ptr [eax],00
SaintsRowIV.exe+756A35: 0F8E 45070000 - jng 00B57180
SaintsRowIV.exe+756A3B: 8B 85 30FAFFFF - mov eax,[ebp-000005D0]
SaintsRowIV.exe+756A41: 8B C8 - mov ecx,eax
SaintsRowIV.exe+756A43: 48 - dec eax
SaintsRowIV.exe+756A44: 89 85 30FAFFFF - mov [ebp-000005D0],eax
SaintsRowIV.exe+756A4A: 85 C9 - test ecx,ecx
SaintsRowIV.exe+756A4C: 0F84 2E070000 - je 00B57180
SaintsRowIV.exe+756A52: 8B 8D 2CFAFFFF - mov ecx,[ebp-000005D4]
SaintsRowIV.exe+756A58: E8 136C5300 - call 0108D670
SaintsRowIV.exe+756A5D: 8B 95 48FAFFFF - mov edx,[ebp-000005B8]
SaintsRowIV.exe+756A63: 56 - push esi
SaintsRowIV.exe+756A64: 52 - push edx
SaintsRowIV.exe+756A65: 8B F8 - mov edi,eax
//// Template: I2CEA_AOBFullInjection
//// Generated with: I2 Cheat Engine Auto Assembler Script Template Generator
//// Code Happy, Code Freely, Be Awesome.
}