Tutorial Battlefield Hack - BF3 BF4 Setup a external Base

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

rN'

Jr.Hacker
Meme Tier VIP
Jan 19, 2014
340
5,268
41
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):
C++:
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.
C++:
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:
C++:
#define PointerIsValid(ptr && HIWORD(ptr) != NULL)
That is the way to get the current ClientGameContext & ClientPlayerManager.
C++:
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.
C++:
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! ;)
C++:
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'
 

alpente

Newbie
Full Member
Jun 12, 2014
6
142
0
can you help me to do an ESP for bf3 with the tutorial that posted fleep ? because i can't find the VMatrix
 

rN'

Jr.Hacker
Meme Tier VIP
Jan 19, 2014
340
5,268
41
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
 
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods