Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- addr = find_pattern( ( char* )"48 8B 15 ? ? ? ? 4C 8B C9 49 F7 D1 48 C1 CA 05 48 C1 C2 20" );
- _base_address = address( addr ).add( 3 ).rip().as< uint64_t& >();
- _hash_array = address( addr ).add( 38 ).rip().as< uint64_t >();
- intptr_t get_native_address( uintptr_t hash )
- {
- int64_t base = __ROL8__( __ROR8__( hack::get().get_base_address(), 5 ), 32 );
- int64_t v2 = base ^ __ROR8__( __ROL8__( ~hash, 32 ), ( static_cast< uint8_t >( base ) & 0x1Fu ) + 1 );
- int64_t* native_table = *reinterpret_cast< int64_t** >( hack::get().get_hash_array() + static_cast< uint8_t >( v2 )
- * 8 );
- while( native_table )
- {
- uint32_t index = 0;
- if( *( reinterpret_cast< uint32_t* >( native_table ) + 16 ) > 0u )
- {
- int64_t v6 = reinterpret_cast< int64_t >( native_table + 9 );
- while( *reinterpret_cast< uint64_t* >( v6 ) != v2 )
- {
- ++index;
- v6 += 8i64;
- if( index >= *( reinterpret_cast< uint32_t* >( native_table ) + 16 ) )
- goto LABEL_1;
- }
- return native_table[ index + 1 ];
- }
- LABEL_1:
- native_table = reinterpret_cast< int64_t* >( *native_table );
- }
- return 0;
- }
- _________________
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement