0
我在IDA Pro的獲得在C以下代碼++,我正在看:在C#中這意味着什麼?我如何使用它?
__int64 __fastcall sub_14023B480(__int64 a1)
{
return *(_DWORD *)(a1 + 0x384) > 0 && !(*(_BYTE *)(a1 + 0xE8) & 8) && !(*(_DWORD *)(a1 + 0x290) & 0x800000);
}
a1
是一個實體。
0x384
指向健康值。
0xE8
和0x290
指向某種標誌,但怎麼來的,我不能寫這樣的檢查在C#:
if(!(a1 + 0xE8) & 8)
{
//Do something
}
因爲在C#中int值的&
運營商的收益。
'(...&8)== 0'? – Ryan
C#版本中'a1'的類型是什麼? Int64的?將類型後綴附加到數字文字以匹配表達式的其餘部分。顯示完整的代碼,以及你得到什麼樣的編譯器錯誤或運行時異常? 「... int value ...」:二元運算符&採用整型,long/ulong就是這樣。 – dlatikay