英語|中国語

Fridareは、iOS Fridaプラグイン、Android、Linux、Windows、その他のプラットフォーム用の自動化マジックツールです。これにより、ユーザーはセキュリティと柔軟性を強化するために名前とポートを変更できます。フリダの脱獄検出の多くのケースを排除します。
Windowsで使用| Androidドキュメント| iOSドキュメント| Frida-Toolsドキュメント|インストールガイド| Changelog
QQグループに参加して、QQ 555354813に参加できます。このプロジェクトが役立つ場合は、著者に星を追加して励ましてください。
新しいワンクリックインストール機能を使用して、Fridareをすばやく開始してください!
curl -s https://raw.githubusercontent.com/suifei/fridare/main/fridare.sh | bash -s installpatch-frida.cmdスクリプトを追加しましたpatch-frida-tools.cmdスクリプトを追加しましたpatch-toolsコマンドをFrida-Toolsモジュールに追加しますrender_markdown関数が追加されましたgenerate_random_name関数を追加して、ランダムなFrida Magic Nameを生成するmove_file関数を実装するlist_frida_versions関数を最適化します。これにより、バージョンの説明をマークダウン形式でレンダリングできるようになりましたbuild_frida関数を改善し、ローカルデブファイルを備えた構築をサポートしますpatch_frida_toolsとrestore_frida_tools関数の関数とエラー処理を強化するmodify_frida_tools関数を最適化して、Frida-Toolsの変更の信頼性を向上させるdownload_frida_module関数を改善し、特定のオペレーティングシステムとアーキテクチャのサポートを増やすshow_main_usageおよびその他の手順を更新しますparse_arguments関数を調整して、新しく追加されたpatch-toolsコマンドをサポートするFRIDA_NAMEのサポートを追加しますmacOS 、 iOS 、 Android 、 Linux 、 Windowsサポートするようになりましたupgradeコマンド:Fridareスクリプトを自動的に更新するために使用されますupgradeコマンドを追加して、Fridareスクリプトを自動的に更新しましたpatchコマンドを追加しました安卓frida-server ./fridare.sh p -m frida-server -latest -os android -arch arm64 -o ./patchedpatchコマンドのヘルプ情報を追加しましたbuild 、 download 、その他のコマンドの使用状況の説明を更新しました
fridare.shスクリプトを追加して、すべての機能を統合し、より完全なコマンドラインインターフェイスを提供するbuild 、 ls 、 download 、 lm 、 setup 、 config 、 helpコマンドを追加frida:rpc機能マジックの変更core.pyファイルを魔法のように変更し、 _frida.abi3.soファイルを魔法のように変更しますautoinstall.shスクリプトを紹介します。Makefileを紹介して、プロジェクトの建設および展開プロセスを簡素化します。ISSH用のSSHパスワードフリーログインを構成します
# 生成 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 setupこのコマンドは、必要な依存関係を確認してインストールします。
./fridare.sh help Fridareは、さまざまなニーズを満たすために複数のコマンドを提供します。
build :フリーダの再パッケージlsまたはlist :利用可能なFRIDAバージョンをリストしますdownload :Fridaの特定のバージョンをダウンロードしますlmまたはlist-modules :利用可能なFRIDAモジュールをリストしますsetup :システムの依存関係を確認してインストールしますconfig :設定オプションを設定しますhelp :ヘルプ情報を表示します./fridare.sh build -v 16.0.19 -p 8899 -yこのコマンドは、バージョン16.0.19のFRIDAを構築し、ポートを8899に設定し、すべてのプロンプトを自動的に確認します。
./fridare.sh ls./fridare.sh download -v 16.0.19 -m frida-server ./outputこのコマンドは、バージョン16.0.19のFrida-Serverモジュールを./Outputディレクトリにダウンロードします。
./fridare.sh download -latest -all ./output./fridare.sh lm./fridare.sh setupこのコマンドは、必要なシステム依存関係をチェックしてインストールします。
./fridare.sh config set proxy http://127.0.0.1:7890
./fridare.sh config set port 9999
./fridare.sh config set frida-name abcdeこれらのコマンドは、それぞれプロキシ、ポート、フリーダの魔法の名前を設定します。
./fridare.sh config ls./fridare.sh help buildこのコマンドには、ビルドコマンドの詳細な使用が表示されます。
./fridare.sh build -latest -p 9999 -yこのコマンドは、Fridaの最新バージョンを使用して構築され、ポートを9999に設定し、すべてのプロンプトを自動的に確認します。
./fridare.sh download -latest -m frida-gadget --no-extract ./outputこのコマンドは、Frida-Gadgetモジュールの最新バージョンを./Outputディレクトリにダウンロードしますが、自動的に解凍されません。
./fridare.sh config frida-toolsこのコマンドは、Frida-Toolsをインストールまたは更新します。
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.debこれらの例は、スクリプトの主な機能と一般的な使用シナリオをカバーしています。すぐに始めるのに役立ちます。
互換性を確保するには、変更されたサーバーバージョンに一致するFRIDAツールをインストールします。
pip install frida-tools==12.4.3node.jsユーザーの場合:
npm install [email protected]デバイスがUSBを介してアクセスされる場合、次のコマンドを使用してローカルFrida-Serverに接続できます。
frida -U -f < target-process > USBケーブルを使用していない場合は、次のコマンドを使用して、リモートFrida-Serverに接続できます。
frida -H < iPhone-IP > :8899 -U
frida-trace -H < iPhone-IP > :8899 ...
frida-ps -H < iPhone-IP > :8899
frida-inject -H < iPhone-IP > :8899 ...Fridareプロジェクトの核となる原則:
Fridareの核となるアイデアは、Frida-Serverを変更して検出を難しくすることです。これは主に次の側面を通じて達成されます。
サーバーファイルの名前を変更する: frida-serverランダムに生成した名前( abcdeなど)に変更して、単純な名前の検出を避けます。
スタートアップ構成の変更:LaunchDaemons Plistファイルを更新して、新しいサーバー名とカスタムポートを使用します。これにより、サーバーの起動方法とリスニングポートを変更できます。
バイナリファイルの変更:バイナリ置換技術を使用して、サーバーバイナリファイルの「FRIDA」関連文字列をカスタム文字列に置き換えます。これにより、バイナリをスキャンしてFridaが検出されません。
このプロジェクトでは、DPKG-DEBツールを使用して、DEBファイルを開梱および再パッケージ化します。これにより、以下を含むパッケージの内容を変更できます。
fridare.shスクリプトは、プロセス全体を自動化します。
スクリプトは、ARMとARM64アーキテクチャパッケージの両方を処理し、さまざまなiOSデバイスの互換性を確保します。
サーバー名、ポート、および内部文字列を変更することにより、このプロジェクトにより、従来の方法でFridaの存在を検出することがより困難になります。これは、FRIDAを積極的に検出およびブロックする可能性のあるいくつかのアプリケーションでFRIDAを使用するのに役立ちます。
ユーザーがFridaバージョンとポートを指定できるようにすることで、このツールはさまざまなニーズや環境に適応するための優れた柔軟性を提供します。
hexReplaceを使用してバイナリ置換を実行し、Fridaを再コンパイルすることなくバイナリファイルを変更します。この方法は機能しますが、固定長の文字列のみを置き換えることができるため、制限があります。
質問を送信し、リクエストをプルすることは大歓迎です。大きな変更については、問題を開始して、変更したいものについて話し合ってください。
MITライセンス
Fridareは、特にJailbroken IOSデバイス向けにFrida-Serverをカスタマイズするために設計された変更ツールです。ユーザーは名前とポートを変更し、セキュリティと柔軟性を向上させることができます。 FRIDAの多くの脱獄検出シナリオを排除します。 Changelog
これがchangelogの英語版です:
patch-toolsコマンドrender_markdown関数generate_random_name関数を追加して、ランダムFRIDA変更名を作成しましたmove_file関数が作成されましたlist_frida_versions関数マークダウンフォーマットバージョンの説明をレンダリングしますbuild_frida関数ローカルデブファイルからの構築をサポートするpatch_frida_toolsとrestore_frida_tools関数の拡張機能とエラー処理modify_frida_tools関数download_frida_module関数show_main_usageおよびその他の使用法命令機能は、新機能を反映していますpatch-toolsコマンドに対応するために、調整されたparse_arguments機能FRIDA_NAMEのサポートを含むように、変更された構成ファイル処理fridare.shスクリプトを追加し、すべての機能を統合し、より完全なコマンドラインインターフェイスを提供するbuild 、 ls 、 download 、 lm 、 setup 、 config 、 helpコマンドを追加frida:rpc機能の変更に適応しましたcore.pyファイルを変更し、 _frida.abi3.soファイルを変更しますautoinstall.sh Fridaプラグインの自動展開のためのスクリプト。Makefileプロジェクトのビルドと展開プロセスを簡素化します。ISSH用のパスワードフリーSSHログインを構成します
# 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 setupこのコマンドは、必要な依存関係を確認してインストールします。
./fridare.sh help Fridareは、さまざまなニーズを満たすために複数のコマンドを提供します。
build :フリーダの再パッケージlsまたはlist :利用可能なFRIDAバージョンをリストしますdownload :Fridaの特定のバージョンをダウンロードしますlmまたはlist-modules :利用可能なFRIDAモジュールをリストしますsetup :システムの依存関係を確認してインストールしますconfig :設定オプションを設定しますhelp :ヘルプ情報を表示します./fridare.sh build -v 16.0.19 -p 8899 -yこのコマンドは、Fridaバージョン16.0.19を構築し、ポートを8899に設定し、すべてのプロンプトを自動的に確認します。
./fridare.sh ls./fridare.sh download -v 16.0.19 -m frida-server ./outputこのコマンドは、バージョン16.0.19のFrida-Serverモジュールを./Outputディレクトリにダウンロードします。
./fridare.sh download -latest -all ./output./fridare.sh lm./fridare.sh setupこのコマンドは、必要なシステム依存関係を確認してインストールします。
./fridare.sh config set proxy http://127.0.0.1:7890
./fridare.sh config set port 9999
./fridare.sh config set frida-name abcdeこれらのコマンドは、それぞれプロキシ、ポート、およびFRIDAの変更名を設定します。
./fridare.sh config ls./fridare.sh help buildこのコマンドは、ビルドコマンドの詳細な使用法を表示します。
./fridare.sh build -latest -p 9999 -yこのコマンドは、FRIDAの最新バージョンを使用してビルドされ、ポートを9999に設定し、すべてのプロンプトを自動的に確認します。
./fridare.sh download -latest -m frida-gadget --no-extract ./outputこのコマンドは、Frida-Gadgetモジュールの最新バージョンを./Outputディレクトリにダウンロードしますが、自動的に抽出しません。
./fridare.sh config frida-toolsこのコマンドは、Frida-Toolsをインストールまたは更新します。
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.debこれらの例は、スクリプトの主な機能と一般的な使用シナリオをカバーしています。彼らはあなたがそれを使用することをすぐに始めるのを助けることができます。
互換性を確保するには、変更されたサーバーバージョンに一致するFRIDAツールをインストールしてください。
pip install frida-tools==12.4.3node.jsユーザーの場合:
npm install [email protected]デバイスがUSBを介してアクセスされる場合、次のコマンドを使用して、ローカルフリダサーバーに接続できます。
frida -U -f < target-process > USBデータケーブルを使用していない場合は、次のコマンドを使用して、リモートFrida-Serverに接続できます。
frida -H < iPhone-IP > :8899 -U
frida-trace -H < iPhone-IP > :8899 ...
frida-ps -H < iPhone-IP > :8899
frida-inject -H < iPhone-IP > :8899 ...Fridareプロジェクトの中核原則:
Fridareの核となるアイデアは、Frida-Serverを変更して検出を難しくすることです。これは主に次の側面を通じて達成されます。
サーバーファイルの名前の変更: frida-serverランダムに生成された名前(例えば、 abcde )に変更します。これは、単純な名前の検出を回避します。
スタートアップ構成の変更:LaunchDaemons Plistファイルを更新して、新しいサーバー名とカスタムポートを使用します。これにより、サーバーの開始方法と耳を傾けるポートが変更されます。
バイナリファイルの変更:バイナリ置換手法を使用して、サーバーバイナリファイルの「Frida」関連文字列をカスタム文字列に置き換えます。これにより、バイナリファイルをスキャンすることにより、Fridaの検出を回避できます。
このプロジェクトでは、DPKG-DEBツールを使用して、デブファイルを開梱および再梱包します。これにより、以下を含むパッケージの内容を変更できます。
fridare.shスクリプトは、プロセス全体を自動化します。
スクリプトは、ARMとARM64アーキテクチャの両方のパッケージを処理し、さまざまなiOSデバイスの互換性を確保します。
サーバー名、ポート、および内部文字列を変更することにより、このプロジェクトにより、従来の方法でFridaの存在を検出することがより困難になります。これは、FRIDAを積極的に検出してブロックする可能性のあるアプリケーションでFRIDAを使用するのに特に役立ちます。
ユーザーがFRIDAバージョンとポートを指定できるようにすることにより、このツールはさまざまなニーズや環境に適応するための優れた柔軟性を提供します。
HexReplaceを使用してバイナリ置換を実行し、Fridaを再コンパイルせずにバイナリファイルを変更します。効果的ですが、この方法には固定長の文字列のみを置き換えることができるため、制限があります。
問題とプルリクエストは大歓迎です。大きな変更については、最初に問題を開いて、何を変えたいかを議論してください。
MITライセンス