• 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
      Jr.Hacker
      Haze-Productions
       
      Coding
       
      rN''s Avatar
      Join Date
      Jan 2014
      Posts
      340
      Thanks (-->)
      20
      Thanks (<--)
      126

      [BF3|4] Setup a external Base

      John Kittz
      Hey Guiys, I will show you how you can setup easy a external Base for Battlefield 3/4. I'm using Battlefield 3 for the Tutorial. It works for Battlefield 4 also but may something different!

      What you need:
      • Reverse Engineering knowledge
      • Knownledge abou the Engine


      Okay, we need giveimportant pointer to classes for the Base.
      1. ClientGameContext (Includes the location to ClientPlayerManager)
      2. ClientPlayerManager (Has the list of all Players)
      3. ClientPlayer (Contains Player Name & TeamId,..)
      4. ClientSoldierEntity (Includes stuff like IsOccluded(for visible check) and the pointer to ClientSoldierReplication)
      5. ClientSoldierReplication (Contains position, velocity, state,.. )


      Exercise 1:
      1. Find to Offset to ClientGameContext
      2. Inside ClientGameContext find the offset of the Pointer for LocalClientPlayer and the offset of the Pointer for ClientPlayerToId


      Now we take a look at the snippit from the SDK (use google for this):
      Code:
      class ClientSoldierReplication
      {
      public:
      	fb::Vec3	m_Position; // this + 0x10
      	fb::Vec3	m_Velocity; // this + 0x30
      	__int32		m_nState; // this + 0x58
      };
      class ClientSoldierEntity
      {
      public:
      	ClientSoldierReplication* m_SoliderReplication; // this + 0x24C
      };
      
      };
      class ClientPlayer : public Player
      {
      public:
      	char[16]		m_Name; // 0x24
      	__int32			m_Team;	// this + 0x31C | see class Player
      	ClientSoldierEntity* 	m_SoldierEntity; // this + 0x3C0
      
      };	
      
      class ClientPlayerManager
      {
      public:
      	ClientPlayer*	m_localPlayer; // this + 0xB8
      	ClientPlayer*	m_iToPlayerMap; // this + 0xBC
      };
      
      class ClientGameContext
      {
      public:
          ClientPlayerManager* m_clientPlayerManager; // this + 0x30
      };
      Exercise 2:
      Now we need two new classes called LocalPlayer and OnlinePlayer which contains the variables for position, etc and three new Functions to get the Context & Fill the classes.
      Code:
      namespace fb
      {
      	DWORD_PTR pClientGameContext, pPlayerManager, pLocalPlayer, pIdToPlayerMap = 0;
      
      	class OnlinePlayer
      	{
      	public:
      		//ClientPlayer
      		DWORD_PTR	m_ClientPlayer;
      		char		Name[ 16 ];
      		int		m_TeamId;
      
      		// ClientSoldierEntity
      		DWORD_PTR	m_ClientSoldier;
      		BYTE		m_isOccluded;
      
      		//ClientSoldierReplication
      		DWORD_PTR	m_ClientSoldierReplication;
      		D3DXVECTOR3	position;
      		D3DXVECTOR3	veclocity;
      		int		state;
      
      	};
      	class LocalPlayer : public OnlinePlayer
      	{
      	public:
      	
      	};
      };
      So that's our classes. Now we need the function to get our GameContext, LocalPlayer Data & OnlinePlayerData. We can add a Pointer check:
      Code:
      #define PointerIsValid(ptr && HIWORD(ptr) != NULL)
      That is the way to get the current ClientGameContext & ClientPlayerManager.
      Code:
      bool UpdateGameContext( void )
      {
      	fb::pClientGameContext = Read< DWORD_PTR >( OFFSET_CLIENTGAMECONTEXT );
      	if( !PointerIsValid( fb::pClientGameContext ) )
      		return false;
      
      	fb::pPlayerManager = Read< DWORD_PTR >( fb::pClientGameContext + 0x30 );
      	if( !PointerIsValid( fb::pPlayerManager ) )
      		return false;
      
      	fb::pLocalPlayer = Read< DWORD_PTR >( fb::pPlayerManager + 0xB8 );
      	if( !PointerIsValid( fb::pLocalPlayer ) )
      		return false;
      
      	fb::pIdToMapPlayer = Read< DWORD_PTR >( fb::pPlayerManager + 0xBC );
      	if( !PointerIsValid( fb::pIdToMapPlayer ) )
      		return false;
      	return true;
      }
      And now it's your turn. You have the base Pointer and all Offsets off pointer to the classes & offsets for the variables.
      Code:
      bool UpdateLocalPlayer( LocalPlayer* pLocal )
      {
      	memset( pLocal, 0, sizeof( pLocal ) );
      	
      	
      }
      bool UpdateOnlinePlayer( OnlinePlayer* pPlayer, int id )
      {
      	memset( pPlayer, 0, sizeof( pPlayer );
      }
      Done with this? Then let's start and check if your RPM calls are working!
      Code:
      fb::LocalPlayer pLocal;
      if( !UpdateLocalPlayer( &pLocal ) )
      	printf( "[+] Unable to update the local Player!\n" );
      	return;
      
      for( int i = 0; i < 64; i++ )
      {
      	OnlinePlayer pEntity;
      	if( !UpdateOnlinePlayer( &pEntity, i ) )
      		printf( "[+] Unable to update Entity[ %.2d ]!\n", i );
      		return;
      	
      	printf( "Entity[ %.2d ]: %s\n", i, pEntity->m_Name );
      }
      Credits:
      • reactiioN'
      • IChooseYou
      • smallC



      Best regards,
      rN'

    2. Thanks squeenie thanked for this post
    3. #2
      Newbie
      Summer vacation!
       
      Coding
       
      alpente's Avatar
      Join Date
      Jun 2014
      Posts
      6
      Thanks (-->)
      0
      Thanks (<--)
      0
      can you help me to do an ESP for bf3 with the tutorial that posted fleep ? because i can't find the VMatrix

    4. #3
      Jr.Hacker
      Haze-Productions
       
      Coding
       
      rN''s Avatar
      Join Date
      Jan 2014
      Posts
      340
      Thanks (-->)
      20
      Thanks (<--)
      126
      Cheats'n'Trainers
      Quote Originally Posted by alpente View Post
      can you help me to do an ESP for bf3 with the tutorial that posted fleep ? because i can't find the VMatrix
      It's your turn. Take a loot at GameRenderer and DxRenderer classe.
      Best regards

    Similar Game Hacker Threads

    1. [Off Topic] Your Setup
      By Crazywink in forum Off Topic
      Replies: 31
      Last Post: 03-04-2017, 03:48 PM
    2. [Off Topic] Home FTP/NAS Setup
      By Obsta in forum Off Topic
      Replies: 4
      Last Post: 09-25-2015, 11:27 AM
    3. [Tutorial] CSS External Base AIMBOT with Source Code
      By NubTIK in forum Counter-Strike: Source Hacks
      Replies: 73
      Last Post: 09-26-2013, 12:17 PM
    4. Help with "CSS External Base & AIMBOT"
      By cskimmo69 in forum C/C++
      Replies: 8
      Last Post: 07-15-2013, 07:55 AM

    Tags for this Thread