随记体验 · 2022年5月5日 0

Ubuntu+Wine+IDA7.6+激活插件

背景介绍:

因某些研究所需,需要在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文件,搞定: