[英]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.