0x1
等了好久 M1 Max 终于到货了
IDA 的 arm 版目前一直没有泄漏,但是要想使用新功能就只能使用新版,例如 IDA 7.6 新增了对 golang 的支持等。在等 M1 Max 的时候就在群里看到大佬 @hou 说 7.6 可以在 M1 上运行。新电脑到手也想装一下试试,比虚拟机方便多得多。更何况现在 正版 PD PRO 动辄 400+RMB,似乎也没有支持 M1 的 crack 版(只有个 PD runner 支持无限试用)。
即便是被多层转译(Wine => Rosetta2),IDA Pro 运行在 M1 分析速度也很快,整个过程风扇都十分安静。
我踩了半天的坑,主要是坑在 python3 的运行环境上,经过群里大佬指导才成功。
整个流程基本上是:
IDA Pro 7.6 (Windows) => Wine 6.x => Rosetta2
0x2 Wine 安装与配置
兼容 M1 版本的 Wine 基本是都是国外大神 gcenx
预编译好的版本,我们只需要通过 brew
安装即可。
如果不需要 python 环境,单独安装 winehq 也可以。但是 winehq python 环境配置不起来,IDA 配置winehq 会崩溃,也不能运行 bat 脚本。
安装 wineskin
wineskin 可以帮助我们创建 wine 容器,制作 Mac App shell,还可以创建替身图标到 launchpad,通过 launchpad 就可以打开 IDA。
我们可以通过 brew
安装 wineskin
:
brew install --no-quarantine gcenx/wine/unofficial-wineskin
创建 wine 容器
安装完成后 launchpad 就会出现 wineskin,我们打开它并下载、创建一个容器:
配置 python 3 环境
到 python 官网下载 python 3.8
的 Windows 64 Bit 可执行包并解压放到 IDA 的根目录下,并命名为 python-3
:
https://www.python.org/ftp/python/3.8.10/python-3.8.10-embed-amd64.zip
创建启动脚本
复制以下内容,并保存为 run64.bat
并存放在 IDA 根目录
@set path=.\python-3;%path%
@set PYTHONPATH=.\python-3
@start ida64.exe
将准备好的 IDA 导入 Wine 容器
选择 Install Software
然后将 IDA copy 进去:
配置 wineskin 容器运行路径:
设置环境变量
打开注册表编辑器,找到以下路径:
HKEY_CURRENT_USER\Software\Hex-Rays\Python3TargetDLL
并设置至为(需要根据你的实际情况修改):
C:\Program Files\Hex-Rays\IDA Pro\python-3\python3.dll
注:如果找不到 Hex-Rays 路径,请先 test-run 一次 ida.exe,或手动创建;
如果找不到 Python3TargetDLL 键,请手动新增一个 字符串类型 键。
注意坑:不要去尝试通过安装版 python 配合 idapyswitch.exe 修改注册表,idapyswitch.exe 获取的 dll 路径并不正确,安装版 python 也不能正确设置 wine 环境变量,IDA 会崩溃。
0x3 Enjoy it!
给 wine 容器创建一个替身(图标需要自己在 wineskin 设置好),并移动到 /Application
目录下,然后就可以通过 launchpad 启动 ida 7.6 了:
python3 也可以正常使用了: