修复IAT

我们以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的文件即可

posted @ 2024-08-14 00:23  乘舟凉  阅读(86)  评论(0编辑  收藏  举报