-
-
[求助]IAT手动修复的时候不能被改变吗
-
2012-7-10 16:48 3010
-
据史料记载,pe装载器加载输入表时会通过IID->OriginalFirstThunk(INT)指向的函数名来确定IMAGE_IMPORT_BY_NAME结构,然后加载器会用真正的函数入口地址来替换FirstThunk(IAT).或者当INT为零时,会通过IAT的值找到指向函数名的地址串,再根据函数名得到函数入口地址并改写IAT.
但是,在程序dump后,我将INT改为零,将IAT改为指向指向函数名的指针时,总不能正确载入函数.按上面所说,IAT是pe装载器自动写入的,那为什么不可以改写呢
也看到一些史料上说,IAT不可改写,只能确定后指向原IAT,这又是为什么?
同时我也注意到,有的程序dump并且修复输入表后,IAT指向的是函数入口地址,也有IAT指向程序名的,但当我想改变IAT,总不能得到正确的结果
附上两个dump并且修复了输入表的程序,请高手指点一二,先谢过了
IAT指向函数入口地址:
dumped.rar
IAT指向函数名:
dumped_.rar
但是,在程序dump后,我将INT改为零,将IAT改为指向指向函数名的指针时,总不能正确载入函数.按上面所说,IAT是pe装载器自动写入的,那为什么不可以改写呢
也看到一些史料上说,IAT不可改写,只能确定后指向原IAT,这又是为什么?
同时我也注意到,有的程序dump并且修复输入表后,IAT指向的是函数入口地址,也有IAT指向程序名的,但当我想改变IAT,总不能得到正确的结果
附上两个dump并且修复了输入表的程序,请高手指点一二,先谢过了
IAT指向函数入口地址:
dumped.rar
IAT指向函数名:
dumped_.rar
[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
赞赏
他的文章
看原图