arm_now 使用教程
项目介绍
arm_now 是一个由 qemu 驱动的工具,旨在为 ARM CPU、MIPS、PowerPC、Nios2、x86 等多种架构提供即时设置的虚拟机。该工具主要用于逆向工程、漏洞利用、模糊测试和编程目的。arm_now 支持 Linux、Windows WSL、MacOS 和 Docker 环境。
项目快速启动
安装 arm_now
首先,通过 pip 安装 arm_now:
pip3 install https://github.com/nongiach/arm_now/archive/master.zip --upgrade
或者,直接安装:
pip3 install arm_now
启动虚拟机
使用以下命令启动一个 ARM 虚拟机:
arm_now start armv5-eabi
启动后,登录信息如下:
Welcome to arm_now buildroot login: root
# uname -m
armv7l
调整虚拟机大小
可以使用以下命令调整虚拟机的大小:
arm_now resize +10G
应用案例和最佳实践
逆向工程
使用 arm_now 可以轻松启动不同架构的虚拟机,进行逆向工程分析。例如,启动一个 MIPS 虚拟机并调试 /bin/ls
二进制文件:
arm_now start mips32el
Welcome to arm_now buildroot login: root
# gdb /bin/ls
(gdb) start
Temporary breakpoint 1 at 0x00405434 in main ()
(gdb) x/i $pc
=> 0x405434 <main+12>: li a0 -1
漏洞利用
arm_now 可以用于模拟不同架构的系统,进行漏洞利用的实验和研究。例如,在 PowerPC 上进行堆利用后释放的实验。
编程和测试
开发者可以使用 arm_now 在不同架构的虚拟机上进行编程和测试,确保代码在多种平台上都能正常运行。
典型生态项目
Mandibule
Mandibule 是一个 Linux ELF 注入器,支持 x86、x86_64、ARM 和 ARM64 架构。该项目由 @chaignc 开发,是 arm_now 的一个典型应用案例。
Aperikube
Aperikube 使用 arm_now 进行 MIPS 二进制漏洞利用挑战,展示了 arm_now 在实际应用中的强大功能。
通过以上教程,您可以快速上手并充分利用 arm_now 进行多种架构的虚拟机管理和开发工作。