在Windows中使用EncodePointer/DecodePointer的好處是什麼?使用EncodePointer/DecodePointer的好處
MSDN
說:
編碼全局可用的指針有助於防止它們被利用。 EncodePointer函數使用祕密混淆指針值,以使其不能由外部代理預測。使用的祕密EncodePointer對於每個進程都不相同。
現在的問題是:如果攻擊者在我的程序之外,那麼它的地址空間與我的地址空間不同,所以我的應用程序中的地址不可用。 如果它可以在我的地址空間執行一個代碼,它可以調用DecodePointer並使用該地址來調用編碼指針。
那麼這個函數的用法是什麼以及它們如何幫助我提高安全性?
如果攻擊者不在您的程序之外,該怎麼辦?就像......歷史上的每一個攻擊者一樣? –
@KerrekSB如果它在我的程序中?然後它可以簡單地在我的函數指針上調用** DecodePointer **,然後通常調用它。對解碼進行編碼的好處是什麼?就像調用沒有任何鍵的函數一樣簡單?什麼使得攻擊者無法調用** DecodePointer **? –