Name Stealer
Name Stealer, ready to copy pasta
Credits: FuckFace32 @ UC
Code:
class NET_SetConVar
{
public:
NET_SetConVar( const char* name, const char* value )
{
typedef void( __thiscall* oConstructor )( PVOID );
static oConstructor Constructor = (oConstructor) ( g_Memory.dwFindEnginePattern( "FF CC CC CC CC CC CC CC CC CC CC CC 56 8B F1 C7 06 ? ? ? ? 8D" ) + 12 ); // Search for Custom user info value
Constructor( this );
typedef void( __thiscall* oInit )( PVOID, const char*, const char* );
static oInit Init = (oInit) ( g_Memory.dwFindEnginePattern( "55 8B EC 56 8B F1 57 83 4E 14 01" ) ); // Search for Custom user info value
Init( this, name, value );
}
~NET_SetConVar()
{
typedef void( __thiscall* oDestructor )( PVOID );
static oDestructor Destructor = (oDestructor) ( g_Memory.dwFindEnginePattern( "00 CC CC CC CC CC CC CC CC CC CC CC 56 8B F1 57 8D" ) + 12 ); // Search for Custom user info value
Destructor( this );
}
private:
DWORD pad0[13];
};
void NameChanger::SetName( const char* pszName )
{
NET_SetConVar convar( "name", pszName );
g_pEngine->GetNetChannelInfo()->SendNetMsg( convar );
}




