UnhappySolvedCode For Changing Value In Pointer

Posts 1–8 of 8 · Page 1 of 1
Code For Changing Value In Pointer
Hey People, i need the help of good coders(there are verry good in this section)

For a game, doesn't matter which(if you want to know which ask) i wrote a dll which changes the vallue of your kills to 999.If you kill you then you get 999 exp (prety much normal is 100-120) and this in 20 secs. But My Script doesnt work. And in this Text the Offsets are also wrong.

The CE pointer is Exp/Kills: "ava.exe"+01C65350]+374]+3c0]+18]+8]+224

Here the Code

Code:
/*
This is the Project Code

*/
#include <Windows.h>
#include <iostream>
#include <stdio.h>

using namespace std;
//SpeicherAdressen, Pointer
#define Points 0x00000176
#define Offset2 0x0034
#define Offset3 0x00000012
#define Offset4 0x00000008
#define Offset5 0x000000E0

//RandomStuff
DWORD BasePointer = 0;

//Nur temporar ausgebaut DWORD *ingame = (DWORD*)PlayerPointer;
bool State = false;

//Hier ist eine Funktion, bis jetzt kann sie nur immer wenn der Wert 0 ist die Kills auf 999 hochschrauben

void punkte()    // unsere main funktion
{
        if(State)
    {	
		DWORD dwOffset4 = *(DWORD*)Offset4;
        DWORD dwBasePointer = *(DWORD*)BasePointer;  
        if(dwBasePointer != 0) 
        {
            DWORD &dwPoints = *(DWORD*)(dwOffset4 + Offset5); 

            dwPoints = 999; 

        }

    }
    else // Vom State, also deaktivieren wir hier den Hack
    {
        DWORD dwBasePointer = *(DWORD*)BasePointer;  // machen wieder eine neue Variable wie oben
        if(dwBasePointer != 0)  
        {    
            DWORD &dwPoints = *(DWORD*)(dwBasePointer +  Points);  // wie oben definieren wir mithilfe des Pointers und Offsets die Adresse

            dwPoints = 0; //setzt den wert 0, also ist der Hack deaktiviert

        }
    }
}
DWORD WINAPI HackThread(LPVOID unused)
{	
	DWORD dwBasePointer = *(DWORD*)BasePointer;
    //---Hier wird unser BasePointer ausgerechnet !	
    DWORD ImageBase = (DWORD)GetModuleHandle(0);  
    BasePointer = ImageBase + 0x01C65350;  
	DWORD dwItemBase = *(DWORD*)(dwBasePointer + Points);
	DWORD dwOffset2 = *(DWORD*)(dwItemBase + Offset2);
	DWORD dwOffset3 = *(DWORD*)(dwOffset2 + Offset3);
	DWORD dwOffset4 = *(DWORD*)(dwOffset3 + Offset4);
	
	//---------------------------------------------

    for(; ;)  //Eine unendliche schleife weil wir die Adresse gefreezt haben wollen ;)
    {
        punkte();  //unsere main funktion wird ausgeführt
        if(GetAsyncKeyState(VK_F12)&1)State =! State; // Mit F12 aktivieren und deaktivieren wir den Hack
        Sleep(10);
    }
}

BOOL WINAPI DllMain(HINSTANCE mod, DWORD DWORD_GRUND, LPVOID res)
{
    switch(DWORD_GRUND)
    {
    case DLL_PROCESS_ATTACH:  //Falls die dll erfolgreich injeziert wird
        CreateThread(0, 0, &HackThread , 0, 0, 0);  // Wir erstellen den Thread in dem dann später injezierten Process
        break;
     case DLL_PROCESS_DETACH:  //Falls die dll den Process nicht mehr findet
        MessageBoxA(0, "Not Loaded", "Info",0);  //Eine Messagebox die sagt das dll nicht mehr geladen ist
        break;
    }
    return TRUE;
}
Notes are in German, if someone needs to know i translate it

---------- Post added at 09:16 PM ---------- Previous post was at 08:29 PM ----------

#Push(randomä1"↔Ú)
I dont get it. Reading your title I'd say
Code:
*(pointertype*)(*(addresstype*)address + offset) = value
Maybe this helps you
post cheat engine pointer de-referencing image
Here the Screen
Ok Here, but not all is read able: This is cutted "ava.exe"+01C65350

here is what u should do:
Code:
struct st6
{
    char unk[0x224];
    int value;
};
struct st5
{
    char unk[0x8];
    st6 t6;
};
struct st4
{
    char unk[0x18];
    st5 t5;
};
struct st3
{
    char unk[0x3C0];
    st4 t4;
};
struct st2
{
    char unk[0x374];
    st3 t3;
};
struct st1
{
    char unk[0x1C65350];
    st2 t2;
};


st1* t1 = (st1*)GetModuleHandle(NULL);
if (t1->t2)
    if (t1->t2->t3)
        if (t1->t2->t3->t4)
            if (t1->t2->t3->t4->t5)
                if (t1->t2->t3->t4->t5->t6)
                {
                          //change the value to 0.. you may 
                          t1->t2->t3->t4->t5->t6->value = 0;
                }
@zZzeta/S
Code:
*(DWORD*)(dwOffset4 + Offset5) = 999
Or you can use memcpy ?
Thx all clear /closerequest
Marked Solved and Closed on Request.
Posts 1–8 of 8 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?