专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 信息/网络安全

IDA分析脱壳后丢掉导入表的PE

发布时间:2011-07-03 06:58:28 文章来源:www.iduyao.cn 采编人员:星星草
IDA分析脱壳后丢失导入表的PE

 

1. 问题

一些程序经过脱壳后(如用OD的dump插件),一些导入表信息丢失了,导致拖入IDA后看不到API的信息(如右图所示,第一个红圈处实际是GetCurrentProcessId),给分析造成极大影响。

image  image

 

2. 分析

从OD来看,41F480处的值就是API GetCurrentProcessId的地址,也就是壳修改后的导入表的位置,该地址在.rsrc Section内,即程序的资源段内,那么我们需要修复其导入表,以指向资源段内的地址

image

 

3. 修复导入表

《加密与解密》第3版的13.4.4节”重建输入表”(P340)就详细的讲解了利用ImportREC重建输入表的方法。

1> 用OD脱壳后断下(如本demo就在CreateMutexW或者CreateEventW上下断点即可断到脱壳后的代码)

2> 找个函数头作为OEP输入到Import REC中(当然如果能找到真正的OEP也是可以的),然后点击”IDAT AutoSearch”,然后点击”Get Imports”,得到下图的结果

image

3> 用OD dump脱壳后的PE后,再用Import REC点击”Fix Dump”即可修复导入表

 

4. IDA导入修复后的dump

1> 由于dump的导入表不在.rdata中了,IDA不会去自动加载.rsrc段的数据,这样即使修复了导入表后IDA也不能正常识别API函数,这时需要勾选”Manual Load”项,让IDA加载.rsrc段

image               image

 

2> IDA分析完成后,就能正常的显示dump调用的API了

image

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: