火眼(FireEye)实验室FLARE IDA Pro脚本系列:MSDN注释插件----实践
文章目录
主要实践了这篇文章火眼(FireEye)实验室FLARE IDA Pro脚本系列:MSDN注释插件,主要是有几个坑需要注意,然后就能实现功能了。
##原始步骤
- 下载并安装离线MSDN文档,下载链接:http://www.microsoft.com/en-us/download/details.aspx?id=18950.尽管不是最新的SDK版本,但是它包含了所需的全部信息,而且数据可以直接被提取。如图6所示,你可以只选择安装帮助文档,默认的安装目录是C:\ProgramFiles\Microsoft SDKs\Windows\v7.0\Help\1033.
- 2.利用解压软件(如7-zip)解压MSDN文档到指定目录。
- 3.从Hex-Rays网站上下载tilib.exe,链接如下: https://www.hex-rays.com/products/ida/support/download.shtml
- 4.运行MSDN_crawler/msdn_crawler.py <已解压的MSDN文件的目录 > < tilib.exe所在的目录> < til文件所在的目录>
如果提前条件都满足,你就可以运行位于MSDN_crawler目录中的MSDN_crawler.py脚本。脚本需要TIL文件的目录(通常为%IDADIR%/til/pc/)和已解压的MSDN文档的目录。当脚本运行完之后,最终的XML数据库文件就位于MSDN_data 目录中。
##解释
- 主要针对第2步,安装了sdk帮助文档后目录C:\Program Files\Microsoft SDKs\Windows\v7.0\Help\1033下全部是类似.hxs类文档这些其实都是压缩文件可以利用7z解压(最好使用命令行,文件较多)。也可以使用hxcomp.exe来完成(https://www.aldeid.com/wiki/IDA-Pro/plugins/zynamics/msdn-crawler)
- 3.tilib.exe可以从爱盘下载,是ida sdk中的一个文件。
- 4.msdn_crawler.py一直运行有如下错误:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20C:\Users\**\Desktop\flare-ida-master\MSDN_crawler>python msdn_crawler.py "F:\1
033" "C:\Program Files (x86)\IDA 6.6\tilib.exe" "C:\Program Files (x86)\IDA 6.
6\til\pc"
MSDN crawler based on zynamics msdn-crawler - Copyright 2010
WARNING:til_extractor:Error calling tilib.exe with C:\Program Files (x86)\IDA 6.
6\til\pc\geos.til -- Command '['C:\\Program Files (x86)\\IDA 6.6\\tilib.exe', '-
l', 'C:\\Program Files (x86)\\IDA 6.6\\til\\pc\\geos.til']' returned non-zero ex
it status 1
Traceback (most recent call last):
File "msdn_crawler.py", line 413, in <module>
main()
File "msdn_crawler.py", line 398, in main
(file_counter, results) = parse_files(msdn_directory, tilib_exe, til_dir)
File "msdn_crawler.py", line 371, in parse_files
result = parse_file(os.path.join(root, file), const_enum)
File "msdn_crawler.py", line 276, in parse_file
return parse_new_style(file, content, const_enum)
File "msdn_crawler.py", line 183, in parse_new_style
parsed_html.find_all(width='60%')]
TypeError: 'NoneType' object is not callable
看哈原始来源 https://github.com/fireeye/flare-ida/issues/2 ,发现有相同错误修改哈代码from bs4 import BeautifulSoup。卸载BeautifulSoup,重新安装BeautifulSoup4重新运行成功。
- 最后生成msdn_data_nn.xml,然后运行ida选择相应的文件。
##福利
直接可用msdn_data.xml