Anglais | Chinois

Fridare est un outil d'automatisation Magic pour le plug-in, Android, Linux, Windows et autres plates-formes iOS Frida. Il permet aux utilisateurs de modifier les noms et les ports pour une sécurité et une flexibilité améliorées. Il élimine de nombreux cas de détection de jailbreak de Frida.
Utilisé sous Windows | Documents Android | Documents iOS | Frida-Tools Documents | Guide d'installation | Changelog
Tout le monde est invité à rejoindre le groupe QQ pour discuter: QQ 555354813. Si ce projet vous est utile, n'oubliez pas d'ajouter des étoiles à l'auteur et l'encouragez!
Bienvenue pour commencer rapidement avec Fridare avec la nouvelle fonction d'installation en un clic!
curl -s https://raw.githubusercontent.com/suifei/fridare/main/fridare.sh | bash -s installpatch-frida.cmd pour modifier le serveur Frida dans l'environnement Windowspatch-frida-tools.cmd pour modifier les outils de Frida dans l'environnement Windowspatch-tools au module Patch Frida-Toolsrender_markdown pour rendre le format de marque simple dans le terminalgenerate_random_name pour générer un nom de magie Frida aléatoiremove_file pour gérer "les erreurs d'identifiant" lorsque le fichier se déplacelist_frida_versions , qui peut désormais rendre les descriptions de version au format Markdownbuild_frida , support Build avec les fichiers DEB locauxpatch_frida_tools et restore_frida_toolsmodify_frida_tools pour améliorer la fiabilité de la modification des outils Fridadownload_frida_module et augmenter la prise en charge de systèmes d'exploitation et d'architectures spécifiquesshow_main_usage et autres instructions pour refléter les nouvelles fonctionsparse_arguments pour prendre en charge la commande patch-tools nouvellement ajoutéeFRIDA_NAMEmacOS , iOS , Android , Linux et Windowsupgrade ajoutée: utilisée pour mettre à jour automatiquement les scripts Fridareupgrade pour mettre à jour automatiquement les scripts Fridarepatch au correctif des modules Frida spécifiés安卓frida-server ./fridare.sh p -m frida-server -latest -os android -arch arm64 -o ./patchedpatchbuild , download et d'autres commandes
fridare.sh pour intégrer toutes les fonctions et fournir une interface de ligne de commande plus complètebuild , ls , download , lm , setup , config et helpfrida:rpc Feature Magic Modificationcore.py et modifiez comme par magie le fichier _frida.abi3.soautoinstall.sh pour réaliser le déploiement automatique du plug-in Frida.Makefile pour simplifier le processus de construction et de déploiement des projets.Configurer la connexion sans mot de passe SSH pour 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 setupCette commande vérifiera et installera les dépendances requises.
./fridare.sh help Fridare fournit plusieurs commandes pour répondre aux différents besoins:
build : Repackage Fridals ou list : Liste des versions Frida disponiblesdownload : Télécharger une version spécifique de Fridalm ou list-modules : Liste des modules FRIDA disponiblessetup : vérifier et installer les dépendances du systèmeconfig : définir des options de configurationhelp : afficher les informations d'aide./fridare.sh build -v 16.0.19 -p 8899 -yCette commande créera Frida pour la version 16.0.19, définira le port sur 8899 et confirmera automatiquement toutes les invites.
./fridare.sh ls./fridare.sh download -v 16.0.19 -m frida-server ./outputCette commande téléchargera le module Frida-Server de la version 16.0.19 sur le répertoire ./output.
./fridare.sh download -latest -all ./output./fridare.sh lm./fridare.sh setupCette commande vérifie et installe les dépendances système requises.
./fridare.sh config set proxy http://127.0.0.1:7890
./fridare.sh config set port 9999
./fridare.sh config set frida-name abcdeCes commandes définissent respectivement le nom Magic Proxy, Port et Frida.
./fridare.sh config ls./fridare.sh help buildCette commande affichera l'utilisation détaillée de la commande build.
./fridare.sh build -latest -p 9999 -yCette commande sera construite à l'aide de la dernière version de Frida, définira le port sur 9999 et confirmera automatiquement toutes les invites.
./fridare.sh download -latest -m frida-gadget --no-extract ./outputCette commande téléchargera la dernière version du module Frida-Gadget dans le répertoire ./output, mais ne sera pas automatiquement décompressée.
./fridare.sh config frida-toolsCette commande installera ou mettra à jour les outils 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.debCes exemples couvrent les principales caractéristiques et les scénarios d'utilisation communs des scripts. Cela peut vous aider à démarrer rapidement.
Pour assurer la compatibilité, installez l'outil Frida qui correspond à la version du serveur modifié:
pip install frida-tools==12.4.3Pour les utilisateurs de Node.js:
npm install [email protected]Si votre appareil est accessible via USB, vous pouvez vous connecter au serveur Frida local à l'aide de la commande suivante:
frida -U -f < target-process > Si vous n'utilisez pas le câble USB, vous pouvez utiliser la commande suivante pour vous connecter au Frida-Server distant:
frida -H < iPhone-IP > :8899 -U
frida-trace -H < iPhone-IP > :8899 ...
frida-ps -H < iPhone-IP > :8899
frida-inject -H < iPhone-IP > :8899 ...Les principes fondamentaux du projet Fridare:
L'idée principale de Fridare est de modifier Frida-Server pour le rendre plus difficile à détecter. Ceci est principalement réalisé à travers les aspects suivants:
Renommez les fichiers du serveur: renommez frida-server à un nom généré aléatoirement (tel que abcde ) pour éviter la détection simple de nom.
Modifiez la configuration du démarrage: mettez à jour le fichier LaunchDaemons Plist pour utiliser le nouveau nom du serveur et le port personnalisé. Cela peut modifier la méthode de démarrage du serveur et le port d'écoute.
Modification du fichier binaire: utilisez la technologie de remplacement binaire pour remplacer la chaîne associée "Frida" dans le fichier binaire du serveur par une chaîne personnalisée. Cela évite de détecter Frida en scannant le binaire.
Le projet utilise l'outil DPKG-DEB pour déballer et reconditionner les fichiers DEB. Cela nous permet de modifier le contenu du package, notamment:
Le script fridare.sh automatise l'ensemble du processus:
Le script gère les packages d'architecture ARM et ARM64, assurant une compatibilité sur différents appareils iOS.
En modifiant le nom du serveur, le port et la chaîne interne, ce projet rend plus difficile de détecter l'existence de Frida par des méthodes conventionnelles. Ceci est utile pour utiliser Frida dans certaines applications qui peuvent détecter et bloquer de manière proactive Frida.
En permettant aux utilisateurs de spécifier les versions et les ports Frida, l'outil offre une grande flexibilité pour s'adapter à différents besoins et environnements.
Utilisez HexrePlace pour effectuer un remplacement binaire et modifiez le fichier binaire sans recompiller Frida. Cette méthode fonctionne, mais a des limites, car elle ne peut que remplacer les chaînes de longueurs fixes.
Soumettre les questions et les demandes de traction sont les bienvenues. Pour les changements majeurs, veuillez commencer un problème et discuter de ce que vous voulez changer.
Licence MIT
Fridare est un outil de modification conçu pour personnaliser Frida-Server, en particulier pour les appareils iOS jailbreakés. Il permet aux utilisateurs de modifier les noms et les ports, améliorant la sécurité et la flexibilité. Il élimine de nombreux scénarios de détection de jailbreak pour Frida. Changelog
Voici la version anglaise du Changelog:
patch-tools pour modifier le module Frida-Toolsrender_markdown implémentée pour afficher un formatage de marque simple dans le terminalgenerate_random_name pour créer des noms de modification Frida aléatoiresmove_file créée pour gérer "les erreurs d'identifiant" pendant les mouvements de fichierslist_frida_versions améliorée pour rendre les descriptions de version format par Markdownbuild_frida améliorée pour soutenir la construction à partir de fichiers DEB locauxpatch_frida_tools et restore_frida_tools Fonctionsmodify_frida_tools pour les modifications plus fiables de Frida-Toolsdownload_frida_module améliorée_frida_module avec prise en charge de SO et de l'architecture spécifiquesshow_main_usage et autres fonctions d'instructions d'utilisation pour refléter les nouvelles fonctionnalitésparse_arguments ajustée pour s'adapter à la nouvelle commande patch-toolsFRIDA_NAMEfridare.sh , intégrant toutes les fonctions et fournissant une interface de ligne de commande plus complètebuild , ls , download , lm , setup , config et helpfrida:rpc Modification des fonctionnalitéscore.py et modifie le fichier _frida.abi3.soautoinstall.sh pour le déploiement automatique des plugins Frida.Makefile pour simplifier le processus de construction et de déploiement du projet.Configurer la connexion SSH sans mot de passe pour 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 setupCette commande vérifiera et installera les dépendances requises.
./fridare.sh help Fridare fournit plusieurs commandes pour répondre aux différents besoins:
build : Repackage Fridals ou list : Liste des versions Frida disponiblesdownload : Télécharger une version spécifique de Fridalm ou list-modules : Liste des modules FRIDA disponiblessetup : vérifier et installer les dépendances du systèmeconfig : définir des options de configurationhelp : afficher les informations d'aide./fridare.sh build -v 16.0.19 -p 8899 -yCette commande créera la version 16.0.19 de Frida, définira le port sur 8899 et confirmera automatiquement toutes les invites.
./fridare.sh ls./fridare.sh download -v 16.0.19 -m frida-server ./outputCette commande téléchargera le module Frida-Server de la version 16.0.19 sur le répertoire ./output.
./fridare.sh download -latest -all ./output./fridare.sh lm./fridare.sh setupCette commande vérifiera et installera les dépendances système requises.
./fridare.sh config set proxy http://127.0.0.1:7890
./fridare.sh config set port 9999
./fridare.sh config set frida-name abcdeCes commandes définissent respectivement le nom de modification du proxy, du port et du FRIDA.
./fridare.sh config ls./fridare.sh help buildCette commande affichera une utilisation détaillée de la commande build.
./fridare.sh build -latest -p 9999 -yCette commande sera construite à l'aide de la dernière version de Frida, définira le port sur 9999 et confirmera automatiquement toutes les invites.
./fridare.sh download -latest -m frida-gadget --no-extract ./outputCette commande téléchargera la dernière version du module Frida-Gadget dans le répertoire ./output mais ne l'extraire pas automatiquement.
./fridare.sh config frida-toolsCette commande installera ou mettra à jour les outils 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.debCes exemples couvrent les fonctions principales et les scénarios d'utilisation communs du script. Ils peuvent vous aider à commencer rapidement par l'utiliser.
Pour assurer la compatibilité, veuillez installer des outils Frida qui correspondent à la version du serveur modifié:
pip install frida-tools==12.4.3Pour les utilisateurs de Node.js:
npm install [email protected]Si votre appareil est accessible via USB, vous pouvez utiliser la commande suivante pour vous connecter au serveur Frida local:
frida -U -f < target-process > Si vous n'utilisez pas un câble de données USB, vous pouvez utiliser les commandes suivantes pour vous connecter au Frida-Server distant:
frida -H < iPhone-IP > :8899 -U
frida-trace -H < iPhone-IP > :8899 ...
frida-ps -H < iPhone-IP > :8899
frida-inject -H < iPhone-IP > :8899 ...Principes de base du projet Fridare:
L'idée principale de Fridare est de modifier Frida-Server pour le rendre plus difficile à détecter. Ceci est principalement réalisé à travers les aspects suivants:
Renommer le fichier du serveur: renommer frida-server à un nom généré de manière aléatoire (par exemple, abcde ), ce qui évite la détection de nom simple.
Modification de la configuration du démarrage: mettez à jour le fichier LaunchDaemons Plist pour utiliser le nouveau nom du serveur et le port personnalisé. Cela modifie la façon dont le serveur démarre et le port sur lequel il écoute.
Modification du fichier binaire: utilisez des techniques de remplacement binaires pour remplacer les chaînes liées "Frida" dans le fichier binaire du serveur par des chaînes personnalisées. Cela peut éviter la détection de Frida en scannant le fichier binaire.
Le projet utilise l'outil DPKG-DEB pour déballer et reconditionner les fichiers DEB. Cela nous permet de modifier le contenu du package, notamment:
Le script fridare.sh automatise l'ensemble du processus:
Le script gère les packages pour les architectures ARM et ARM64, assurant une compatibilité sur différents appareils iOS.
En modifiant le nom du serveur, le port et les chaînes internes, ce projet rend plus difficile de détecter la présence de Frida par le biais de méthodes conventionnelles. Ceci est particulièrement utile pour utiliser Frida dans des applications qui pourraient détecter et bloquer activement Frida.
En permettant aux utilisateurs de spécifier la version et le port de Frida, l'outil offre une grande flexibilité pour s'adapter à différents besoins et environnements.
Utiliser Hexreplace pour effectuer des remplacements binaires, en modifiant les fichiers binaires sans recompilation Frida. Bien que efficace, cette méthode a des limites car elle ne peut remplacer que des chaînes de longueur fixe.
Les problèmes et les demandes de traction sont les bienvenus. Pour les changements majeurs, veuillez d'abord ouvrir un problème pour discuter de ce que vous souhaitez changer.
Licence MIT