Re: Far Cry 5 [Engine:Dunia 2]
Posted: Fri Mar 30, 2018 5:10 pm
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Code: Select all
{ Game : FarCry®5
Version:
Date : 2018-03-30
Author : budabum
This script does blah blah blah
}
[ENABLE]
aobscanmodule(InfAmmoBet,FC_m64.dll,75 0D 8B 57 4C 39 D3 0F 42 D3 29 57 4C 89 D3)
alloc(infammomem,$1000,InfAmmoBet)
registersymbol(InfAmmoBet)
label(code)
label(return)
label(skiphere)
infammomem:
code:
reassemble(InfAmmoBet) //jne 7FFAB333A14B
mov edx,[rdi+4C]
cmp ebx,edx
cmovb edx,ebx
//filtered injection
cmp r12d, B3F8DE3E //Pistols
jz skiphere
cmp r12d, DB72B88A //Rifle
jz skiphere
cmp r12d, DB4CB05F //Grenades
jz skiphere
cmp r12d, 83021337 //Molotov
jz skiphere
cmp r12d, EC1A4BAB //Explosive Arrow
jz skiphere
cmp r12d, EC18BEA6 //Flame Arrow
jz skiphere
cmp r12d, B3F9885B //Arrow
jz skiphere
cmp r12d, B3F944C4 //Shotgun Shell
jz skiphere
cmp r12d, 1B93266E //Shotgun Flame Shell
jz skiphere
cmp r12d, DB707C3F //Shotgun Slug
jz skiphere
cmp r12d, DB75CA49 //Sniper .50 Cal
jz skiphere
cmp r12d, DB75EF64 //Sniper .50 Cal Piercing
jz skiphere
cmp r12d, DB6FDC2C //Pistol Piercing
jz skiphere
cmp r12d, B3F8942E //Remote Explosive
jz skiphere
cmp r12d, B3F9C0EB //Proximity Explosive
jz skiphere
cmp r12d, 8302EC24 //Throwing Knife
jz skiphere
cmp r12d, 83037F62 //Bait
jz skiphere
cmp r12d, 9AE00408 //Dynamite
jz skiphere
cmp r12d, 5BD2B432 //Pipe Bomb
jz skiphere
cmp r12d, B3FA4191 //Grenade Launcherr
jz skiphere
cmp r12d, B3F97273 //SMG Ammo
jz skiphere
cmp r12d, DB701FDD //SMG Piercing
jz skiphere
cmp r12d, DB72E621 //Rifle Piercing
jz skiphere
cmp r12d, B3F959AC //LMG Ammo
jz skiphere
cmp r12d, DB745A94 //LMG Piercing
jz skiphere
cmp r12d, 7A75CFE2 //Rocket Cluster Ammo
jz skiphere
cmp r12d, DB78B52A //Rocket Flame Cluster Ammo
jz skiphere
cmp r12d, B3F9A6CB //Rocket Launcher Ammo
jz skiphere
cmp r12d, B3FA1F5A //Flame Thrower Ammo
jz skiphere
sub [rdi+4C],edx
skiphere:
mov ebx,edx
jmp return
InfAmmoBet:
jmp far infammomem //14 bytes jump
nop
return:
[DISABLE]
InfAmmoBet:
db 75 0D 8B 57 4C 39 D3 0F 42 D3 29 57 4C 89 D3
unregistersymbol(InfAmmoBet)
dealloc(infammomem)
{
// ORIGINAL CODE - INJECTION POINT: "FC_m64.dll"+AFDA13C
"FC_m64.dll"+AFDA118: 0F 1F 84 00 00 00 00 00 - nop [rax+rax+00000000]
"FC_m64.dll"+AFDA120: 48 89 5C 24 08 - mov [rsp+08],rbx
"FC_m64.dll"+AFDA125: 57 - push rdi
"FC_m64.dll"+AFDA126: 48 83 EC 20 - sub rsp,20
"FC_m64.dll"+AFDA12A: 48 8B 41 40 - mov rax,[rcx+40]
"FC_m64.dll"+AFDA12E: 48 89 CF - mov rdi,rcx
"FC_m64.dll"+AFDA131: 48 83 C1 40 - add rcx,40
"FC_m64.dll"+AFDA135: 89 D3 - mov ebx,edx
"FC_m64.dll"+AFDA137: FF 50 18 - call qword ptr [rax+18]
"FC_m64.dll"+AFDA13A: 84 C0 - test al,al
// ---------- INJECTING HERE ----------
"FC_m64.dll"+AFDA13C: 75 0D - jne FC_m64.dll+AFDA14B
"FC_m64.dll"+AFDA13E: 8B 57 4C - mov edx,[rdi+4C]
"FC_m64.dll"+AFDA141: 39 D3 - cmp ebx,edx
"FC_m64.dll"+AFDA143: 0F 42 D3 - cmovb edx,ebx
"FC_m64.dll"+AFDA146: 29 57 4C - sub [rdi+4C],edx
"FC_m64.dll"+AFDA149: 89 D3 - mov ebx,edx
// ---------- DONE INJECTING ----------
"FC_m64.dll"+AFDA14B: 85 DB - test ebx,ebx
"FC_m64.dll"+AFDA14D: 74 15 - je FC_m64.dll+AFDA164
"FC_m64.dll"+AFDA14F: 44 8B 47 4C - mov r8d,[rdi+4C]
"FC_m64.dll"+AFDA153: 48 89 F9 - mov rcx,rdi
"FC_m64.dll"+AFDA156: 4C 8B 0F - mov r9,[rdi]
"FC_m64.dll"+AFDA159: 41 8D 14 18 - lea edx,[r8+rbx]
}
Was aware, but that script didnt sit right with me, jumping over the section of code responsible subtracting stuff out of inventory. (includes key items,crafting items etc.)mflvs wrote: ↑Fri Mar 30, 2018 5:09 pmthere is already an infinite ammo script that works for all weapons incase you werent aware.
i also have added most of the scripts to this topic to keep it cleaner and easier to find viewtopic.php?f=4&t=6351&p=40766#p40766
I could optimize this out for you, but really, I noticed that the infinite ammo script I posted only prevents things from being sold that I don't want it to. I just turn it off when I need to sell stuff from my inventory.qweasdzxc17 wrote: ↑Fri Mar 30, 2018 5:10 pmIt works now, but its super inefficient. I can only imagine how many cpu cycles im wasting with this.
Well thats a relief.gir489 wrote: ↑Fri Mar 30, 2018 5:23 pmI could optimize this out for you, but really, I noticed that the infinite ammo script I posted only prevents things from being sold that I don't want it to. I just turn it off when I need to sell stuff from my inventory.
You're not wasting much, if anything, that's like 20 cycles which on anything after Sandy Bridge is a nanosecond at most. Also, it's only called when your inventory is changed. If this was called every frame, it would be cause for concern.
The biggest time wasters on a CPU are floating point operations, which is why the industry responded by making GPUs, since they're very fast at doing FPU math.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>147</ID>
<Description>"Inf. Ammo"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>
[ENABLE]
aobscanmodule(InfAmmoBet,FC_m64.dll,75 0D 8B 57 4C 39 D3 0F 42 D3 29 57 4C 89 D3)
alloc(infammomem,$1000,InfAmmoBet)
registersymbol(InfAmmoBet)
registersymbol(checkammo)
registersymbol(checkcrafting)
label(code)
label(return)
label(skiphere)
label(docrafting)
label(checkammo)
label(checkcrafting)
label(ender)
infammomem:
code:
reassemble(InfAmmoBet) //jne 7FFAB333A14B
mov edx,[rdi+4C]
cmp ebx,edx
cmovb edx,ebx
//filtered injection
cmp byte [checkammo],0
jz docrafting
cmp r12d, B3F8DE3E //Pistols
jz skiphere
cmp r12d, DB72B88A //Rifle
jz skiphere
cmp r12d, DB4CB05F //Grenades
jz skiphere
cmp r12d, 83021337 //Molotov
jz skiphere
cmp r12d, EC1A4BAB //Explosive Arrow
jz skiphere
cmp r12d, EC18BEA6 //Flame Arrow
jz skiphere
cmp r12d, B3F9885B //Arrow
jz skiphere
cmp r12d, B3F944C4 //Shotgun Shell
jz skiphere
cmp r12d, 1B93266E //Shotgun Flame Shell
jz skiphere
cmp r12d, DB707C3F //Shotgun Slug
jz skiphere
cmp r12d, DB75CA49 //Sniper .50 Cal
jz skiphere
cmp r12d, DB75EF64 //Sniper .50 Cal Piercing
jz skiphere
cmp r12d, DB6FDC2C //Pistol Piercing
jz skiphere
cmp r12d, B3F8942E //Remote Explosive
jz skiphere
cmp r12d, B3F9C0EB //Proximity Explosive
jz skiphere
cmp r12d, 8302EC24 //Throwing Knife
jz skiphere
cmp r12d, 83037F62 //Bait
jz skiphere
cmp r12d, 9AE00408 //Dynamite
jz skiphere
cmp r12d, 5BD2B432 //Pipe Bomb
jz skiphere
cmp r12d, B3FA4191 //Grenade Launcherr
jz skiphere
cmp r12d, B3F97273 //SMG Ammo
jz skiphere
cmp r12d, DB701FDD //SMG Piercing
jz skiphere
cmp r12d, DB72E621 //Rifle Piercing
jz skiphere
cmp r12d, B3F959AC //LMG Ammo
jz skiphere
cmp r12d, DB745A94 //LMG Piercing
jz skiphere
cmp r12d, 7A75CFE2 //Rocket Cluster Ammo
jz skiphere
cmp r12d, DB78B52A //Rocket Flame Cluster Ammo
jz skiphere
cmp r12d, B3F9A6CB //Rocket Launcher Ammo
jz skiphere
cmp r12d, B3FA1F5A //Flame Thrower Ammo
jz skiphere
cmp r12d, CC1A6596 //Medkits
jz skiphere
docrafting:
cmp byte [checkcrafting],0
jz ender
cmp r12d, 45CBC280 //Buffs
jz skiphere
ender:
sub [rdi+4C],edx
skiphere:
mov ebx,edx
jmp return
checkammo:
db 00
checkcrafting:
db 00
InfAmmoBet:
jmp far infammomem //14 bytes jump
nop
return:
[DISABLE]
InfAmmoBet:
db 75 0D 8B 57 4C 39 D3 0F 42 D3 29 57 4C 89 D3
unregistersymbol(InfAmmoBet)
dealloc(infammomem)
{
// ORIGINAL CODE - INJECTION POINT: "FC_m64.dll"+AFDA13C
"FC_m64.dll"+AFDA118: 0F 1F 84 00 00 00 00 00 - nop [rax+rax+00000000]
"FC_m64.dll"+AFDA120: 48 89 5C 24 08 - mov [rsp+08],rbx
"FC_m64.dll"+AFDA125: 57 - push rdi
"FC_m64.dll"+AFDA126: 48 83 EC 20 - sub rsp,20
"FC_m64.dll"+AFDA12A: 48 8B 41 40 - mov rax,[rcx+40]
"FC_m64.dll"+AFDA12E: 48 89 CF - mov rdi,rcx
"FC_m64.dll"+AFDA131: 48 83 C1 40 - add rcx,40
"FC_m64.dll"+AFDA135: 89 D3 - mov ebx,edx
"FC_m64.dll"+AFDA137: FF 50 18 - call qword ptr [rax+18]
"FC_m64.dll"+AFDA13A: 84 C0 - test al,al
// ---------- INJECTING HERE ----------
"FC_m64.dll"+AFDA13C: 75 0D - jne FC_m64.dll+AFDA14B
"FC_m64.dll"+AFDA13E: 8B 57 4C - mov edx,[rdi+4C]
"FC_m64.dll"+AFDA141: 39 D3 - cmp ebx,edx
"FC_m64.dll"+AFDA143: 0F 42 D3 - cmovb edx,ebx
"FC_m64.dll"+AFDA146: 29 57 4C - sub [rdi+4C],edx
"FC_m64.dll"+AFDA149: 89 D3 - mov ebx,edx
// ---------- DONE INJECTING ----------
"FC_m64.dll"+AFDA14B: 85 DB - test ebx,ebx
"FC_m64.dll"+AFDA14D: 74 15 - je FC_m64.dll+AFDA164
"FC_m64.dll"+AFDA14F: 44 8B 47 4C - mov r8d,[rdi+4C]
"FC_m64.dll"+AFDA153: 48 89 F9 - mov rcx,rdi
"FC_m64.dll"+AFDA156: 4C 8B 0F - mov r9,[rdi]
"FC_m64.dll"+AFDA159: 41 8D 14 18 - lea edx,[r8+rbx]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>150</ID>
<Description>"Infinite Ammo + Medkit"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
<LastState Value="0" RealAddress="7FFCCA7501CE"/>
<VariableType>Byte</VariableType>
<Address>checkammo</Address>
</CheatEntry>
<CheatEntry>
<ID>151</ID>
<Description>"Infinite Craftables"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
<LastState Value="0" RealAddress="7FFCCA7501CF"/>
<VariableType>Byte</VariableType>
<Address>checkcrafting</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Damn... I need to check if I can bypass that somehow.