
Frida version management tool
Вам когда-нибудь казалось, что поиск подходящей версии Frida для работы — это как вдевать нитку в иголку? Разные проекты, устройства и сценарии отладки требуют специфических сборок, и отслеживание версий Frida быстро превращается в утомительный акт балансирования. friman (произносится "free man") создан именно для решения этой проблемы.
Переключаться между версиями Frida — обычное дело, потому что разные окружения не всегда одинаково работают с последним релизом. В зависимости от того, что вы исследуете, определённая версия может быть единственной, работающей надёжно. Основные причины:
v16 и v17).Frida быстро развивается, и разные проекты или устройства часто требуют разных версий. Ручное переключение чревато ошибками, особенно когда приходится работать с несколькими окружениями, бинарниками сервера и gadget.
friman предоставляет:
$HOME/.friman)frida-gadget и frida-server)Его цель — сделать управление версиями Frida максимально простым.

Рекомендуемый способ установки — напрямую из GitHub:
# Через pipx (рекомендуется)
pipx install git+https://github.com/thelicato/friman
# Или через pip
pip install git+https://github.com/thelicato/friman
После установки выполните следующее:
friman ensurepath # Настройка PATH для выбранного окружения Frida
friman update # Обновление локального списка доступных версий Frida и матрицы совместимости
friman предоставляет интерфейс командной строки для установки, переключения и управления несколькими версиями Frida. Ниже приведён основной вывод справки:
Usage: friman [OPTIONS] COMMAND [ARGS]...
Options:
-v, --version Show the application's version and exit.
-d, --debug Show debug output.
-h, --help Show this message and exit.
Commands:
update Update the local list of available Frida versions.
install Install a <version> of Frida.
uninstall Uninstall a <version> of Frida.
use Use <version>.
disable Disable friman.
current Display the currently activated version of Frida.
list List all the installed versions.
ensurepath Ensure friman directories are correctly set.
download Download a specific release file (only server and gadget)...
push-server Pushes a the Frida server into the selected ANDROID device.
Подробные справки доступны в разделах ниже.
update (команда)
updateUsage: friman update [OPTIONS]
Update the local list of available Frida versions.
Options:
-h, --help Show this message and exit.
install (команда)
installUsage: friman install [OPTIONS] version
Install a <version> of Frida.
Arguments:
version The version of Frida to install [required]
Options:
-f, --force Force install.
--list Show all the installable versions and exit.
-h, --help Show this message and exit.
uninstall (команда)
uninstallUsage: friman uninstall [OPTIONS] version
Uninstall a <version> of Frida.
Arguments:
version The version of Frida to uninstall [required]
Options:
-h, --help Show this message and exit.
use (команда)
useUsage: friman use [OPTIONS] version
Use <version>.
Arguments:
version The version of Frida to use [required]
Options:
-h, --help Show this message and exit.
disable (команда)
disableUsage: friman disable [OPTIONS]
Disable friman.
Options:
-h, --help Show this message and exit.
current (команда)
currentUsage: friman current [OPTIONS]
Display the currently activated version of Frida.
Options:
-h, --help Show this message and exit.
list (команда)
listUsage: friman list [OPTIONS]
List all the installed versions.
Options:
-h, --help Show this message and exit.
ensurepath (команда)
ensurepathUsage: friman ensurepath [OPTIONS]
Ensure friman directories are correctly set.
Options:
-h, --help Show this message and exit.
download (команда)
downloadUsage: friman download [OPTIONS] type platform
Download a specific release file (only server and gadget) for the current
version.
Arguments:
type The selected asset type [required]
platform The platform to use [required]
Options:
-o, --output TEXT Select the folder where to download the file.
-h, --help Show this message and exit.
push-server (команда)
push-serverUsage: friman push-server [OPTIONS] device_id platform
Pushes a the Frida server into the selected ANDROID device.
Arguments:
device_id The selected ANDROID device [required]
platform The platform of the device [required]
Options:
--list Show all the USB devices and exit.
-h, --help Show this message and exit.
Pull-запросы приветствуются! Пожалуйста, сначала откройте issue для обсуждения значительных изменений.
friman распространяется под лицензией MIT LICENSE.