From 394efb8aefddc544b11f3038f3136e474f66f675 Mon Sep 17 00:00:00 2001 From: m2kar Date: Mon, 25 Mar 2024 14:22:13 +0000 Subject: [PATCH] Sync issue #26 to blog --- ...211\210\346\234\254\347\232\204IDA-Pro.md" | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git "a/content/posts/20240325-[\346\212\200\346\234\257\345\210\206\344\272\253]\345\245\227\345\250\203\344\271\213arm\346\236\266\346\236\204\344\270\213\347\232\204MacBook\351\200\232\350\277\207parallels+rosetta\345\256\211\350\243\205Linux-amd64\347\211\210\346\234\254\347\232\204IDA-Pro.md" "b/content/posts/20240325-[\346\212\200\346\234\257\345\210\206\344\272\253]\345\245\227\345\250\203\344\271\213arm\346\236\266\346\236\204\344\270\213\347\232\204MacBook\351\200\232\350\277\207parallels+rosetta\345\256\211\350\243\205Linux-amd64\347\211\210\346\234\254\347\232\204IDA-Pro.md" index 7c6e54c..f79947e 100644 --- "a/content/posts/20240325-[\346\212\200\346\234\257\345\210\206\344\272\253]\345\245\227\345\250\203\344\271\213arm\346\236\266\346\236\204\344\270\213\347\232\204MacBook\351\200\232\350\277\207parallels+rosetta\345\256\211\350\243\205Linux-amd64\347\211\210\346\234\254\347\232\204IDA-Pro.md" +++ "b/content/posts/20240325-[\346\212\200\346\234\257\345\210\206\344\272\253]\345\245\227\345\250\203\344\271\213arm\346\236\266\346\236\204\344\270\213\347\232\204MacBook\351\200\232\350\277\207parallels+rosetta\345\256\211\350\243\205Linux-amd64\347\211\210\346\234\254\347\232\204IDA-Pro.md" @@ -7,7 +7,45 @@ tags: [] issueId: 26 --- -null +# 前言 +苹果公司在MacBook这种生产力平台使用无疑是个伟大且大胆的创新,经过几年的软件生态环境的改善,各种常用工具基本都能在mac下运行。但仍有些闭源发布的软件仍需要在amd64架构下的Linux环境中才能运行,比如本文中的IDA Pro 7.6版,因此整理一下踩坑记录,可供相关需求的同学参考。 + +# 环境和工具 +- MacBook with M3 chip +- parallels Desktop 19 +- IDA Pro 8.3 for Linux 安装包 + +# 支持amd64的Linux环境 +parallels是Mac生态下非常好用的虚拟机软件,但之前的版本仅支持运行arm架构的虚拟机,不支持amd64的程序。在parallels的v19版本之后,基于[苹果官方提供的支持](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta), parallels推出了[在arm虚拟机中运行amd64程序的能力](https://kb.parallels.com/en/129871),并提供了一套配置好了的ubuntu 22.04虚拟机镜像。 + +因此,我们只需要点击创建虚拟机,下载Ubuntu with x86_emulation,即可获得amd64的模拟运行环境。如下图。 +image + +# 安装IDA pro +打开安装好的虚拟机,把安装包拷贝进来,在终端中运行。 + +```bash +idapronl_xxx.run +``` + +但直接报错: `rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2` + +这是因为parallel提供的虚拟机仅安装了基础了amd64的组件,仍有大量的组件缺失。比如在这里,是缺失了binutils组件。 + +因此作者安装了amd64架构下的binutils,注意使用`:amd64`选择安装的目标架构 + +``` +sudo apt-get update +sudo apt-get install binutils:amd64 +``` + +然后,安装程序顺利进行,作者将idapro安装在/opt/idapro-8.3目录下。 + +尝试运行,果然又提示各种库文件缺失 + +# 修改ldd使其在arm下支持amd64程序 +这一步做的 +