修復IAT

乘舟凉發表於2024-08-14

我們以vmp為例
https://wwmf.lanzout.com/i66kC27a0ekj
密碼:2hq4

修復跳轉表

我們來到OEP
84f2aada556570f8e96cfe3a54bc44f3
透過執行,我們發現兩個API呼叫
77fd39334729f4a8b919fa3bbf7d9f2a
獲取這兩個API呼叫的地址,然後在一個具有執行許可權的程式碼段中 寫入跳轉語句,如下圖所示
5505a1ee85a03920a86058849fff7fa5
記住指令之前要相隔一個位元組,也就是與6對齊

然後將call 地址指向這些跳轉
405f906b0372f606b3bc1bb9688976b3

使用UIF重建IAT

開啟 UIF(universal import fixer)
83ee8916fe04f87918357f21af4465ae
填入相應資料,跳轉表要被包含在程式碼開始程式碼止於之間,點選開始
此時轉到跳轉表,發現IAT被修復完成
98d47fa9a53a3b3ccd979db90233a2a8

使用Scylla修復IAT

將EIP強制轉到OEP,開啟Scylla,點選IAT Autosearch
6d8a30b2973c22a1ffd12d6fea968124
點選get Imports
b2263fd6a2eb1e7b0f6a0f71b8a4f342
點選dump儲存,再點選Fix Dump,選擇剛才dump的檔案即可

相關文章