Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


script won't disable with readmem and reassemble

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Brian1ee7
How do I cheat?
Reputation: 0

Joined: 01 Jan 2019
Posts: 3

PostPosted: Fri Oct 04, 2024 12:02 am    Post subject: script won't disable with readmem and reassemble Reply with quote

the code works fine but it won't disable my script.
the problem started after using readmem on these two inject's disabled part below.
Code:
Inventory_rsi_INJECT+C:
  readmem(Inventory_rsi_original,5)

Inventory_rdi_INJECT+24:
  readmem(Inventory_rdi_original,5)



I have a similar type of disabling code and I was able to disable my script before I used the readmem on those two.
Code:
Main_Resources_Flag_INJECT+20:
  db FF 50 10
  readmem(Prestige_original,6)

Main_Resources_Flag_INJECT+3D:
  db FF 50 10
  readmem(Food_original,6)

Main_Resources_Flag_INJECT+5A:
  db FF 50 10
  readmem(Wealth_original,6)

Main_Resources_Flag_INJECT+77:
  db FF 50 10
  readmem(Timber_original,6)

Main_Resources_Flag_INJECT+94:
  db FF 50 10
  readmem(Materials_original,7)



This is the full script.
Code:
define(Inventory_initValue,#999999999)

[ENABLE]
aobscanmodule(Main_Resources_Flag_INJECT,AraHistoryUntold.exe,FF 90 A8 00 00 00 8B 05 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 89 05 ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? FF 50 10) // should be unique
aobscanmodule(Main_Resources_INJECT,AraHistoryUntold.exe,0F 29 44 24 20 E8 ?? ?? ?? ?? 48 8D 54 24 20 8B D8 48 8D 8F A0 41 00 00) // should be unique
aobscanmodule(Resources_INJECT,AraHistoryUntold.exe,8B C2 48 8D 0C 40 49 8B 03 8B 44 C8 10 48 83 C4 40 5B C3) // should be unique
aobscanmodule(Inventory_rsi_INJECT,AraHistoryUntold.exe,48 03 B1 ?? ?? ?? ?? 48 8D 4C 24 50 E8 ?? ?? ?? ?? 0F 28 44 24 50) // should be unique
aobscanmodule(Inventory_rdi_INJECT,AraHistoryUntold.exe,48 8B 7D 80 66 0F 7F 44 24 50 48 8D 8F ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8F ?? ?? ?? ?? 8B D8 48 8D 54 24 50 E8 ?? ?? ?? ??) // should be unique
alloc(newmem,$500,Resources_INJECT)
alloc(rsi_flags,$30,Resources_INJECT)
alloc(rdi_flags,$8,Resources_INJECT)
alloc(Resources_address,$28,Resources_INJECT)
alloc(Resources,$14,Resources_INJECT)
alloc(Inventory,$4,Resources_INJECT)

label(Prestige_saveFlag)
label(Prestige_return)
label(Prestige_original)
label(Prestige_checkAddress)
label(Prestige_setValue)
label(Food_saveFlag)
label(Food_return)
label(Food_original)
label(Food_checkAddress)
label(Food_setValue)
label(Wealth_saveFlag)
label(Wealth_return)
label(Wealth_original)
label(Wealth_checkAddress)
label(Wealth_setValue)
label(Timber_saveFlag)
label(Timber_return)
label(Timber_original)
label(Timber_checkAddress)
label(Timber_setValue)
label(Materials_saveFlag)
label(Materials_return)
label(Materials_original)
label(Materials_checkAddress)
label(Materials_setValue)
label(Main_Resources_code)
label(Main_Resources_original)
label(Main_Resources_return)
label(Resources_code)
label(Resources_rsi_check)
label(Resources_rdi_check)
label(Resources_original)
label(Resources_return)
label(Inventory_rsi_code)
label(Inventory_rsi_return)
label(Inventory_rsi_original)
label(Inventory_rdi_code)
label(Inventory_rdi_return)
label(Inventory_rdi_original)
label(Inventory_checkAddress)
label(Inventory_setValue)

newmem:

Prestige_saveFlag:
  mov [rsi_flags],rcx
  call qword ptr [rax+10]
  reassemble(Main_Resources_Flag_INJECT+23)
  jmp Prestige_return
Prestige_original:
  readmem(Main_Resources_Flag_INJECT+23,6)

Food_saveFlag:
  mov [rsi_flags+8],rcx
  call qword ptr [rax+10]
  reassemble(Main_Resources_Flag_INJECT+40)
  jmp Food_return
Food_original:
  readmem(Main_Resources_Flag_INJECT+40,6)

Wealth_saveFlag:
  mov [rsi_flags+10],rcx
  call qword ptr [rax+10]
  reassemble(Main_Resources_Flag_INJECT+5D)
  jmp Wealth_return
Wealth_original:
  readmem(Main_Resources_Flag_INJECT+5D,6)

Timber_saveFlag:
  mov [rsi_flags+18],rcx
  call qword ptr [rax+10]
  reassemble(Main_Resources_Flag_INJECT+7A)
  jmp Timber_return
Timber_original:
  readmem(Main_Resources_Flag_INJECT+7A,6)

Materials_saveFlag:
  mov [rsi_flags+20],rcx
  call qword ptr [rax+10]
  reassemble(Main_Resources_Flag_INJECT+97)
  jmp Materials_return
Materials_original:
  readmem(Main_Resources_Flag_INJECT+97,7)

Main_Resources_code:
  mov rax,[r11]
  lea rbx,[rax+rcx*8+10]
  test rsi,rsi
  je Main_Resources_original
  cmp [rsi_flags],rsi
  je Prestige_checkAddress
  cmp [rsi_flags+8],rsi
  je Food_checkAddress
  cmp [rsi_flags+10],rsi
  je Wealth_checkAddress
  cmp [rsi_flags+18],rsi
  je Timber_checkAddress
  cmp [rsi_flags+20],rsi
  je Materials_checkAddress
Main_Resources_original:
  lea rdx,[rsp+20]
  jmp Main_Resources_return

Resources_code:
  lea rbx,[rax+rcx*8+10]
Resources_rsi_check:
  test rsi,rsi
  je Resources_rdi_check
  cmp [rsi_flags+28],rsi
  je Inventory_checkAddress
Resources_rdi_check:
  test rdi,rdi
  je Resources_original
  cmp [rdi_flags],rdi
  je Inventory_checkAddress
Resources_original:
  mov eax,[rax+rcx*8+10]
  add rsp,40
  jmp Resources_return

Prestige_checkAddress:
  cmp [Resources_address],rbx
  je Prestige_setValue
  mov [Resources_address],rbx
  mov rbx,[rbx]
  mov [Resources],ebx
Prestige_setValue:
  mov ebx,[Resources]
  mov [rax+rcx*8+10],ebx
  mov eax,ebx
  jmp Main_Resources_original

Food_checkAddress:
  cmp [Resources_address+8],rbx
  je Food_setValue
  mov [Resources_address+8],rbx
  mov rbx,[rbx]
  mov [Resources+4],ebx
Food_setValue:
  mov ebx,[Resources+4]
  mov [rax+rcx*8+10],ebx
  mov eax,ebx
  jmp Main_Resources_original

Wealth_checkAddress:
  cmp [Resources_address+10],rbx
  je Wealth_setValue
  mov [Resources_address+10],rbx
  mov rbx,[rbx]
  mov [Resources+8],ebx
Wealth_setValue:
  mov ebx,[Resources+8]
  mov [rax+rcx*8+10],ebx
  mov eax,ebx
  jmp Main_Resources_original

Timber_checkAddress:
  cmp [Resources_address+18],rbx
  je Timber_setValue
  mov [Resources_address+18],rbx
  mov rbx,[rbx]
  mov [Resources+C],ebx
Timber_setValue:
  mov ebx,[Resources+C]
  mov [rax+rcx*8+10],ebx
  mov eax,ebx
  jmp Main_Resources_original

Materials_checkAddress:
  cmp [Resources_address+20],rbx
  je Materials_setValue
  mov [Resources_address+20],rbx
  mov rbx,[rbx]
  mov [Resources+10],ebx
Materials_setValue:
  mov ebx,[Resources+10]
  mov [rax+rcx*8+10],ebx
  mov eax,ebx
  jmp Main_Resources_original

Inventory_rsi_code:
  mov [rsi_flags+28],rsi
  reassemble(Inventory_rsi_INJECT+C)
  jmp Inventory_rsi_return
Inventory_rsi_original:
  readmem(Inventory_rsi_INJECT+C,5)

Inventory_rdi_code:
  mov [rdi_flags],rdi
  reassemble(Inventory_rdi_INJECT+24)
  jmp Inventory_rdi_return
Inventory_rdi_original:
  readmem(Inventory_rdi_INJECT+24,5)

Inventory_checkAddress:
  cmp [Resources_address],rbx
  je Resources_original
  cmp [Resources_address+8],rbx
  je Resources_original
  cmp [Resources_address+10],rbx
  je Resources_original
  cmp [Resources_address+18],rbx
  je Resources_original
  cmp [Resources_address+20],rbx
  je Resources_original
Inventory_setValue:
  mov ebx,[Inventory]
  mov [rax+rcx*8+10],ebx
  jmp Resources_original

Inventory:
  dd Inventory_initValue

Main_Resources_Flag_INJECT+20:
  jmp Prestige_saveFlag
  db 90 90 90 90
Prestige_return:

Main_Resources_Flag_INJECT+3D:
  jmp Food_saveFlag
  db 90 90 90 90
Food_return:

Main_Resources_Flag_INJECT+5A:
  jmp Wealth_saveFlag
  db 90 90 90 90
Wealth_return:

Main_Resources_Flag_INJECT+77:
  jmp Timber_saveFlag
  db 90 90 90 90
Timber_return:

Main_Resources_Flag_INJECT+94:
  jmp Materials_saveFlag
  db 90 90 90 90 90
Materials_return:

Main_Resources_INJECT+A:
  jmp Main_Resources_code
Main_Resources_return:

Resources_INJECT+9:
  jmp Resources_code
  db 90 90 90
Resources_return:

Inventory_rsi_INJECT+C:
  jmp Inventory_rsi_code
Inventory_rsi_return:

Inventory_rdi_INJECT+24:
  jmp Inventory_rdi_code
Inventory_rdi_return:

registersymbol(Main_Resources_Flag_INJECT)
registersymbol(Main_Resources_INJECT)
registersymbol(Resources_INJECT)
registersymbol(Inventory_rsi_INJECT)
registersymbol(Inventory_rdi_INJECT)
registersymbol(Prestige_original)
registersymbol(Food_original)
registersymbol(Wealth_original)
registersymbol(Timber_original)
registersymbol(Timber_original)
registersymbol(Inventory_rsi_original)
registersymbol(Inventory_rdi_original)
registersymbol(Resources_address)
registersymbol(Resources)
registersymbol(Inventory)

[DISABLE]
Main_Resources_Flag_INJECT+20:
  db FF 50 10
  readmem(Prestige_original,6)

Main_Resources_Flag_INJECT+3D:
  db FF 50 10
  readmem(Food_original,6)

Main_Resources_Flag_INJECT+5A:
  db FF 50 10
  readmem(Wealth_original,6)

Main_Resources_Flag_INJECT+77:
  db FF 50 10
  readmem(Timber_original,6)

Main_Resources_Flag_INJECT+94:
  db FF 50 10
  readmem(Materials_original,7)

Main_Resources_INJECT+A:
  db 48 8D 54 24 20

Resources_INJECT+9:
  db 8B 44 C8 10 48 83 C4 40

Inventory_rsi_INJECT+C:
  readmem(Inventory_rsi_original,5)

Inventory_rdi_INJECT+24:
  readmem(Inventory_rdi_original,5)

unregistersymbol(Main_Resources_Flag_INJECT)
unregistersymbol(Main_Resources_INJECT)
unregistersymbol(Resources_INJECT)
unregistersymbol(Inventory_rsi_INJECT)
unregistersymbol(Inventory_rdi_INJECT)
unregistersymbol(Prestige_original)
unregistersymbol(Food_original)
unregistersymbol(Wealth_original)
unregistersymbol(Timber_original)
unregistersymbol(Materials_original)
unregistersymbol(Inventory_rsi_original)
unregistersymbol(Inventory_rdi_original)
unregistersymbol(Resources_address)
unregistersymbol(Resources)
unregistersymbol(Inventory)
dealloc(newmem)
dealloc(rsi_flags)
dealloc(rdi_flags)
dealloc(Resources_address)
dealloc(Resources)
dealloc(Inventory)


does anyone know why it didn't work for those two?

Edited:

Sorry. I already found my mistake.
There was no register symbol for Materials_original
and there was 2 register symbol Timber_original
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites