按照网上这个办法搞定了,呵呵
706K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3S2A6i4K6u0W2j5X3q4A6k6s2g2Q4x3X3g2U0L8$3#2Q4x3V1k6$3k6i4S2K6i4K6u0r3j5X3I4G2k6#2)9J5c8X3W2@1k6h3#2Q4x3V1j5&6j5e0x3#2k6e0x3$3x3o6c8U0x3o6M7I4y4$3x3#2z5r3c8T1x3e0m8V1j5h3q4Q4x3X3g2Z5N6r3#2D9
IDA Pro自5.2后的版本在加载Symbols符号文件的时候有些小小的意外,默认加载竟不成功。
网上的解决方法是从5.1的plugins下拷出pdb.plw和pdb.p64来替换5.2本身的,确实可行。
想把Symbols包保存在本地加载很简单,先去microsoft网站上下载相应的Symbols包:
555K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2K6k6r3&6Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6W2L8W2)9J5k6s2g2K6i4K6u0r3N6$3W2F1k6r3!0%4M7#2)9J5c8X3S2S2M7X3c8%4j5i4u0W2i4K6u0r3k6$3M7@1y4U0x3H3x3U0R3`.
然后解压安装在任意位置,比如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)
这个就有点麻烦了。