CE & VB.NET How I programatically change value

Posts 1–8 of 8 · Page 1 of 1
CE & VB.NET How I programatically change value
Well is not that type of regular value... is kind of a pointer inception thing going around...

I have this pointer:
Code:
GodsWar.exe+01176387 + 4


And the value I want to modify is an actual address that is accessing that pointer... which is constantly comparing if the value is either 1 or 0...





How can I make that address a pointer so I can replace:
Code:
cmp byte ptr[eax+04], 00
To

Code:
cmp byte ptr[eax+04], 01
???

I'm using ReadWritingMemory Module from master131 and the Reading / writing pointers from Lovordoman or something like that
uGqoY5y.png5 KB · 9 downloads
"How can I make that address a pointer..."

huh?


the game.exe instruction you want to change is:


80 78 04 00 | cmp byte ptr [eax+04],00

the bytes for that insruction are 80 78 04 00

the last byte, the 00, is the value it's being compared to.

change that last byte from a 0 to a 1 --> WriteProcessMemory().
(edit:^^ make sure the mem. region is writable before calling WriteProcessMemory..usually exec. regions aren't)

old instruction:
80 78 04 00 | cmp byte ptr [eax+04],00
new instruction:
80 78 04 01 | cmp byte ptr [eax+04],01

but I don't know what you mean to "make that address a pointer" -- you mean find a pointer to that address? Same way you find any pointer..? Sounds like a good case for "FindPattern()": if you know the gamecode you want to search for but can't find a static pointer to it. Find the game.exe code using FindPattern() if you can't find a static pointer list for it.
Changing 1 byte of that instruction has nothing to do with 'making something into a pointer'.
Well my problem is that I'm writing to an address specifically, e.g.

Code:
00493394
and when I sent my tool to a friend of mines he said it didn't worked on his computer... Now my question is if I simply add the base address of the game + the address I'm writing to, will it then work on his computer? e.g.

Code:
The_Game.exe+93394
Will it work on his end?

*Edit*

just tested with BaseAddress + GameAddress and it didn't worked on my friend's computer...

How can I make or have a pointer to address 00493394? so whenever it's opened in whatever computer it will change the bytes correctly...?
post code. specifically the part declaring the memory addr and writing to it (..don't need to see the whole memory library).

"How can I make or have a pointer to address 00493394?"

mm well old games (32 bit, windows xp ?) used 0x00400000 for the base of the program..so 0x0493394 *looks like* that base + 93394 .. so, maybe.
you did the 93394 in hex right?
.MainModuleBase + &H93394, not mainmodulebase + 93394 ?
..post code.
Quote Originally Posted by abuckau907 View Post
post code. specifically the part declaring the memory addr and writing to it (..don't need to see the whole memory library).

"How can I make or have a pointer to address 00493394?"

mm well old games (32 bit, windows xp ?) used 0x00400000 for the base of the program..so 0x0493394 *looks like* that base + 93394 .. so, maybe.
you did the 93394 in hex right?
.MainModuleBase + &H93394, not mainmodulebase + 93394 ?
..post code.
It's ok, thank you for your effort in helping me anyways! I have solved all my issues so far~!

Thank you again~! Seem like the only person wanting to help

Best Regards
Ah, awesome, I'm glad the problem was solved. Thank you for saying 'thank you' : )
Can you help me on this other stuff?

If (Seal.LicenseType = LicenseType.Free) Then
LicenseRenewEx()
Dim F As String = Seal.GetVariable("741MPM43747863P11M3A")
Call (Sub() F.ToString())() '<--- How can I make this load the variable F correctly and make the call?
'LicenseFREE()
End If
Only if you can ask an informed question...not like those functions are built into vb ..someone made them -- I know as much about these functions as you do : |
Posts 1–8 of 8 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?