Welcome to hackvshack.net Forum!
Download Free HvH CS2/CS:GO Cheats, CFG, LUA/JS Scripts, and More!
Register

C++ Function Working Nvidia GPU Spoofing

terreus

CIA Agent
User ID:
125109
Messages:
2
Reactions:
1
Badges:
3
REP:
−0/0+
Level:
21
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:
Expand Collapse Copy
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;
 
}
 
Last edited by a moderator:
  • Love
Reactions: Plisskien

Who has read this thread (Total: 0) in last 1 hours View details