영어 | 중국인

Fridare는 iOS Frida 플러그인, Android, Linux, Windows 및 기타 플랫폼을위한 자동화 마법 도구입니다. 보안 및 유연성을 향상시키기 위해 사용자가 이름과 포트를 변경할 수 있습니다. Frida의 탈옥 탐지 사례를 제거합니다.
Windows에서 사용 | 안드로이드 문서 | 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 명령을 Patch Frida-Tools 모듈에 추가하십시오render_markdown 함수 추가generate_random_name 함수를 추가하십시오.move_file 함수를 구현하여 파일이 이동할 때 "IS IN IDEINE"오류가 발생합니다.list_frida_versions 함수를 최적화하여 이제 Markdown 형식으로 버전 설명을 렌더링 할 수 있습니다.build_frida 기능을 향상시키고 로컬 DEB 파일을 사용하여 빌드를 지원합니다patch_frida_tools 및 restore_frida_tools 함수의 함수 및 오류 처리 향상modify_frida_tools 기능 최적화download_frida_module 기능을 개선하고 특정 운영 체제 및 아키텍처에 대한 지원을 늘리십시오.show_main_usage 및 기타 지침을 업데이트하십시오patch-tools 명령을 지원하기 위해 parse_arguments 함수 조정FRIDA_NAME 에 대한 지원 추가macOS , iOS , Android , Linux 및 Windows 지원합니다.upgrade 명령 : Fridare 스크립트를 자동으로 업데이트하는 데 사용됩니다upgrade 명령이 추가되었습니다patch 명령이 지정된 frida 모듈을 추가했습니다安卓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는 Frida-Server, 특히 Jailbroken iOS 장치 용으로 사용자 정의하도록 설계된 수정 도구입니다. 이를 통해 사용자는 이름과 포트를 변경하여 보안 및 유연성을 향상시킬 수 있습니다. Frida의 많은 탈옥 탐지 시나리오를 제거합니다. changelog
Changelog의 영어 버전은 다음과 같습니다.
patch-tools 명령render_markdown 함수 구현generate_random_name 함수를 추가했습니다move_file 함수를 작성했습니다.list_frida_versions 기능 Markdown 형식 버전 설명을 렌더링합니다build_frida 기능patch_frida_tools 및 restore_frida_tools 기능의 확장 된 기능 및 오류 처리 기능modify_frida_tools 기능download_frida_module 특정 OS 및 아키텍처를 지원하는 기능show_main_usage 및 기타 사용 지침 기능 새로운 기능을 반영합니다.parse_arguments 기능 새 patch-tools 명령을 수용하도록합니다FRIDA_NAME 에 대한 지원을 포함하도록 수정 된 구성 파일 처리fridare.sh 스크립트 추가, 모든 기능을 통합하고보다 완전한 명령 줄 인터페이스 제공build , ls , download , lm , setup , config 및 help 명령이 추가되었습니다.frida:rpc 기능 수정에 적응합니다core.py 파일을 수정하고 _frida.abi3.so 파일을 수정합니다.autoinstall.sh 스크립트.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-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 라이센스