help memory address

Posts 1–12 of 12 · Page 1 of 1
help memory address
Hello,

so i am a beginner in c++ , i have create my wallhacks... But now i would change the memory address with my DLL but that don't work ...

I have try somethings but i have a questions...

First how change the memory address ?

How display the value of memory address in messagebox ?

i try something like that :

Code:
 *(int*)0x000 =  0;
The game crash

Code:
 char* ptr = (char*)address;
*ptr = "nouvelle valeur";
don't work...

And i saw some source code for hacks
Code:
*(DWORD*)((*(DWORD*)SpeedHack) + 0x20) = 0x46A29CE8;
I don't understand this line... What is this ? And what is 0x20 ?

And my last question is how you get address memory ? I use ida pro... It's good ? I know i have so many question but i want to know so please answer me thanks.
0x20 I believe is called the offset
Quote Originally Posted by noname_2 View Post
so i am a beginner in c++ , i have create my wallhacks... But now i would change the memory address with my DLL
Don't need to lie about making wallhacks... Just ask for help.

Quote Originally Posted by noname_2 View Post
i try something like that :

Code:
*(int*)0x000 = 0;
The game crash
The code is right, the address is wrong.

Quote Originally Posted by noname_2 View Post
And i saw some source code for hacks
Code:
*(DWORD*)((*(DWORD*)SpeedHack) + 0x20) = 0x46A29CE8;
I don't understand this line... What is this ? And what is 0x20 ?
"SpeedHack" is a pointer to an offset that (probably) holds the player speed. 0x20 is what you have to add (in this case) to the value read from the pointer to get the right address that is going to be modified.
More accurately, SpeedHack is a pointer to a structure/class. The member of the structure/class that resides at 0x20 bytes into the structure/class is the variable that controls speed.

Your second snippet that you tried does not work most likely because the pointer actually points to the character array itself. However, the assignment of a string literal will yield a pointer, not the character array itself. So you are overwriting the character array with a pointer to a character array, which is clearly wrong. There is no need to dereference the pointer when you are assigning a string literal to the pointer. This is all under the assumption that the pointer is a pointer to a character array.
Hi, thanks for your answers.

Don't need to lie about making wallhacks... Just ask for help.
I don't lie

Code:
		pDevice->SetRenderState(D3DRS_ZENABLE, false);
			pDevice->SetTexture(0, texRed);
			pDrawIndexedPrimitive(pDevice,pType D3DparamvalX,nMinIndex,nNumVertices,nStartIndex,nPrimitiveCount);
			pDevice->SetTexture(0, texRed);
			pDevice->SetRenderState(D3DRS_ZENABLE, true);

That's work...
Quote Originally Posted by MarkHC View Post
The code is right, the address is wrong.
Yes i know i had make exactly this but i don't make 0x000 i make : 0x008996a4

so if it's wrong how to get memory address because on IDA pro
Code:
seg000:005AFAB8 00000006 Europe server
it's a exemple, i take this in the strings list...
005AFAB8 it's address right ? So i can change the text no ?
Quote Originally Posted by noname_2 View Post
I don't lie
Making =/= Copy&Pasting
Learning some fucking Programming Language, Usually Helps.
I'd say you have no FUCKING Clue what goes Where,
You've made a Wall hack, Congratulations, Because Direct3D is so Hard and all Brah.

Also, Crashing? i doubt you know Anything in the way of Deadliest(SCA), or DCA.
Love the MPGH Fashion, stroll in sit on the Fucking Post bandwagon, and go "Look Boiz, i can Code Bruv".

Learn at least some Fucking Syntax Knowledge, before you try anything over your Apple sized Brain.
Dead set.

Anyways, my rant is Over.
Between, this "Snowy Gay Fucked up Queer Shit" is Annoying.

Adios, <3
Quote Originally Posted by 11Swift11 View Post
Learning some fucking Programming Language, Usually Helps.
I'd say you have no FUCKING Clue what goes Where,
You've made a Wall hack, Congratulations, Because Direct3D is so Hard and all Brah.

Also, Crashing? i doubt you know Anything in the way of Deadliest(SCA), or DCA.
Love the MPGH Fashion, stroll in sit on the Fucking Post bandwagon, and go "Look Boiz, i can Code Bruv".

