Search code examples
c++readprocessmemorycheat-engine

C++ How can i do read/writeprocess with a given address from CE that contains a float?


I am currently working on teleport feature for a game trainer. I found the right static addresses containing a float:

picture of addresses with offsets

This address points to my X-coordinate. Now I am now trying to change my X-coordinate (a float) with read/write processmemory . But whatever i do it doesnt work (I have no problems with changing normal ints). I want to replace the value with a float that i choose before.

Can somebody please give me a detailed example how i can do this ?

Thank you in advance


Solution

  • 1) get process base address - Getting base address of a process hprocess is handle, pass there openprocess returned value (https://msdn.microsoft.com/en-us/library/windows/desktop/ms684320(v=vs.85).aspx)

    2) add 'teleport' offset to base address

    3) write given value to memory of process

    HANDLE hProcess = openProcess(processId); //you also need to pass desired mode, use read & write
    DWORD dwBaseAddress = getBaseAddress(hProcess): 
    DWORD dwPositionAddress = dwBaseAddress + POSITION_OFFSET; 
    float newPosition = 123.5;
    WriteProcessMemory(hProcess, dwPositionAddress, &newPosition, sizeof(float));
    

    you need to check for errors, this is just pseudocode to give you idea what you need to do, also make sure you run your trainer as admin and have access to game's memory