第八课 定位IAT

                              定位IAT

一:半手动定位RVA

 

1,OD载入程序并走到OEP。

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

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

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

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

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

7,抓取转存文件。

 

 

二:手动定位RVA

1,OD载入程序并走到OEP。

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

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

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

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

6,抓取转存文件。

 

 

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

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

 

 

 

posted @ 2012-08-28 21:53  eldn  阅读(385)  评论(0编辑  收藏  举报