• Amused
  • Angry
  • Annoyed
  • Awesome
  • Bemused
  • Cocky
  • Cool
  • Crazy
  • Crying
  • Down
  • Drunk
  • Embarrased
  • Enraged
  • Friendly
  • Geeky
  • Godly
  • Happy
  • Hateful
  • Hungry
  • Innocent
  • Meh
  • Piratey
  • Poorly
  • Sad
  • Secret
  • Shy
  • Sneaky
  • Tired
  • Wtf
  • At Work
  • CodenzHub
  • Coding
  • Deejaying
  • Donating
  • Drinking
  • Eating
  • Editing
  • Hacking
  • Hate Mailing
  • Jamin'
  • Lagging
  • Live Streaming
  • Lurking
  • No Status
  • Pawning
  • PC Gaming
  • PS Gaming
  • Raging
  • Reversing
  • Sleeping
  • Steam Gaming
  • Trolling
  • TwitchStreamer
  • Vodka!
  • Watching TV/Movie
  • Xbox Gaming
  • Youtuber
  • Zombies
  • Results 1 to 3 of 3
    1. #1
      Newbie
      Learning to hack games!
       
      Feeling Normal
       
      meekaah's Avatar
      Join Date
      Nov 2013
      Posts
      3
      Thanks (-->)
      0
      Thanks (<--)
      0

      Question 64bit multilevel pointers

      Silent VPN
      Hi guys,
      i'm working on a little stats app for BF4 and i need to get the current active weapon
      i have the correct offsets but it doesn't seem to work on 64bits

      here is the code i'm currently using:

      [PHP]
      var process = Process.GetProcessesByName("bf4")[0];
      var baseAddress = new IntPtr(0x1423830C8); //bf4 GameContext
      var offsetList = new int[] { 0x60, 0x2A0, 0xDC0, 0x550, 0x7E0, 0x38 };
      var buffer = new byte[4];
      var lpOutStorage = IntPtr.Zero;

      // Read the base pointer..
      var success = ReadProcessMemory(process.Handle, baseAddress, buffer, (uint)buffer.Length, ref lpOutStorage);
      if (success)
      {
      // Loop each offset and read the pointers..
      for (int x = 0; x < offsetList.Length - 1; x++)
      {
      baseAddress = (IntPtr)BitConverter.ToInt32(buffer, 0) + offsetList[x];
      if (!ReadProcessMemory(process.Handle, baseAddress, buffer, (uint)buffer.Length, ref lpOutStorage))
      throw new Exception("error reading memory");
      }

      // Read the last pointer+offset as the main value..
      var valueBuffer = new byte[255];
      baseAddress = (IntPtr)BitConverter.ToInt32(buffer, 0) + offsetList[offsetList.Length - 1];
      if (!ReadProcessMemory(process.Handle, baseAddress, valueBuffer, (uint)valueBuffer.Length, ref lpOutStorage))
      throw new Exception("error reading memory");
      }
      [/PHP]

      what would need to be changed for it to work with 64bit app?

      I've compiled in 64bits of course
      If anyone has an idea, i'd be grateful

      Thanks

    2. #2
      Kim Kong Trasher
      I don't have status.
       
      Raging
       
      c5's Avatar
      Join Date
      Jul 2012
      Location
      Mankei Iland
      Posts
      1,221
      Thanks (-->)
      97
      Thanks (<--)
      492
      ToInt32 <-- that is your problem
      64bit multilevel pointers

    3. #3
      Newbie
      Learning to hack games!
       
      Feeling Normal
       
      meekaah's Avatar
      Join Date
      Nov 2013
      Posts
      3
      Thanks (-->)
      0
      Thanks (<--)
      0
      Silent VPN
      Quote Originally Posted by c5 View Post
      ToInt32 <-- that is your problem
      thanks!

      After changing the ToInt32 to ToInt64 and changing my buffer from 4 to 8 i got it working
      thanks a lot

    Similar Game Hacker Threads

    1. [Source Code] Find DMA Addy - How To Pointer C++
      By [GH]Rake in forum Tutorials and Snippets
      Replies: 6
      Last Post: 05-20-2017, 06:17 PM
    2. [Help] Reading Multilevel pointers [Visual Studio 2013]
      By ZxPwd in forum Visual Basic
      Replies: 9
      Last Post: 11-17-2014, 12:32 PM
    3. [Help] MultiLevel Pointers
      By Mikail601 in forum GH Tutorials Help
      Replies: 1
      Last Post: 01-12-2014, 02:16 PM
    4. [Help] Multilevel pointers problem
      By Heisa in forum Hacking Help
      Replies: 23
      Last Post: 12-11-2013, 11:57 AM
    5. Replies: 4
      Last Post: 04-02-2013, 07:50 AM

    Tags for this Thread