What's new

Welcome to HvH Forum!

SignUp Now! Download Free HvH CS2/CS:GO Cheats, CFG, LUA/JS Scripts, And More!


SignUp Now!

Source Code Working Nvidia GPU Spoofing

CIA Agent
User ID
125109
Messages
2
Reactions
1
Level
0
COD, Apex, Valorant, Fortnite, Rust, all kinds of games have the ability to track your GPU HWID. While they might not all specifically ban based on GPU HWID, it can always change.

(Tested)


Code:
uintptr_t spoof_gpu () {
    uintptr_t nvlddmkm_base = 0;
    uint32_t uuid_valid_offset = 0;
   
    nvlddmkm_base = (uintptr_t)memory::get_module("nvlddmkm.sys"); if (!nvlddmkm_base) return 0;
 
    uint64_t address = ( uint64_t ) memory::find_pattern ( ( PVOID ) nvlddmkm_base,
        "\xE8\xCC\xCC\xCC\xCC\x48\x8B\xD8\x48\x85\xC0\x0F\x84\xCC\xCC\xCC\xCC\x44\x8B\x80\xCC\xCC\xCC\xCC\x48\x8D\x15",
        "x????xxxxxxxx????xxx????xxx" );
 
    UINT64 address_offset = 0x3B;
    if ( !address || *( uint8_t* ) ( address + address_offset ) != 0xE8 ) {
        address_offset++;
        if ( *( UINT8* ) ( address + address_offset ) != 0xE8 ) {
            return 0;
        }
    }
 
    uint64_t ( *GpuMgrGetGpuFromId )( int ) = decltype( GpuMgrGetGpuFromId )( *( int* ) ( address + 1 ) + 5 + address );
    address += address_offset;
    address += *( int* ) ( address + 1 ) + 5;
 
    for ( int InstructionCount = 0; InstructionCount < 50; InstructionCount++ ) {
        hde64s HDE;
        hde64_disasm ( ( void* ) address, &HDE );
 
        if ( HDE.flags & F_ERROR ) return 0;
       
        uint32_t op = *( uint32_t* ) address & 0xFFFFFF;
        if ( op == 0x818D4C ) {
            uuid_valid_offset = *( UINT32* ) ( address + 3 ) - 1;
            break;
        }
 
        address += HDE.len;
    }
 
    if ( !uuid_valid_offset ) return false;
 
    for ( int i = 0; i < 32; i++ )
    {
        UINT64 gpu = GpuMgrGetGpuFromId ( i );    if ( !gpu ) continue;
        if ( !*( bool* ) ( gpu + uuid_valid_offset ) ) continue;
 
        for ( int j = 0; j < sizeof ( GUID ); j++ )
            *( uint8_t* ) ( gpu + uuid_valid_offset + 1 + j ) = __rdtsc ( );
    }
 
    return 1;
 
}
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Top