背景介绍:
因某些研究所需,需要在Ubuntu下使用IDA7.6和相关插件,于是做个记录,当然,如果你在Windows下使用,本篇文章可以直接略过了。
环境如下:
Ubuntu 20.04
Wine 5.0
IDA Pro 7.6
安装所需:
1、安装Wine:
apt-cache policy wine //查看Wine版本
sudo apt-get install wine //安装Wine
2、安装IDA:
将Windows版本的IDA 7.6解压至/opt/目录,然后测试一下用Wine打开它:
wine /opt/IDA Pro 7.6/ida.exe
一切正常:
3、安装Python:
因为IDA7.5以上使用的是Python3.x,因此需要安装Python3,这里选择下载非安装包版:
wget https://www.python.org/ftp/python/3.10.2/python-3.10.2-embed-amd64.zip
这里要注意的是,Wine的路径与Windows路径的对应:
Ubuntu下的路径: /home/用户名/.wine/drive_c/Program Files/Python3/
对应Wine下的路径是:C:Program FilesPython3
OK, 弄明白了这个路径对应,我们将Python3解压到Wine的对应目录,还需要设置一下Wine下的PATH环境变量。
环境变量:
运行:
wine regedit
找到:
HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment
在PATH最后,添加Python3环境(记得用分号分割路径 ):
配置完成环境变量后,新开一个命令行, 执行:
<span>wine python.exe
OK,配置成功:
接着我们重新打开IDA看看,会发现插件错误提示:
很明显,需要安装Python第三方库。
安装pip:
首先下载pip安装脚本:
wget https://bootstrap.pypa.io/get-pip.py
然后执行:
wine python.exe get-pip.py
安装完成之后, 我们回到Python3目录下, 发现多了一个叫Lib的文件夹,可以看到pip已经安装在了 Libssite-packages 这个目录下面了:
但是此时如果直接使用pip还是会提示找不到pip, 这是因为我们还要设置环境变量,让python找到pip模块。
在Python3目录下我们可以找到一个名为python310._pth的文件,打开并编辑该文件,将site-packages路径写入:
注意:这个路径填写的是相对路径,即相对于python.exe的路径
保存退出后,再次执行:
wine python.exe -m pip --version
pip安装成功:
接下来使用pip安装所需库模块(以yara为例):
wine python.exe pip install yara
安装完成后,再次打开IDA看看,继续报错:
找不到libyara.dll文件,在Python3目录下找一下这个文件在什么位置,直接手动将C:Program FilesPython3Libsite-packagesProgram FilesPython3DLLslibyara.dll移动到Python3/DLLs/下,再次打开IDA查看:
OK,一切顺利,然后就是安装相应的插件了,
插件安装:
以keypatch插件为例:
首先下载keypatch:
git clone https://github.com/keystone-engine/keypatch.git
安装依赖:
wine python.exe -m pip install keystone-engine
wine python.exe -m pip install six
将keypatch.py拷贝至/opt/IDA Pro 7.6/plugins/目录下:
cp keypatch.py /opt/IDA Pro 7.6/plugins/
重新打开IDA并反编译一个so文件,搞定: