We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Интеграция инструментов статического анализа кода (cutter, radare2) в среду Linux на Android‑устройствах

Подробное руководство по установке и настройке radare2 и Cutter в Termux для статического анализа кода на Android‑устройствах. Советы, примеры и автоматизация.

Android‑устройства с установленным Termux позволяют превратить смартфон в полноценную Linux‑среду. Это открывает возможности для разработки, отладки и статического анализа кода прямо на мобильном устройстве. В статье рассматривается интеграция двух популярных инструментов: radare2 – мощный фреймворк для реверс‑инжиниринга, и Cutter – графический интерфейс к radare2, позволяющий быстро визуализировать результаты анализа.

Подготовка окружения Termux

Перед установкой инструментов необходимо подготовить базовую среду:

pkg update && pkg upgrade -y
pkg install -y git python clang make curl wget tar proot-distro

Для работы графических приложений потребуется X‑сервер. На Android удобно использовать Termux:API и termux-x11 или сторонний VNC‑сервер (например, bVNC).

Установка radare2

Самый простой способ – собрать radare2 из исходников:

git clone https://github.com/radareorg/radare2.git ~/radare2
cd ~/radare2
./sys/install.sh

После установки проверьте работоспособность:

r2 -v

Установка Cutter (GUI)

Cutter требует графического окружения. В Termux можно воспользоваться termux-x11 (X‑сервер) и установить предварительно собранный пакет:

# Установка X‑серверa
pkg install -y termux-x11
# Скачивание последней версии Cutter (ARM64)
wget https://github.com/cutter-re/cutter/releases/download/v2.2.0/cutter-2.2.0-arm64.deb -O cutter.deb
# Установка зависимостей
pkg install -y libqt5gui5 libqt5widgets5 libqt5core5a libqt5network5 libqt5svg5
# Установка самого пакета
dpkg -i cutter.deb || apt --fix-broken install -y

Запуск Cutter через X‑сервер:

termux-x11 :0 &
export DISPLAY=:0
cutter &

Если ваш телефон использует процессор x86_64, замените пакет на соответствующий (cutter-*-x86_64.deb).

Настройка статического анализа в Termux

После установки обеих программ можно приступить к анализу бинарных файлов. Пример анализа ELF‑файла с radare2:

r2 -A /data/data/com.termux/files/home/sample.bin

Команда -A автоматически выполнит базовый анализ (функций, строк, импортов). Для более глубокого анализа используйте скрипты radare2:

aaa   # полное автоматическое сканирование
afl   # список всех функций
pd 10 # дизассемблировать 10 инструкций

В Cutter результаты отображаются в виде графов, таблиц функций и интерактивного дизассемблера, что упрощает навигацию по коду.

Автоматизация с помощью скриптов

Для повторяющихся задач удобно написать небольшие bash‑скрипты, которые будут запускать radare2 с нужными параметрами и сохранять вывод в файлы:

#!/usr/bin/env bash
BIN=$1
OUT=${BIN}.r2report.txt
r2 -A -c "afl; aaaa; pdf @ main" -qq $BIN > $OUT
echo "Отчёт сохранён в $OUT"

Скрипт сохраняет список функций и дизассемблирование функции main в текстовый файл, который удобно просматривать на мобильном устройстве.

Тонкости и рекомендации

  • Память и процессор. Анализ больших бинарных файлов может потребовать более 1 ГБ RAM. При необходимости используйте swap‑файл в Termux:
  • dd if=/dev/zero of=$HOME/swapfile bs=1M count=1024
    mkswap $HOME/swapfile
    swapon $HOME/swapfile
    
  • Обновление radare2. Проект активно развивается, поэтому регулярно обновляйте репозиторий:
  • cd ~/radare2 && git pull && ./sys/install.sh
    
  • Безопасность. При работе с подозрительными бинарниками рекомендуется использовать изолированный proot-distro (например, Debian) внутри Termux, чтобы ограничить доступ к файловой системе Android.

Заключение

Интеграция radare2 и Cutter в Termux предоставляет мощный набор средств для статического анализа кода прямо на Android‑устройстве. При правильной настройке вы получаете возможности, сравнимые с настольными Linux‑окружениями, при этом сохраняете мобильность и гибкость.

Если вам требуется профессиональная поддержка в настройке среды анализа, разработка кастомных скриптов или обучение работе с radare2 и Cutter, команда RybinskLab готова помочь. Мы предоставляем консультации, настройку инфраструктуры и обучение по реверс‑инжинирингу под Android.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект