(5) 定位IAT

一:半手动定位RVA

1OD载入程序并走到OEP

2,用OD脱壳(method 1)或用LordPe脱壳。

3,用Import reconstructor 找到进程,输入OEP-->自动搜索IAT,记录下RVA

4,会到OD数据窗口界面,ctrl+G -->输入RVA+基址(就是VA,基址的话看其他的地址就知道了,一般就是100000)跟随。

5,上下查看有函数的起始和终止地址,记录下起始地址,和大小(终止地址-起始地址)。

6,回到Import reconstructor 输入OEPRVA,大小-->获取输入表--显示无效函数-->追踪级别1fsg2.0不用追踪)-->显示无效函数-->剪切指针。

7,抓取转存文件。

二:手动定位RVA

1OD载入程序并走到OEP

2,在入口附近找到调用函数(如:fsg2.0的第一个调用函数是:GetModuleHandleA),在函数所在行-->右键-->数据窗口中跟随-->内存地址。

3,来到数据窗口,上下查看有函数的起始和终止地址,记录下起始地址,和大小(终止地址-起始地址)。

4,用OD脱壳(method 1)或用LordPe脱壳。

5,用Import reconstructor 找到进程, 输入OEPRVA,大小-->获取输入表--显示无效函数-->追踪级别1-->显示无效函数-->剪切指针。

6,抓取转存文件。

BtwIAT大小一般情况下可以填写1000,不影响修复,但会有需要垃圾指针出现.

 方法二比较好。当Import reconstructor ;连一个函数都找不到就只有用方法二了。



你可能感兴趣的:((5) 定位IAT)