簡體   English   中英

如何簡化這個偽代碼

[英]how to simplify this pseudocode

我在 IDA 中有這個偽代碼,但我不明白編譯它時的結果

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

測試的 output 是48 ,有人可以解釋這里發生了什么以及 c++ 中的等價物

v17 是 64 位 integer,v20 是 64 位 integer。v17 似乎是一個指針,該地址處的任何內容都被取消引用為 DWORD 類型並存儲在測試中。 因為 v20 == 0,所以 v17+v20 的偏移量為 0。

結果是

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM