本帖最后由 lichao 于 2024-7-17 18:12 编辑
背景
笔者比较了MacOS上最常用的虚拟化(包括Wine类)软件,并通过测试IDA分析时间得到MacOS上效率最高的IDA运行环境。测试环境如下:
- IDA版本: 7.0/7.7/8.3
- 虚拟化环境: WineSkin/CrossOver/Parallels/VMWare
IDA7.7相比7.0有较多变化,如支持Python3,支持微指令,支持伪代码保存(对于7.0每次F5后,关闭再打开还是要重新分析,巨慢),支持Swift语法,支持ObjC重新初始化,填补了7.0的很多坑。这里并没有做全排列完全对比,MacOS原生IDA目前只有7.0泄漏,因此7.7/8.3都需要运行在虚拟化环境中,其中WineSkin/CrossOver均基于Wine实现,大部分应用软件和游戏都可运行,性能也高一些,而Parallels/VMWare则是系统级虚拟化软件,如果软件无法在Wine中运行则需要在此类虚拟机中运行。
测试
这里分别以77k/177k的函数来测试分析时间
|
纯Mac |
WineSkin |
CrossOver |
Parallels |
VMWare |
双系统Win |
IDA7.0 |
50s |
- |
- |
- |
- |
- |
IDA7.7 |
- |
45s |
45s |
55s |
- |
- |
IDA8.3 |
- |
- |
45s |
55s |
55s |
25s |
|
纯Mac |
WineSkin |
CrossOver |
Parallels |
双系统Win |
IDA7.0 |
35min |
- |
- |
- |
- |
IDA7.7 |
- |
32min |
27min |
- |
- |
IDA8.3 |
- |
- |
24min |
47min |
21min |
结论
最终通过大量测试,可以发现MacOS上使用CrossOver可以最快的完成IDA分析,同时IDA7.7速度明显优于IDA7.0,而硬盘双系统Windows性能比CrossOver稍高。CrossOver的安装使用这里不做深入讨论,CrossOver安装软件时需要提供安装包exe,如果手头没有安装包,只需要在Windows系统中把软件安装后的文件,用InnoSetup之类的工具打包成自释放程序,然后在CrossOver中安装即可。当然了,IDA分析只需要CPU,如果是跑GPU程序本结论未必准确。
|