Inglés | Chino

Fridare es una herramienta de automatización mágica para el complemento iOS Frida, Android, Linux, Windows y otras plataformas. Permite a los usuarios cambiar nombres y puertos para una mayor seguridad y flexibilidad. Elimina muchos casos de detección de jailbreak de Frida.
Usado debajo de las ventanas | Documentos de Android | Documentos de iOS | DOCUMENTOS DE TOWAS DE FRIDA | Guía de instalación | Colegio de cambios
Todos son bienvenidos a unirse al grupo QQ para discutir: QQ 555354813. Si este proyecto es útil para usted, ¡recuerde agregar estrellas al autor y alentarlo!
¡Bienvenido para comenzar con Fridare rápidamente con la nueva función de instalación de un clic!
curl -s https://raw.githubusercontent.com/suifei/fridare/main/fridare.sh | bash -s installpatch-frida.cmd para modificar Frida-Server en el entorno de Windowspatch-frida-tools.cmd agregado para modificar las herramientas Frida en el entorno de Windowspatch-tools para parchar el módulo de toallas fridarender_markdown para renderizar el formato de markdown simple en el terminalgenerate_random_name para generar un nombre mágico de Frida aleatoriomove_file para manejar los errores "son identificadores" cuando se mueve el archivolist_frida_versions , que ahora puede hacer descripciones de versión en formato de markdownbuild_frida , admitir la construcción con archivos deb localespatch_frida_tools y restore_frida_toolsmodify_frida_tools para mejorar la confiabilidad de modificar las herramientas Fridadownload_frida_module y aumentar el soporte para sistemas operativos y arquitecturas específicosshow_main_usage y otras instrucciones para reflejar nuevas funcionesparse_arguments para admitir el comando recientemente agregado patch-toolsFRIDA_NAMEmacOS , iOS , Android , Linux y Windowsupgrade agregada: se usa para actualizar automáticamente los scripts fridareupgrade para actualizar automáticamente los scripts fridarepatch a los módulos Frida especificados del parche安卓frida-server ./fridare.sh p -m frida-server -latest -os android -arch arm64 -o ./patchedpatchbuild , download y otros comandos
fridare.sh para integrar todas las funciones y proporcionar una interfaz de línea de comandos más completabuild , ls , download , lm , setup , config y help agregadosfrida:rpc Feature Magic Modificacióncore.py y modifique mágicamente el archivo _frida.abi3.soautoinstall.sh para realizar la implementación automática del complemento Frida.Makefile para simplificar el proceso de construcción e implementación de proyectos.Configurar el inicio de sesión sin contraseña de SSH para ISSH
# 生成 keygen 密钥,如果已生成可以跳过
ssh-keygen -t rsa -b 4096 -C " <EMAIL> "
# 配置手机IP,如果USB连接可以不配置
issh ip set < iPhone-IP >
# 拷贝公钥到手机 /var/root ,需要 root 密码 alpine
issh scp ~ /.ssh/id_rsa.pub
# 远程服务器添加公钥到 authorized_keys 文件
issh run " mkdir -p ~/.ssh && cat /var/root/id_rsa.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh " fridare.sh - Frida 魔改脚本
│
├── 主要功能
│ ├── 构建魔改版 Frida (build)
│ │ ├── 支持指定版本或最新版本
│ │ ├── 自动生成随机5字符名称
│ │ ├── 自定义端口设置
│ │ └── 支持 arm 和 arm64 架构
│ ├── 列出可用 Frida 版本 (ls, list)
│ │ └── 从 GitHub API 获取版本信息
│ ├── 下载特定版本 Frida (download)
│ │ ├── 支持下载单个或所有模块
│ │ └── 可选的自动解压功能
│ ├── 列出可用 Frida 模块 (lm, list-modules)
│ ├── 检查并安装系统依赖 (setup)
│ │ ├── 自动检测缺失依赖
│ │ └── 使用包管理器安装依赖
│ └── 配置选项设置 (config)
│ ├── 设置 HTTP 代理
│ ├── 设置 Frida 服务器端口
│ └── 设置 Frida 魔改名称
│
├── 脚本结构
│ ├── 初始化配置 (initialize_config)
│ │ └── 读取和创建配置文件
│ ├── 参数解析 (parse_arguments)
│ │ └── 支持多种命令行选项
│ ├── 命令处理
│ │ ├── build: 构建魔改版 Frida
│ │ ├── patch: 修补指定的 Frida 模块
│ │ ├── setup: 设置环境
│ │ ├── config: 管理配置
│ │ ├── list: 列出版本
│ │ ├── download: 下载模块
│ │ └── list-modules: 列出模块
│ └── 主函数 (main)
│ └── 整合所有功能的入口点
│
├── 构建过程 (build_frida)
│ ├── 版本检查
│ │ └── 支持最新版本自动检测
│ ├── 环境准备
│ │ ├── 检查 Python 环境 (包括 Conda)
│ │ └── 检查 Golang 环境
│ ├── 下载 Frida (download_frida)
│ ├── 解包 deb 文件
│ ├── 修改文件
│ │ ├── 修改启动守护程序 (modify_launch_daemon)
│ │ │ └── 更新 plist 文件
│ │ ├── 修改 Debian 文件 (modify_debian_files)
│ │ │ ├── 更新 control 文件
│ │ │ ├── 更新 extrainst_ 文件
│ │ │ └── 更新 prerm 文件
│ │ └── 修改二进制文件 (modify_binary)
│ │ ├── 修改 frida-server
│ │ ├── 修改 frida-agent.dylib
│ │ └── 使用 hexreplace 工具
│ ├── 重新打包 deb 文件 (repackage_deb)
│ └── 修改 frida-tools (modify_frida_tools)
│ ├── 修改 Python 库文件
│ └── 更新 core.py 中的字符串
│
├── 辅助功能
│ ├── 日志输出 (log_info, log_success, log_warning, log_error)
│ │ └── 支持彩色输出
│ ├── 用户确认 (confirm_execution)
│ │ └── 可选的自动确认模式
│ ├── 依赖检查 (check_dependencies)
│ ├── 依赖安装 (install_dependencies)
│ ├── 配置管理 (set_config, unset_config, list_config)
│ └── Frida 版本和模块列表 (list_frida_versions, list_frida_modules)
│
├── 下载功能 (download_frida_module)
│ ├── 版本选择 (最新版或指定版本)
│ ├── 模块选择 (单个模块或全部模块)
│ ├── 下载过程
│ │ └── 支持 HTTP 代理
│ └── 解压处理
│ └── 可选的自动解压功能
│
└── 安全和权限
├── sudo 权限保持 (sudo_keep_alive)
└── 清理过程 (cleanup)git clone https://github.com/suifei/fridare.git
cd fridare./fridare.sh setupEste comando verificará e instalará las dependencias requeridas.
./fridare.sh help Fridare proporciona múltiples comandos para satisfacer diferentes necesidades:
build : reempaquetaje fridals o list : Lista de versiones de Frida disponiblesdownload : Descargar una versión específica de Fridalm o list-modules : Lista de módulos Frida disponiblessetup : verifique e instale las dependencias del sistemaconfig : Establecer opciones de configuraciónhelp : Mostrar información de ayuda./fridare.sh build -v 16.0.19 -p 8899 -yEste comando construirá Frida para la versión 16.0.19, establecerá el puerto a 8899 y confirmará automáticamente todas las indicaciones.
./fridare.sh ls./fridare.sh download -v 16.0.19 -m frida-server ./outputEste comando descargará el módulo Frida-Server de la versión 16.0.19 al directorio ./output.
./fridare.sh download -latest -all ./output./fridare.sh lm./fridare.sh setupEste comando verifica e instala las dependencias del sistema requeridas.
./fridare.sh config set proxy http://127.0.0.1:7890
./fridare.sh config set port 9999
./fridare.sh config set frida-name abcdeEstos comandos establecen el nombre mágico de proxy, puerto y frida respectivamente.
./fridare.sh config ls./fridare.sh help buildEste comando mostrará el uso detallado del comando de compilación.
./fridare.sh build -latest -p 9999 -yEste comando se construirá utilizando la última versión de Frida, establecer el puerto en 9999 y confirmar automáticamente todas las indicaciones.
./fridare.sh download -latest -m frida-gadget --no-extract ./outputEste comando descargará la última versión del módulo Frida-Gadget al directorio ./output, pero no se descomprimirá automáticamente.
./fridare.sh config frida-toolsEste comando instalará o actualizará las herramientas Frida.
scp ./dist/frida_16.3.3_iphoneos-arm_tcp.deb root@ < iPhone-IP > :/var/root/ssh root@ < iPhone-IP >
dpkg -i /var/root/frida_16.3.3_iphoneos-arm_tcp.debEstos ejemplos cubren las características principales y los escenarios de uso comunes de los scripts. Puede ayudarlo a comenzar rápidamente.
Para garantizar la compatibilidad, instale la herramienta Frida que coincida con la versión de servidor modificada:
pip install frida-tools==12.4.3Para usuarios de node.js:
npm install [email protected]Si se accede a su dispositivo a través de USB, puede conectarse al servidor de Frida local usando el siguiente comando:
frida -U -f < target-process > Si no está utilizando el cable USB, puede usar el siguiente comando para conectarse al servidor frida remoto:
frida -H < iPhone-IP > :8899 -U
frida-trace -H < iPhone-IP > :8899 ...
frida-ps -H < iPhone-IP > :8899
frida-inject -H < iPhone-IP > :8899 ...Los principios centrales del proyecto Fridare:
La idea central de Fridare es modificar Frida-Server para que sea más difícil de detectar. Esto se logra principalmente a través de los siguientes aspectos:
Cambie el nombre de los archivos del servidor: cambie el nombre frida-server a un nombre generado al azar (como abcde ) para evitar una detección de nombres simple.
Modifique la configuración de inicio: Actualice el archivo Plist LaunchDaemons para usar el nuevo nombre del servidor y el puerto personalizado. Esto puede cambiar el método de inicio del servidor y el puerto de escucha.
Modificación del archivo binario: use la tecnología de reemplazo binario para reemplazar la cadena relacionada con "Frida" en el archivo binario del servidor con una cadena personalizada. Esto evita detectar FRIDA escaneando el binario.
El proyecto utiliza la herramienta DPKG-DEB para desempaquetar y volver a empaquetar los archivos DEB. Esto nos permite modificar el contenido del paquete, incluido:
El script fridare.sh automatiza todo el proceso:
El script maneja los paquetes de arquitectura ARM y ARM64, asegurando la compatibilidad en diferentes dispositivos iOS.
Al cambiar el nombre del servidor, el puerto y la cadena interna, este proyecto hace que sea más difícil detectar la existencia de Frida mediante métodos convencionales. Esto es útil para usar Frida en algunas aplicaciones que pueden detectar y bloquear de manera proactiva a Frida.
Al permitir a los usuarios especificar versiones y puertos de Frida, la herramienta proporciona una gran flexibilidad para adaptarse a las diferentes necesidades y entornos.
Use HexReplace para realizar reemplazo binario y modificar el archivo binario sin recompensar a Frida. Este método funciona, pero tiene limitaciones, ya que solo puede reemplazar cadenas de longitudes fijas.
Enviar preguntas y solicitudes de extracción son bienvenidas. Para cambios importantes, comience un problema y discuta lo que desea cambiar.
Licencia de MIT
Fridare es una herramienta de modificación diseñada para personalizar el servidor Frida, específicamente para dispositivos iOS jailbroken. Permite a los usuarios cambiar nombres y puertos, mejorando la seguridad y la flexibilidad. Elimina muchos escenarios de detección de jailbreak para Frida. Colegio de cambios
Aquí está la versión en inglés del ChangeLog:
patch-tools para modificar el módulo de Tools Fridarender_markdown para mostrar formateo de markdown simple en el terminalgenerate_random_name para crear nombres de modificación de Frida aleatoriosmove_file creado para manejar "son identificadores" durante los movimientos del archivolist_frida_versions para representar descripciones de versión en forma de markdownbuild_frida actualizada para admitir la construcción de archivos de DEB localespatch_frida_tools y restore_frida_toolsmodify_frida_tools para modificaciones más confiables de Tools Fridadownload_frida_module con soporte para un sistema operativo y arquitectura específicosshow_main_usage actualizado y otras funciones de instrucciones de uso para reflejar nuevas característicasparse_arguments para acomodar el comando nuevo patch-toolsFRIDA_NAMEfridare.sh agregado, integrando todas las funciones y proporcionando una interfaz de línea de comandos más completabuild , ls , download , lm , setup , config y help agregadosfrida:rpccore.py y modifica el archivo _frida.abi3.soautoinstall.sh Script para la implementación automática de complementos Frida.Makefile para simplificar el proceso de compilación y implementación del proyecto.Configurar el inicio de sesión SSH sin contraseña para ISSH
# Generate keygen, skip if already generated
ssh-keygen -t rsa -b 4096 -C " <EMAIL> "
# Configure iPhone IP, can be skipped if using USB connection
issh ip set < iPhone-IP >
# Copy public key to /var/root on the phone, requires root password alpine
issh scp ~ /.ssh/id_rsa.pub
# Add public key to authorized_keys file on remote server
issh run " mkdir -p ~/.ssh && cat /var/root/id_rsa.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh " fridare.sh - Frida Modification Script
│
├── Main Functions
│ ├── Build Modified Frida (build)
│ │ ├── Support for specified version or latest version
│ │ ├── Auto-generate random 5-character name
│ │ ├── Custom port setting
│ │ └── Support for arm and arm64 architectures
│ ├── List Available Frida Versions (ls, list)
│ │ └── Fetch version info from GitHub API
│ ├── Download Specific Frida Version (download)
│ │ ├── Support for downloading single or all modules
│ │ └── Optional auto-extraction feature
│ ├── List Available Frida Modules (lm, list-modules)
│ ├── Check and Install System Dependencies (setup)
│ │ ├── Auto-detect missing dependencies
│ │ └── Install dependencies using package manager
│ └── Configure Options (config)
│ ├── Set HTTP proxy
│ ├── Set Frida server port
│ └── Set Frida modification name
│
├── Script Structure
│ ├── Initialize Configuration (initialize_config)
│ │ └── Read and create configuration file
│ ├── Parse Arguments (parse_arguments)
│ │ └── Support various command-line options
│ ├── Command Processing
│ │ ├── build: Build modified Frida
│ │ ├── setup: Set up environment
│ │ ├── config: Manage configuration
│ │ ├── list: List versions
│ │ ├── download: Download modules
│ │ └── list-modules: List modules
│ └── Main Function (main)
│ └── Entry point integrating all functionalities
│
├── Build Process (build_frida)
│ ├── Version Check
│ │ └── Support for latest version auto-detection
│ ├── Environment Preparation
│ │ ├── Check Python environment (including Conda)
│ │ └── Check Golang environment
│ ├── Download Frida (download_frida)
│ ├── Unpack deb File
│ ├── Modify Files
│ │ ├── Modify Launch Daemon (modify_launch_daemon)
│ │ │ └── Update plist file
│ │ ├── Modify Debian Files (modify_debian_files)
│ │ │ ├── Update control file
│ │ │ ├── Update extrainst_ file
│ │ │ └── Update prerm file
│ │ └── Modify Binary Files (modify_binary)
│ │ ├── Modify frida-server
│ │ ├── Modify frida-agent.dylib
│ │ └── Use hexreplace tool
│ ├── Repackage deb File (repackage_deb)
│ └── Modify frida-tools (modify_frida_tools)
│ ├── Modify Python library files
│ └── Update strings in core.py
│
├── Auxiliary Functions
│ ├── Log Output (log_info, log_success, log_warning, log_error)
│ │ └── Support for colored output
│ ├── User Confirmation (confirm_execution)
│ │ └── Optional auto-confirm mode
│ ├── Dependency Check (check_dependencies)
│ ├── Dependency Installation (install_dependencies)
│ ├── Configuration Management (set_config, unset_config, list_config)
│ └── Frida Version and Module Lists (list_frida_versions, list_frida_modules)
│
├── Download Functionality (download_frida_module)
│ ├── Version Selection (latest or specified version)
│ ├── Module Selection (single module or all modules)
│ ├── Download Process
│ │ └── Support for HTTP proxy
│ └── Extraction Processing
│ └── Optional auto-extraction feature
│
└── Security and Permissions
├── Maintain sudo Privileges (sudo_keep_alive)
└── Cleanup Process (cleanup)git clone https://github.com/suifei/fridare.git
cd fridare./fridare.sh setupEste comando verificará e instalará las dependencias requeridas.
./fridare.sh help Fridare proporciona múltiples comandos para satisfacer diferentes necesidades:
build : reempaquetaje fridals o list : Lista de versiones de Frida disponiblesdownload : Descargar una versión específica de Fridalm o list-modules : Lista de módulos Frida disponiblessetup : verifique e instale las dependencias del sistemaconfig : Establecer opciones de configuraciónhelp : Mostrar información de ayuda./fridare.sh build -v 16.0.19 -p 8899 -yEste comando construirá Frida versión 16.0.19, establecerá el puerto en 8899 y confirmará automáticamente todas las indicaciones.
./fridare.sh ls./fridare.sh download -v 16.0.19 -m frida-server ./outputEste comando descargará el módulo Frida-Server de la versión 16.0.19 al directorio ./output.
./fridare.sh download -latest -all ./output./fridare.sh lm./fridare.sh setupEste comando verificará e instalará las dependencias del sistema requeridas.
./fridare.sh config set proxy http://127.0.0.1:7890
./fridare.sh config set port 9999
./fridare.sh config set frida-name abcdeEstos comandos establecen el nombre de modificación proxy, puerto y frida respectivamente.
./fridare.sh config ls./fridare.sh help buildEste comando mostrará un uso detallado para el comando de compilación.
./fridare.sh build -latest -p 9999 -yEste comando se construirá utilizando la última versión de Frida, establecerá el puerto en 9999 y confirma automáticamente todas las indicaciones.
./fridare.sh download -latest -m frida-gadget --no-extract ./outputEste comando descargará la última versión del módulo Frida-Gadget al directorio ./output, pero no la extraerá automáticamente.
./fridare.sh config frida-toolsEste comando instalará o actualizará las herramientas Frida.
scp ./dist/frida_16.3.3_iphoneos-arm_tcp.deb root@ < iPhone-IP > :/var/root/ssh root@ < iPhone-IP >
dpkg -i /var/root/frida_16.3.3_iphoneos-arm_tcp.debEstos ejemplos cubren las funciones principales y los escenarios de uso comunes del guión. Pueden ayudarlo a comenzar rápidamente a usarlo.
Para garantizar la compatibilidad, instale herramientas Frida que coincidan con la versión de servidor modificada:
pip install frida-tools==12.4.3Para usuarios de node.js:
npm install [email protected]Si se accede a su dispositivo a través de USB, puede usar el siguiente comando para conectarse al servidor de frida local:
frida -U -f < target-process > Si no usa un cable de datos USB, puede usar los siguientes comandos para conectarse al servidor frida remoto:
frida -H < iPhone-IP > :8899 -U
frida-trace -H < iPhone-IP > :8899 ...
frida-ps -H < iPhone-IP > :8899
frida-inject -H < iPhone-IP > :8899 ...Principios básicos del proyecto Fridare:
La idea central de Fridare es modificar Frida-Server para que sea más difícil de detectar. Esto se logra principalmente a través de los siguientes aspectos:
Renombra el archivo del servidor: cambie el frida-server a un nombre generado al azar (por ejemplo, abcde ), que evita la detección de nombres simples.
Modificación de la configuración de inicio: Actualice el archivo Plist LaunchDaemons para usar el nuevo nombre del servidor y el puerto personalizado. Esto cambia la forma en que comienza el servidor y el puerto en el que escucha.
Modificación del archivo binario: use técnicas de reemplazo binaria para reemplazar las cadenas relacionadas con "Frida" en el archivo binario del servidor con cadenas personalizadas. Esto puede evitar la detección de Frida escaneando el archivo binario.
El proyecto utiliza la herramienta DPKG-DEB para desempaquetar y reembolsar archivos DEB. Esto nos permite modificar el contenido del paquete, incluido:
El script fridare.sh automatiza todo el proceso:
El script maneja paquetes para arquitecturas ARM y ARM64, asegurando la compatibilidad en diferentes dispositivos iOS.
Al cambiar el nombre del servidor, el puerto y las cadenas internas, este proyecto hace que sea más difícil detectar la presencia de Frida a través de métodos convencionales. Esto es particularmente útil para usar Frida en aplicaciones que podrían detectar y bloquear activamente Frida.
Al permitir a los usuarios especificar la versión y el puerto de Frida, la herramienta proporciona una gran flexibilidad para adaptarse a las diferentes necesidades y entornos.
Uso de HexReplace para realizar reemplazos binarios, modificando archivos binarios sin recompilar Frida. Si bien es efectivo, este método tiene limitaciones, ya que solo puede reemplazar las cadenas de longitud fija.
Los problemas y las solicitudes de extracción son bienvenidas. Para cambios importantes, abra primero un problema para discutir lo que le gustaría cambiar.
Licencia de MIT