IDA Pro插件Command Palette安装过程:编译安装PyQt5(Python2.7+Win10)

时间:2021-02-01 23:02:11

1 插件介绍

Hex-Rays Plugin Contest:

https://www.hex-rays.com/contests/index.shtml

Hex-Rays Plugin Contest Results 2016:

https://www.hex-rays.com/contests/2016/index.shtml

Command Palette by Milan Bohacek

Command Palette is:
A blazing fast way of running commands in IDA. It eliminates all unnecessary keypresses / mouse clicks needed to run any command available in IDA.
It is inspired by command palette from Sublime Text.

Our comments:
Command palette is a well-designed utility that, depending on your workflow, might make your life much simpler.
It is written in Python, and is trivial to install & use.

2 编译安装PyQt5

Windows版本: Microsoft Windows 10 专业版 10.0.16299 版本 16299

IDA Pro版本:6.8

IDAPython版本:2.7.14

Command Palette是一个轻量级IDA插件,其实现代码使用到了PyQt5。IDA 6.8的Python版本为Python 2.7,而PyQt5并没有针对于Python2的安装包,故只能编译PyQt5源码以进行安装。

2.1 安装Visual Studio 2015与Qt 5.10.0

Visual Studio版本:Visual Studio Professional 2015 with Update 3 (x86 and x64)

Qt版本:Qt 5.10.0(x86)

Visual Studio Professional 2015 with Update 3 (x86 and x64):

http://download.microsoft.com/download/5/4/b/54bf5736-8429-4c81-b1b3-79de06dfe756/vs2015.3.pro_chs.iso

Qt 5.10.0 (x86):

http://download.qt.io/archive/qt/5.10/5.10.0/qt-opensource-windows-x86-5.10.0.exe


P.S.

  • 完全卸载VS2012:

https://support.microsoft.com/en-us/help/2771441/how-to-uninstall-visual-studio-2012

  • 完全卸载VS2015:

https://msdn.microsoft.com/zh-cn/library/e2h7fzkw.aspx

  • Visual Studio Uninstaller:

https://github.com/Microsoft/VisualStudioUninstaller

2.2 下载编译SIP、PyQt5

SIP版本:4.19.7

PyQt5版本:5.10

SIP 4.19.7:

https://www.riverbankcomputing.com/software/sip/download

PyQt 5.10:

https://www.riverbankcomputing.com/software/pyqt/download5

打开VS2015 x86本机工具命令提示符,进入SIP源代码目录,执行以下命令,编译SIP:

$ python.exe configure.py
$ nmake
$ nmake install

配置Qt的环境变量,在系统环境变量path中添加以下路径:

Path\to\Qt\Qt5.10.0\5.10.0\msvc2015

同样,打开VS2015 x86本机工具命令提示符,进入PyQt5源代码目录,执行以下命令,编译PyQt5:

$ python.exe configure.py
$ nmake
$ nmake install

错误:
.\sipQtGuiQPicture.cpp(686): fatal error C1001: 编译器中发生内部错误。

 
解决:
安装更新KB3165756,更新Visual Studio 2015:
 

KB3165756:http://go.microsoft.com/fwlink/?LinkID=816878


更新前版本: 14.0.25420.01 Update 3
更新后版本: 14.0.25431.01 Update 3


错误:
release\QtNfc.dll : fatal error LNK1169: 找到一个或多个多重定义的符号

 
解决:
配置编译选项时,添加选项“–disable QtNfc”,取消编译QtNfc:
$ python.exe configure.py –disable QtNfc

3 安装Command Palette插件

获取Command Palette插件的Python脚本command_palette.py:

https://www.hex-rays.com/contests/2016/command_palette/command_palette.py

将Command Palette插件的Python脚本拷贝至IDA的插件目录中:

D:\Tools\IDA68\plugins

重启IDA Pro,使用组合键“Shift + W”启动插件,IDA Pro插件Command Palette安装成功。