如何让 IDA Pro 使用我们提供的 Python 版本以及如何在
Chroot 的环境中运行 IDA Pro
0x00 前言
在这篇文章中,我将解释一个简便的方法来使用我们自己的python,Qt 5.6,PyQt 5.6版本与IDA Pro,然后如何使用
32位 Linux Arch-chrooted 运行IDA Pro,以免污染我们的主机与pesky lib32-XX最后我将文件安装好和配置好一些有
用的IDA Pro插件。
0x01 介绍
为什么不使用已经可用的技术,如Arybo,使用rpyc将rpc调用到64位python或者idalink或者安装PIP包,并且在64位机
器上使用IDA?原因很简单 我不想用一堆烦人的点包,lib32-xx等来污染我的主机。我也想使用一些很酷的IDA Pro插
件,如 keypatch,ipyida和idaemu。
注意:这个整个过程是在Arch Linux 64bit操作系统上实现的。它可以轻松应用于Ubuntu或其他发行版。
0x03 上手
安装并配置chroot和schroot环境
Arch Linux 32位chroot
从ArchLinux Wiki获取了很多技巧。
安装几个实用程序和schroot
配置自定义pacman.conf
如果正在使用multilib,则需要从自定义的pacman.conf中删除它。
配置自定义pacman.conf而不支持multilib:复制默认值并删除:
创建Arch 32bit的chroot安装
注意:没有插件,有一些不需要正常安装IDA Pro的软件包。我发现在pacstrap而不是从chroot安装它们的速度更快。
配置我们新创建的用户/网络的chroot
配置schroot
在/etc/schroot/schroot.conf中添加chroot的env
配置schroot使用ipython和jupyter正常运行
编辑/ etc / schroot / arch32 / mount并添加:
schroot的配置完成。我们需要改变一些东西,以使IDA Pro与我们自己的python工作。
在chroot中配置X和IDA Pro
X Stuff
访问您的X为chroot
(保留以后)查找当前X会话的显示ID
配置IDA pro使用我们自己的版本的python
输入chroot
更换终端以便正确自动完成
可选 - 将一些字体添加到chroot以正确显示IDA Pro GUI:
如果你像我一样,你喜欢在X中更改你的字体,不要忘记将它安装在chroot中,以防止在IDA Pro中出现奇怪的字符。
配置您的chroot以使用主机的Xserver
其中0是您之前提到的显示器的ID。
下载,修补,编译和安装Qt、
下载Qt 5.6来源:
提取,配置和构建它:
下载并应用十六进制补丁:
symlink python2到python来解决Qt make安装错误:
配置,编译和安装:
下载,编译安装QtSvg 5.6
从Qt 5.1开始,QtSvg已经转移到独立的包中。
下载包:
下载,编译和安装SIP
下载SIP 4.18来源:
配置,编译和安装Sip 4.18:
下载,修补,编译和安装PyQt 5.6
下载PyQt 5.6:
下载我的PyQt补丁(借助Hex-Rays):
配置,编译和安装PyQt 5.6:
安装IDA Pro
运行IDA Pro安装程序。安装IDA时,请勿在安装程序要求安装捆绑版本的python时选择“否”。
配置IDA专业版以使用我们自己的python和Qt套件
退出chroot,非常重要
警告 - 当使用linux32进行chrooting时,不要运行schroot,在分级之前始终将chroot退出。
警告 - 在首次启动IDA Pro之前,重命名〜/ .idapro并删除所有插件。
使用schroot启动我们完全chroot的IDA(访问schroot.conf中用户的主机主目录)
BONUS - 为IDA专业人员安装和配置有用的插件
我是IPython的粉丝,用来自动完成和快速编写python片段。我经常修补二进制文件,但是IDA Pro中的修补功能是不完
整的。我喜欢使用独角兽引擎来模拟奇怪的代码。
安装,配置和修补ipyida
当我在Windows下使用IDA Pro时,我最喜欢的插件之一是ida_ipython。不幸的是这个插件只是Windows。ESET的
Marc-Etienne开发了一个类似的插件,但这一次可以在Windows,Linux和Mac OSX上使用。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)