能力值:
( LV9,RANK:140 )
|
-
-
26 楼
[QUOTE=kingcomer;1079193]因为dump出来的IAT已经填充了,Import REC 为了让IAT的地址是被loader根据函数名和dll加载填充的,而不是需要直接使用的表。
话说如果我的理解是正确的话,你说我理解对了,可是dump下的文件内原IAT函数地址也已经被填充了啊,OEP后的代码为JMP [原IAT地址],如此应当不修复也能使用才对,...[/QUOTE]
dump出来的地址只是当时的一个快照,地址是死的。因为没有加载模块,你直接使用那个地址是
错误的,即使系统模块地址没错,也只能在某个操作系统下正常。
5楼我的回复内容你再认真看一遍,我为什么要先讲动态加载过程再讲静态导入的原理就是这个原因
|
能力值:
( LV9,RANK:140 )
|
-
-
27 楼
你必须指定导入表目录导入表地址,否则操作系统无法为你加载模块,即使dump出的IAT填充了地址也无法直接地址,
因为没加载模块地址不存在,并且用户dll加载的基址可变,每次加载地址都有可能不一样。
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
我自己原来试过,脱UPX壳DMP后,修改正确OEP,可在本机运行,其他的重建IAT工具貌似多做一份IAT表并正确指向 。。我是超级菜鸟。。。
|
|
|