thelicato/friman

GitHub: thelicato/friman

Frida 版本管理工具,解决多环境、多版本切换的繁琐与出错问题。

Stars: 13 | Forks: 2


friman
friman

你是否曾经觉得,为合适的任务寻找正确的 Frida 版本就像在穿针引线?由于不同的项目、设备和调试场景都需要特定的构建版本,追踪 Frida 版本很快就会变成一场令人疲惫的平衡游戏。`friman`(发音为“*free man*”)正是为了解决这个问题而设计的。 ## 为什么 在 Frida 不同版本之间切换是很常见的,因为不同的环境并不总是与最新版本表现一致。根据你的目标,特定版本可能是唯一能够可靠工作的版本。常见原因包括: - **设备/OS 特性**:较旧或不寻常的 Android/iOS 构建版本可能只适用于某些 Frida 版本。 - **项目兼容性**:某些脚本、工具或工作流依赖于特定版本的行为(例如,`v16` 和 `v17` 之间许多 API 发生了变化)。 - **稳定性与功能**:新版本修复了一些问题,但也可能引入其他问题,因此“正确”的版本并不总是最新的。 ## 概述 [Frida](https://github.com/frida/frida) 发展迅速,不同的项目或设备往往需要不同的版本。手动切换容易出错,尤其是在同时处理多个环境、服务端二进制文件和插件时。 `friman` 提供: - 版本安装与无缝切换 - 本地版本跟踪 - 干净的隔离目录结构(`$HOME/.friman`) - 用于下载发布资源文件的辅助工具(目前支持 `frida-gadget` 和 `frida-server` 资源) - 用于将 Frida 服务端二进制文件推送到 *Android* 设备的便捷工具 它的目标是让 **Frida** 的版本管理变得**尽可能无摩擦**。 ![终端](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/00d0f8d84e222217.gif) ## 安装 推荐的安装方法是直接从 *GitHub* 获取: ``` # 使用 pipx(推荐) pipx install git+https://github.com/thelicato/friman # 或使用 pip pip install git+https://github.com/thelicato/friman ``` 安装完成后,请运行以下命令: ``` friman ensurepath # Setup PATH for the currently selected Frida environment friman update # Update the local list of available Frida versions and compatibility matrix ``` ## 用法 `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 of Frida. uninstall Uninstall a of Frida. use Use . 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 命令 ### `update` 命令 ``` Usage: friman update [OPTIONS] Update the local list of available Frida versions. Options: -h, --help Show this message and exit. ```
install 命令 ### `install` 命令 ``` Usage: friman install [OPTIONS] version Install a 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 命令 ### `uninstall` 命令 ``` Usage: friman uninstall [OPTIONS] version Uninstall a of Frida. Arguments: version The version of Frida to uninstall \[required] Options: -h, --help Show this message and exit. ```
use 命令 ### `use` 命令 ``` Usage: friman use [OPTIONS] version Use . Arguments: version The version of Frida to use \[required] Options: -h, --help Show this message and exit. ```
disable 命令 ### `disable` 命令 ``` Usage: friman disable [OPTIONS] Disable friman. Options: -h, --help Show this message and exit. ```
current 命令 ### `current` 命令 ``` Usage: friman current [OPTIONS] Display the currently activated version of Frida. Options: -h, --help Show this message and exit. ```
list 命令 ### `list` 命令 ``` Usage: friman list [OPTIONS] List all the installed versions. Options: -h, --help Show this message and exit. ```
ensurepath 命令 ### `ensurepath` 命令 ``` Usage: friman ensurepath [OPTIONS] Ensure friman directories are correctly set. Options: -h, --help Show this message and exit. ```
download 命令 ### `download` 命令 ``` Usage: 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-server` 命令 ``` Usage: 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. ```
## 贡献 欢迎提交拉取请求!请先打开一个议题以讨论重大变更。 ## 许可证 _friman_ 依据 [MIT 许可证](./LICENSE) 发布
标签:Android调试, Docker支持, Frida, frida-gadget, frida-server, friman, iOS调试, SOC Prime, 依赖管理, 工具, 开发工具, 文档结构分析, 本地版本跟踪, 版本管理, 环境切换, 目录隔离, 自动化下载, 设备推送, 逆向工具