Results 1 to 4 of 4
  1. #1
    NB81's Avatar
    Join Date
    May 2012
    Gender
    male
    Location
    Germany?
    Posts
    55
    Reputation
    10
    Thanks
    10

    Non-static adresses

    Hey!

    Today I messed around with memory manipulation in C#. After I had to change a label's text to an adress that have been read from the memory, I noticed, after I change that value ingame, the adress will change too. So it is non-static. How can I work with these in C#? I read something about pointers or something, but I would be very happy if you could tell me about this(I'm new to cheat-engine things).

    Thanks a lot!

  2. #2
    rabir007's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Location
    Behind you...
    Posts
    2,323
    Reputation
    148
    Thanks
    1,925
    My Mood
    Bored
    Quote Originally Posted by NB81 View Post
    Hey!

    Today I messed around with memory manipulation in C#. After I had to change a label's text to an adress that have been read from the memory, I noticed, after I change that value ingame, the adress will change too. So it is non-static. How can I work with these in C#? I read something about pointers or something, but I would be very happy if you could tell me about this(I'm new to cheat-engine things).

    Thanks a lot!
    Code:
    uint RuntimePointer = *(uint*)(BaseModule + Pointer)
    *(int*)(RuntimePointer + Offset) = 5;
    and example:
    Code:
    uint pWeapon = *(uint*)(GetModuleHandle("Engine.dll") + Weapon);
    *(int*)(pWeapon + Ammocount) = 9999;
    This may change on the games... Some games uses Multi-level offsets, so you would need more offset...
    Code:
    
    
    Code:
    uint RuntimePointer = *(uint*)(BaseModule + Pointer)
    uint Pointer2 = *(uint*)(RuntimePointer + Offset1);
    uint Pointer3 = *(uint*)(Pointer2 + Offset2);
    uint Pointer4 = *(uint*)(Pointer3 + Offset3);
    *(int*)(Pointer4 + FinalOffset) = 5;
    


    I hope its help you...

    If the Base Module is the process itself (game.exe) then
    Code:
    uint RuntimePointer = *(uint*)(Pointer);


    You may change the uint to anything else, depends you must use a variable with the same size as the game...

    Like:
    DWORD ( 4 bytes) = uint / int (both 4 bytes)
    IntPtr also 4 byte in x86 system, but 8 byte on x64 systems...

    Good Luck...
    If you need further help, call me, i'm also using C# to create hacks (for game called: Crossfire)
    Last edited by rabir007; 06-08-2013 at 04:57 AM.







  3. #3
    Pingo's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Posts
    687
    Reputation
    24
    Thanks
    865
    My Mood
    Blah
    What rabir007 failed to mention is you will need to be inside the process for that code to work.
    The concept is the same but make sure you use read/write processmemory if you're outside the process..

  4. #4
    rabir007's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Location
    Behind you...
    Posts
    2,323
    Reputation
    148
    Thanks
    1,925
    My Mood
    Bored
    Quote Originally Posted by Pingo View Post
    What rabir007 failed to mention is you will need to be inside the process for that code to work.
    The concept is the same but make sure you use read/write processmemory if you're outside the process..
    Not failed, i forgotten to mention... But isn't so hard to convert into external hack...







Similar Threads

  1. [Help Request] static adresses,pointers?! OMG
    By pipipipu in forum Alliance of Valiant Arms (AVA) Help
    Replies: 2
    Last Post: 05-21-2013, 04:50 AM
  2. Fucking Stupid Non-commys
    By The_Enigma in forum Flaming & Rage
    Replies: 21
    Last Post: 06-27-2009, 03:23 AM
  3. Callin All Non - Bs Hackers
    By supatanka in forum General
    Replies: 3
    Last Post: 05-30-2006, 07:47 PM
  4. Replies: 3
    Last Post: 01-04-2006, 09:52 PM
  5. Direct Memory Access (DMA) to Static Memory Addresses
    By Dave84311 in forum Game Hacking Tutorials
    Replies: 0
    Last Post: 12-31-2005, 08:18 PM