Hey Bloodybone,
great table, really awesome work
but maybe you can improve it if you use Wildcard AOBs + Symbols.
as example activating the Cheat Mode:
Code: Select all
[ENABLE]
aobscanregion(aobReadCheatFlag,Factorio.CraftingGui::createRecipeSlot,Factorio.CraftingGui::createRecipeSlot+100,44 0F B6 B0 ** ** 00 00)
alloc(newmem,$1000,"Factorio.exe"+49D2F4)
alloc(origReadFlag,8)
registersymbol(origReadFlag)
origReadFlag:
readmem(aobReadCheatFlag,8)
label(code)
label(return)
label(bIsCheatActiv)
registersymbol(bIsCheatActiv)
newmem:
code:
mov r14l,[bIsCheatActiv]
db 44 88 b0
readmem(aobReadCheatFlag+4,2)
dw 0
readmem(aobReadCheatFlag,8)
jmp return
bIsCheatActiv:
db 0
aobReadCheatFlag:
jmp newmem
nop 3
return:
registersymbol(aobReadCheatFlag)
[DISABLE]
aobReadCheatFlag:
readmem(origReadFlag,8)
unregistersymbol(aobReadCheatFlag)
unregistersymbol(bIsCheatActiv)
dealloc(newmem)
Factorio.CraftingGui::createRecipeSlot gets executed if the player opens the inventory.
(maybe you have an reason for it to call setCheatMode instead of just swapping the flag)
the main thing i want to say : you can use aobscanregion to increase your code compatibility.
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1