Home > database >  how to simplify this pseudocode
how to simplify this pseudocode

Time:03-28

I have this pseudocode in IDA but I don't understand the result when I compiled it

__int64 v17 = 507890351016; 
__int64 v20 = 0;
auto test = *(WORD*)(*(uintptr_t*)v17   v20);

the output of test is 48, can someone explain what's going here and what the equivalent in c

CodePudding user response:

v17 is a 64 bit integer, v20 is a 64 bit integer. v17 seems to be a pointer and whatever is at that address is being dereferenced to a DWORD type and stored in test. Because v20 == 0, the offset from v17 v20 is 0.

The result is

int64_t v17 = 507890351016;
DWORD test = *(DWORD*)v17;
  • Related