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 


Pointers in emulators (base address value)

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Sun Jan 30, 2022 8:32 pm    Post subject: Pointers in emulators (base address value) Reply with quote

Is there a way to use an address value in a script to create a pointer for emulators?
Emulator pointers doesn't work directly with Cheat Engine since they are just emulated values, but some addresses present values that change by the same amount the address I want.

I want to use the value pointed by an address as a base address for pointers.

Here's the address

0A115626
value = 80120621 (hex)

I want to use 80120621 as a base address. When 80120621 is increased with the offset +112 it always result on the address I want (Health).

Is it possible to do this using the script? To use an address value as another address? Thank you.
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4690

PostPosted: Sun Jan 30, 2022 9:24 pm    Post subject: Reply with quote

You're describing a pointer. Add a new address, check pointer box, base address = 0A115626, offset 1 = 112
CE will dereference the base address (to get 80120621), add offset 1 (112), and use the result as the address of the memory record.
Try the CE tutorial for more information.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25762
Location: The netherlands

PostPosted: Mon Jan 31, 2022 12:11 am    Post subject: Reply with quote

it's possible with the emurpm extension, but you must understand that address 0A115626 will be on a different location then e.g 80115626
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Mon Jan 31, 2022 10:04 am    Post subject: Reply with quote

Dark Byte wrote:
it's possible with the emurpm extension, but you must understand that address 0A115626 will be on a different location then e.g 80115626


That's what I need. Do you know where to find this plugin?
Back to top
View user's profile Send private message
LeFiXER
Grandmaster Cheater Supreme
Reputation: 20

Joined: 02 Sep 2011
Posts: 1069
Location: 0x90

PostPosted: Mon Jan 31, 2022 10:18 am    Post subject: Reply with quote

Fatamorgen wrote:
Dark Byte wrote:
it's possible with the emurpm extension, but you must understand that address 0A115626 will be on a different location then e.g 80115626


That's what I need. Do you know where to find this plugin?


github.com/emurpm.lua
Back to top
View user's profile Send private message
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Mon Jan 31, 2022 1:38 pm    Post subject: Reply with quote

LeFiXER wrote:
Fatamorgen wrote:
Dark Byte wrote:
it's possible with the emurpm extension, but you must understand that address 0A115626 will be on a different location then e.g 80115626


That's what I need. Do you know where to find this plugin?


github.com/emurpm.lua


Thanks
Back to top
View user's profile Send private message
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Mon Jan 31, 2022 10:39 pm    Post subject: 4 bytes long pointer address Reply with quote

Is there a way to make a pointer address 24 bits long? The one I get is 8 bytes long. Also How do I use the Emulator Memory (Set Base Address) feature?

In this case I'm using Duckstation libretro on Retroarch.

I need the B3A20 as the base address for the pointer. This increased by the offset 1170 (hex) gives me the address I want. But the problem is that this address will only work within the emulator only (like Gameshark, Action Replay and etc) that's where "Emulator Memory" enters I guess.

So what I want is to create an emulator pointer based cheat using CE.
I've found a tutorial on how to find pointers in an emulator, but that only showed me the way to find the base addresses and unfortunately emulators doesn't offer cheating software (Gameshark...) capable of using pointers Laughing >

https://youtu.be/_gk0vYYlm-E?t=127



12r12r12.png
 Description:
 Filesize:  59.78 KB
 Viewed:  9783 Time(s)

12r12r12.png


Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25762
Location: The netherlands

PostPosted: Mon Jan 31, 2022 11:53 pm    Post subject: Reply with quote

lua command setPointerSize(4) should work (3 might work as well)


and you may want to type over the address instead instead of taking the name like that, as that name will be wrong with rpmemu
Static addresses do not exist in that way for emulators (every address you find is theoreticall6 static and dynamic at the same time)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Tue Feb 01, 2022 4:23 pm    Post subject: Reply with quote

Dark Byte wrote:
lua command setPointerSize(4) should work (3 might work as well)


and you may want to type over the address instead instead of taking the name like that, as that name will be wrong with rpmemu
Static addresses do not exist in that way for emulators (every address you find is theoreticall6 static and dynamic at the same time)


Hi Dark.

So the only way to set the pointer size is through the script?

Maybe is much to ask but could you please show me how it would look like in the script and how could I use rpmemu?

Just a simple example or maybe a tutorial page that shows step-by-step Embarassed . Thank you.
Back to top
View user's profile Send private message
TheyCallMeTim13
Wiki Contributor
Reputation: 51

Joined: 24 Feb 2017
Posts: 976
Location: Pluto

PostPosted: Tue Feb 01, 2022 4:42 pm    Post subject: Reply with quote

select some where in the address list and paste this in (Ctrl+V).
Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"Set Pointer Size 4  ()-&gt;"</Description>
      <LastState/>
      <Color>000000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[Enable]
setPointerSize(4)
[Disable]
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

_________________
Back to top
View user's profile Send private message Visit poster's website
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Tue Feb 01, 2022 5:41 pm    Post subject: Reply with quote

TheyCallMeTim13 wrote:
select some where in the address list and paste this in (Ctrl+V).
Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"Set Pointer Size 4  ()-&gt;"</Description>
      <LastState/>
      <Color>000000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[Enable]
setPointerSize(4)
[Disable]
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


Unfortunately the emulators that I use don't deal with pointers from what I know and the only way I've found is by using CE. There's a tutorial that shows how to get this workin' on Dolphin, but since it's another emulator I couldn't get the rpmemu to work on Duckstation libretro (Playstation). I know how to find the pointer in the emulator, but don't know how to properly convert the values in CE a way that it'll work even if I close and reopen the emulator. Fact is that I know little and suck in program line. Embarassed.



Untitled5211.png
 Description:
 Filesize:  14.5 KB
 Viewed:  9666 Time(s)

Untitled5211.png



Untitled51.png
 Description:
 Filesize:  20.54 KB
 Viewed:  9688 Time(s)

Untitled51.png


Back to top
View user's profile Send private message
markinfurkin
How do I cheat?
Reputation: 0

Joined: 20 Sep 2009
Posts: 6

PostPosted: Wed Jul 09, 2025 2:36 pm    Post subject: Same issue here Reply with quote

I had the same problem with both Duckstation and Retroarch, and I solved it with LUA and doing substring and concat and then register symbol to use like reference


Captura de Tela 2025-07-09 a&#768;s 17.35.37.png
 Description:
using symbol
 Filesize:  301.57 KB
 Viewed:  87 Time(s)

Captura de Tela 2025-07-09 a&#768;s 17.35.37.png



Captura de Tela 2025-07-09 a&#768;s 17.30.57.png
 Description:
pointer 80XXXXXX
 Filesize:  141.08 KB
 Viewed:  87 Time(s)

Captura de Tela 2025-07-09 a&#768;s 17.30.57.png



Captura de Tela 2025-07-09 a&#768;s 17.24.31.png
 Description:
Function update Pointer
 Filesize:  90.91 KB
 Viewed:  87 Time(s)

Captura de Tela 2025-07-09 a&#768;s 17.24.31.png


Back to top
View user's profile Send private message
Fatamorgen
Cheater
Reputation: 0

Joined: 17 Feb 2021
Posts: 29

PostPosted: Wed Aug 20, 2025 9:41 am    Post subject: Re: Same issue here Reply with quote

markinfurkin wrote:
I had the same problem with both Duckstation and Retroarch, and I solved it with LUA and doing substring and concat and then register symbol to use like reference


Thanks for the answer, bro. But unfortunately it's been a long time and these days I don't have time for cheating in games anymore he he. I just play them for barely some minutes.
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