按照网上这个办法搞定了,呵呵
http://hi.baidu.com/vexs/blog/item/9a35e3604c0717c58db10daa.html
IDA Pro自5.2后的版本在加载Symbols符号文件的时候有些小小的意外,默认加载竟不成功。
网上的解决方法是从5.1的plugins下拷出pdb.plw和pdb.p64来替换5.2本身的,确实可行。
想把Symbols包保存在本地加载很简单,先去microsoft网站上下载相应的Symbols包:
http://msdn.microsoft.com/en-us/windows/hardware/gg463028
然后解压安装在任意位置,比如D:\symbols,然后修改cfg\pdb.cfg:
PDBSYM_DOWNLOAD_PATH = "D:\\symbols";
然而,现在IDA6.1都出来了,再用5.1的那个pdb.plw有点说不过去了,即使按上述方法依然可行。
如果不想要5.1的那个pdb.plw,默认情况下在尝试加载symbols包时可能会出现以下提示:
PDB: could not process file C:\WINDOWS\NOTEPAD.EXE with DIA: 不支持此接口
这里出现的DIA是指Microsoft Debug Interface Access,看来是缺少DIA SDK组件。
在IDA6.1的plugins\pdb.plw中有这样的描述:
The PDB file should be in the same directory as the input file Load debug information from a PDB file msdia71.dll msdia80.dll msdia90.dll
msdia*.dll这些库文件是安装了Visual Studio才带有的,我没有装VS,所以报了这提示。
知道原因就简单了,拷了一个msdia90.dll到%windir%\system32目录下或是其他任意目录下,
如果是拷到非%windir%\system32以外的目录需要手动注册才能加载:regsvr32 msdia90.dll
当成功加载DIA后,会显示出DIA的版本信息:
PDB: using DIA dll "C:\WINDOWS\system32\msdia90.dll"
PDB: DIA interface version 9.0
msdia*.dll在安装有VS的机器上的以下目录可以找到(网上也有下载):
X:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\
X:\Program Files\Common Files\Microsoft Shared\VC\
但在分析一些非系统自带的exe时会出现另一些无法识别函数的提示:
PDB: DIA interface version 9.0
PDB: could not process file D:\Test.exe with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND)
这个就有点麻烦了。