Learn at least some Fucking Syntax Knowledge, before you try anything over your Apple sized Brain.
Dead set.

Anyways, my rant is Over.
Between, this "Snowy Gay Fucked up Queer Shit" is Annoying.

Adios, <3
Can you gtfo? All you fking do is post shit and tell ppl to fking learn without helping. Don't believe me? Go review your last 10 posts. Stop trying to act pro. If you can't help, then don't fking post at all.

Still laughing you couldn't get the ammo address in soldier front with all the "knowledge" you have about coding and you leeched it from me to put it in your source code.
@gomomo11

I Leeched "your" Ammunition Addy? Your Clearly Joking Jesus.
Sadly, you dont know how to use a Write Memory Function, and you said the NOP Code was like Fucking 0x70?
Like Come the Fuck on "Mate".

I Gave you the Method to Finding it you Stupid Fuck.
Aswell as Making you the Function, you Jewish Gayfuck.
Quote Originally Posted by 11Swift11 View Post
Aswell as Making you the Function, you Jewish Gayfuck.
How sad you are. You gave me the method? LMFAO where da fk r u talking your information? Just gtfo kid, ur not worth shit.
@11Swift11

For real this kid talks all big and sht Gomomo11 is a coder gots all the codes for SF practically so stop being rude to him he's probably 3 times better than you and 1 time better than me so you gunna keep talking crap Stop posting on the forums because you're no help
@noname_2 are you injecting? you said " *(int*)0x000 = 0; "

do you know about Windows Virtual Memory Management? Each process has it's own memory.
If you ran " *(int*)0x000 = 0;" in your own C++ code, the address would be local to your program.
You need to use the Windows API OpenProcess() and ReadProcessMemory() -- unless you are injecting code and running raw asm. if so, how are you injecting dll in C++?

*(DWORD*)((*(DWORD*)SpeedHack) + 0x20) = ****
^^this refers to a memory location. And sets it's value to ****. (I hate C++ pointer syntax)
Basically it's reading a few pointers (one after the other) and setting the value at the final address
it could be re-written
Code:
var1 = *(SpeedHack)
var2 = *(Var1)
var3 = *(Var2 + 0x20)
*var3 = ****
Something like that. (where * is the C++ operator to 'get the value' at a pointer) I'm not quite sure on syntax etc. Take with a grain of salt.
0x20 is an offset. Basically the distance between some variable and it's parent structure (and how they align in ram) The game's source code has something like: A 'player' class, and inside that class is a 'speed' variable --> the compiler has to put them both somewhere -- 0x20 is their distance apart, in ram, calculated via the compiler. You must be able to use a debugger/semi-understand asm to find offsets yourself, it's all just a matter of looking at the game's actual source code.
It's as easy as finding important addresses(health, ammo, etc) (with memory scanner) then finding where in the game code those addresses are accessed (ie *healthLoc = newValue) -- WriteProcessMemory() to change game code to suite own needs. Or just WriteProcessMemory() to put new values into health,ammo, etc. --game may have anti-cheat checks.

edit: if you're not injecting, that line of code wouldn't affect the game process :/ ie. lie?

edit2: the 0x20 part was simplified --> since 0x20 is so small, it's probably actually part, not of the player class, but some other class (or struct!): and then the 'player' class has a private variable of that new class/struct. Since it's reading a couple pointer's it looks more like
Code:
allGameData= 0x11223344   // just an example!
playerData = *(allGameData + 5000)  //5000 is arbitrary, see comment below.
playerPosData = *(player + 100)    //(again, the 100 all depends on the class's size in ram(how many private variables it has) /compiler implementation)
playerSpeed = *(playerPosData + 0x20)
*playerSpeed = 1000  //1000 = fast? lol
^^there was only one offset in original example, and several pointers. Just an example using more offsets.
edit3:
Code:
*(DWORD*)((*(DWORD*)SpeedHack) + 0x20) = 0x46A29CE8;
^^is actually changing it's value to a new memory loc? Basically telling the game..
"no, player.Speed isn't stored where you thought, it's at 0x46A29CE8". or something close to that. maybe.
Posts 1–12 of 12 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us