这个完全是分析Dump文件学到的一点小技巧,作为记录,防止遗忘。
Dump文件来源——大哥给了一个进程Dump文件,可能存在恶意行为,拿过来分析,从里边抠出来一个DLL文件。但是经过查看发现这个PE文件是已经在内存中展开后的镜像,IDA没办法直接分析,想分析得稍微处理一下,修正几个参数。当然,首先还是要判断这个文件处于什么状态,这个问题可以去看
https://blog.csdn.net/cssxn/article/details/84031416?spm=1001.2014.3001.5501
里边有较为详细的描述来判断文件是不是展开的PE。确定拿到的PE文件是展开过后的PE文件,接下来就是对PE文件的修复,通过修复FE文件来使用IDA静态分析。
其实主要就是修复以下两个部分:
修复区段Raw地址和大小,修改成在内存展开后的地址和大小(每个区段都修复)
然后修复exe加载基地址和dump的内存地址一样
至于需要修复的第二项,是因为,Dump下来的文件,里边的地址已经使用了内存展开的地址,所以,修改PE文件的加载基址为使用Windbg打开dump文件后的映像加载基址,即可使用IDA正常的静态分析。
Windbg搜索内存指令:
s 地址 长度 特征码
参考链接:
https://bbs.pediy.com/thread-250670.htm#%E6%90%9C%E7%B4%A2%E5%86%85%E5%AD%98