View previous topic :: View next topic |
Author |
Message |
bien1 How do I cheat? Reputation: 0
Joined: 25 Jul 2010 Posts: 4
|
Posted: Sun Jul 25, 2010 5:31 am Post subject: How to search pointers on PCSX2? |
|
|
Hello,
I'm newbie, except that english is not my language. sorry
I have the PCSX2 0.97 (svn)r3000.
my search is going well. But only find dynamic adresses, change every execution of my emulator, forced forced to do the same process every time.
I know something about virtual memory...
I use Phaste ver1.20 to find the base adress of PCSX2 but the base adress also change on every execution!
Can anyone help?
Thanks in advance. |
|
Back to top |
|
|
bien1 How do I cheat? Reputation: 0
Joined: 25 Jul 2010 Posts: 4
|
Posted: Mon Jul 26, 2010 3:48 am Post subject: |
|
|
Quote: | this is running inside an emulator so the default method of finding pointers will not work here
You need to find the pointer to the base address of the emulated memory, and if you want a offset you're going to need to use the address-baseoffset as offset (offsets will be huge)
that's all I can quickly explain and won't be easy.
|
|
|
Back to top |
|
|
SwaggaJackin' Master Cheater Reputation: 2
Joined: 06 Nov 2009 Posts: 304
|
Posted: Mon Jul 26, 2010 8:15 am Post subject: |
|
|
It's actually very very easy to find the pointer to the base address if you have the source.
If you check out memory.cpp, there is a pointer called 'psM', add a watch and debug pcsx2. Break pcsx2 during debug and have cheat engine search for the value. Change the value in visual studios and have cheat engine search again for the value you changed it to and you'll find the static address of the pointer and it never changes.
So when you run the release version, have cheat engine attach to it and the address the base pointer points to is the beginning of the PS2 memory.
To make searching easy, since the ps2 only has 32MB of memory, set the search range to +0x02000000 from the base pointers starting point.
for example:
say the base pointer is pointing to '06B120000'. Set the search range to '06B12000' - '08B12000'.
You can also add codes in raw format easily if you have the base address. Codebreaker codes are in raw format. You can convert other code types to raw using a tool called 'omniconvert' available at codemasters project.
So if a codebreaker code says 12036B1C 0000FFFF the address would be:
06b12000 + 02036b1c = 08B48B1C (16-bit/2 bytes)
nxxxxxxx xxxxxxxx
if n = 0 it's a 8-bit address
if n = 1 it's a 16-bit
if n = 2 it's a 32-bit address.
I'm not gonna explain further, that should get you started and if you still don't know what to do...oh well. |
|
Back to top |
|
|
bien1 How do I cheat? Reputation: 0
Joined: 25 Jul 2010 Posts: 4
|
Posted: Thu Jul 29, 2010 5:26 am Post subject: |
|
|
SwaggaJackin' wrote: | It's actually very very easy to find the pointer to the base address if you have the source.
If you check out memory.cpp, there is a pointer called 'psM', add a watch and debug pcsx2. Break pcsx2 during debug and have cheat engine search for the value. Change the value in visual studios and have cheat engine search again for the value you changed it to and you'll find the static address of the pointer and it never changes.
So when you run the release version, have cheat engine attach to it and the address the base pointer points to is the beginning of the PS2 memory.
To make searching easy, since the ps2 only has 32MB of memory, set the search range to +0x02000000 from the base pointers starting point.
for example:
say the base pointer is pointing to '06B120000'. Set the search range to '06B12000' - '08B12000'.
You can also add codes in raw format easily if you have the base address. Codebreaker codes are in raw format. You can convert other code types to raw using a tool called 'omniconvert' available at codemasters project.
So if a codebreaker code says 12036B1C 0000FFFF the address would be:
06b12000 + 02036b1c = 08B48B1C (16-bit/2 bytes)
nxxxxxxx xxxxxxxx
if n = 0 it's a 8-bit address
if n = 1 it's a 16-bit
if n = 2 it's a 32-bit address.
I'm not gonna explain further, that should get you started and if you still don't know what to do...oh well. |
Thanks for the reply.
But, without the source code, only with the executable, can be achieved? |
|
Back to top |
|
|
rfb Newbie cheater Reputation: 0
Joined: 01 Apr 2016 Posts: 15
|
Posted: Wed Jun 08, 2016 9:34 am Post subject: |
|
|
SwaggaJackin' wrote: | It's actually very very easy to find the pointer to the base address if you have the source.
If you check out memory.cpp, there is a pointer called 'psM', add a watch and debug pcsx2. Break pcsx2 during debug and have cheat engine search for the value. Change the value in visual studios and have cheat engine search again for the value you changed it to and you'll find the static address of the pointer and it never changes.
So when you run the release version, have cheat engine attach to it and the address the base pointer points to is the beginning of the PS2 memory.
To make searching easy, since the ps2 only has 32MB of memory, set the search range to +0x02000000 from the base pointers starting point.
for example:
say the base pointer is pointing to '06B120000'. Set the search range to '06B12000' - '08B12000'.
You can also add codes in raw format easily if you have the base address. Codebreaker codes are in raw format. You can convert other code types to raw using a tool called 'omniconvert' available at codemasters project.
So if a codebreaker code says 12036B1C 0000FFFF the address would be:
06b12000 + 02036b1c = 08B48B1C (16-bit/2 bytes)
nxxxxxxx xxxxxxxx
if n = 0 it's a 8-bit address
if n = 1 it's a 16-bit
if n = 2 it's a 32-bit address.
I'm not gonna explain further, that should get you started and if you still don't know what to do...oh well. |
Could you please explain that in a "for dummies" way? I can't understand what you said, mostly because of the technical words, but the subject really interests me and I am willing to learn about it. Could you please be so kind as to indulge my request? |
|
Back to top |
|
|
|