問:對于dll中的函式地址在運行前是不知道的,那在檔案代碼中是如何撰寫 “call 函式地址” 之類的指令的呢?
答:雖然不知道函式的地址是什么,但是知道函式的地址寫在哪里,可以[函式地址的指標]來讀取函式的地址
比如:![]()
?
GetStartupInfoW函式的地址不是01220100(上面藍色筆圈出的地址是小端序)
而是01220100地址是處存放著GetStartupInfoW函式的地址 見下圖

?
如此一來,當PE裝載器把函式地址輸入IAT,代碼只要到IAT找就行了,這也說明IAT的函式地址順序是不能隨意改動的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/224486.html
標籤:其他
上一篇:【匯編 題目】48 如何判斷一個不超過65535的整數是否為質數
下一篇:PIE/CPU中斷回應程序
