# CHANGELOG 所有值得注意的更改都将记录在此文件中。 格式基于 [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),并且本项目遵循 [语义化版本](https://semver.org/spec/v2.0.0.html)。 ## v4.0.3 - 2026-07-29 ### Added - **多平台静态编译发布**:`fridare-create` / `fridare-patch` / `hexreplace` 使用 `CGO_ENABLED=0` 纯 Go 静态链接 - windows-amd64 / windows-arm64 - linux-amd64 / linux-arm64 - darwin-amd64 / darwin-arm64 - **Windows GUI 预编译**(Fyne 需 CGO/OpenGL,本机构建 windows-amd64) - 发布脚本:`scripts/build-release.ps1` ### Notes - GUI 依赖系统图形栈,无法做成与 CLI 工具同等的纯静态跨平台二进制;Linux/macOS 请本机 `cd ui && ./build.sh` ## v4.0.2 - 2026-07-29 ### Fixed - **魔改名全链路统一为 5 位小写 a-z**:ToolsTab / ModifyTab / PackageTab / HexReplacer / GenerateRandomName 与 hexreplace 一致 - **ToolsTab 默认 `fridare`(6 字符)**:改为空默认 + 严格校验,非法名不得 silent SUCCESS - **GenerateRandomName 数字填充**:改为 a-z 填充,避免随机名启用按钮后 PatchFile 失败 - **frida-tools 查找/恢复/macOS codesign**:conda 上层目录、`_frida*.so/.pyd`、import 失败仍可 restore、ad-hoc 签名 - **GUI**:Fyne 主线程 UI;禁止 `__init__.py` 裸 `frida` 替换;Windows SysProcAttr build tags - **Windows `.cmd`/`.bat`**:全英文 ASCII + CRLF(适配 cmd.exe GBK 代码页);`.gitattributes` 强制 CRLF ### Added - Windows 构建:`ui/build.ps1`、`ui/build.bat`、`ui/build.sh windows` - `win/test_cmd_ascii.ps1` 校验批处理 ASCII/CRLF - 回归测试:tools patch、magic name 契约、hexreplace 规则 - **Release 附带 Windows GUI 预编译包** ### Changed - 脚本与 GUI 版本号统一为 **4.0.2** ## v4.0.1 - 2026-07-29 ### Fixed (follow-up) - **GenerateRandomName 数字填充**:改为 a-z 填充,与 ValidateMagicName/HexReplacer 一致;ModifyTab/PackageTab/CreateTab 统一用 ValidateMagicName - **ToolsTab 默认魔改名 `fridare`(6字符)**:改为空默认 + 严格 5 位 a-z 校验;`performPatch`/`PatchCorePyRPC` 对非法名返回错误,禁止静默 SUCCESS - 回归测试:非法/6 字符魔改名不得走通 tools patch 成功路径 - **Windows `.cmd`/`.bat` 中文乱码**:`patch-frida*.cmd`、`ui/build.bat` 改为全英文 ASCII + CRLF(cmd.exe 非 UTF-8);`.gitattributes` 强制 CRLF;`win/test_cmd_ascii.ps1` 校验 ASCII/CRLF/无BOM ### Fixed - **魔改名生成失败**:`generate_random_name` 在部分环境下返回空串导致「无法生成有效的 Frida 魔改名」 - **deb 输出路径错误**:修复 dist 日志打印绝对路径嵌套、安装指引路径错误 - **frida-tools 原生库查找**:兼容 conda / 上层 site-packages / `_frida.abi3.so` / `_frida*.pyd` 等多种布局 - **macOS 魔改后 frida 被 kill**:patch 后自动 ad-hoc `codesign`;restore 在 import 失败时仍可定位包路径 - **GUI 错误替换 Python 源码**:不再对 `__init__.py` 做裸 `frida` 全局替换,修复 `ModuleNotFoundError: No module named '_xxxxx'` - **Fyne 线程安全**:后台任务更新 UI 统一走 `fyne.Do`,消除 `should have been called in fyne.Do` 刷屏 - **GUI 交叉编译**:`HideWindow`/`CreationFlags` 拆分为 Windows build-tag 文件,Linux 交叉编译不再报错 ### Added - Windows 本机构建:`ui/build.ps1`、`ui/build.bat` - `ui/build.sh windows` 交叉编译 Windows GUI 说明与实现 - 文档补充:iOS 手动启动 launchctl、patch-tools 常见问题、安装与构建说明 ### Changed - 魔改名统一为 **5 个小写字母 a-z**(与 hexreplace 一致) - `dpkg-deb` 优先使用 `--root-owner-group` 减少打包警告 - 脚本版本号同步至 4.0.1 ## v4.0.0 - 2025-01-02 ### Added - **🎉 全新GUI版本发布**:基于 Fyne 框架实现的跨平台图形用户界面 - **🔧 Windows deb包完全支持**:在Windows平台下原生支持deb包的修改和创建,无需WSL或Linux虚拟机 - 新增Windows平台下的deb包解压、修改、重新打包完整工具链 - 新增图形化的 Frida 服务器修改工具,提供直观的操作体验 - 新增可视化配置管理界面,支持实时预览和修改 - 新增图形化日志显示,支持彩色输出和实时更新 - 新增文件拖拽支持,简化文件选择流程 - 新增进度条显示,实时展示操作进度 - 新增三个独立的可执行文件: - `fridare-gui.exe` - 主GUI应用程序 - `fridare-create.exe` - 创建工具 - `fridare-patch.exe` - 补丁工具 ### Enhanced - 🔧 完全重构的核心架构,支持命令行和GUI双模式 - 🎨 现代化的用户界面设计,提升用户体验 - 📱 真正的跨平台支持(Windows、macOS、Linux) - �️ Windows平台deb包处理能力,突破平台限制 - �🛠️ 增强的错误处理和用户反馈机制 - 📊 实时状态更新和操作反馈 ### Technical Details - 使用 Go + Fyne 实现现代化GUI界面 - 实现了Windows平台下的原生deb包处理算法,支持解压、修改、重新打包 - 集成了跨平台的文件压缩和归档处理能力 - 模块化架构设计,便于维护和扩展 - 支持主题切换和界面自定义 - 集成应用程序图标和资源打包 - 优化的构建脚本,支持一键构建和部署 ### Breaking Changes - 项目结构重大调整,新增 `ui/` 目录包含所有GUI相关代码 - 配置文件格式更新,支持更丰富的GUI配置选项 ## v3.1.2 - 2024-07-17 ### Added - 增加对多平台的支持:现在支持 `macOS`、`iOS`、`Android`、`Linux` 和 `Windows` - 新增 `upgrade` 命令:用于自动更新 Fridare 脚本 - 新增一键安装功能: ```shell curl -s https://raw.githubusercontent.com/suifei/fridare/main/fridare.sh | bash -s install ``` ### Changed - 优化版本检查和更新流程 ### Fixed - 修复了在 Windows 系统上无法正确识别和安装 Frida 工具的问题 - 修复了在 macOS 系统上无法正确下载 Frida 工具的问题 ### Other Changes - 更新版本号至 3.1.2 - 代码重构和优化,提高整体性能和稳定性 ## [3.1.0] - 2024-07-16 ### Added - 增加了 `patch` 命令,用于修补指定的 Frida 模块 - 增加了对 `patch` 命令的帮助信息 - 增加对 ELF 和 PE 文件格式的支持(支持 Windows,Linux,MacOS,Android,IOS) ### Changed - 更新了 `build`、`download` 等命令的用法说明 ### Fixed - 修复了一些小的 Bug 并改进了脚本的稳定性 ## [3.0.1] - 2024-07-11 ### Added - 新增 `is_conda_env()` 函数用于检测 Conda 环境 - 新增 `get_python_cmd()` 函数用于选择正确的 Python 解释器 - 新增 `log_environment_info()` 函数,详细输出运行环境信息 ### Changed - 重构 `modify_frida_tools()` 函数,以支持 Conda 环境 - 优化 Golang 环境检查,利用现有的 `check_and_install_tool` 函数 - 更新 `build_frida` 函数,简化 Golang 环境检查 - 改进环境检测逻辑,优先使用 Conda 环境中的 Python ### Fixed - 修复在 Conda 环境中无法正确识别和修改 Frida 工具的问题 - 解决多个 Python 环境共存时的兼容性问题 ### Improved - 提升脚本对不同 Python 环境的适应性 - 增强环境信息输出,便于调试和问题排查 - 简化用户使用流程,无需手动指定 Frida 工具路径 ## [3.0.0] - 2024-07-11 ### Added - 新增 `fridare.sh` 脚本,整合所有功能,提供更完整的命令行界面 - 新增 `build`, `ls`, `download`, `lm`, `setup`, `config`, 和 `help` 命令 - 新增配置文件支持,可以保存和加载用户设置 - 新增颜色输出,提升用户体验 - 新增自动检查和安装依赖功能 - 新增下载特定 Frida 模块的功能 - 新增列出可用 Frida 版本和模块的功能 ### Changed - 重构了整个项目结构,提高代码可维护性 - 改进了错误处理和日志输出 - 优化了 Frida 构建过程,提高效率 - 更新了二进制修改逻辑,提高兼容性 ### Removed - 移除了旧的 `build.sh` 脚本 ## [2.2.0] - 2024-07-04 ### Added - 新增加 frida-tools 补丁,适配 `frida:rpc` 特征魔改 - 解决 Android 内存扫描该字符串问题 - 自动扫描本地 pip 安装 frida-tools 的位置,对 `core.py` 文件进行魔改,对 `_frida.abi3.so` 文件进行魔改 - 新增加 frida-agent.dylib 魔改,从文件名称,加载位置进行隐藏 - 解决 agent 加载未隐藏问题 ## [2.1.1] - 2024-06-26 ### Changed - 修正了二进制替换可能失败的问题。 ## [2.1] - 2024-06-26 ### Added - 新增 `autoinstall.sh` 脚本,结合 `issh` 命令自动部署最新 Frida 插件版本。 - 新增 `Makefile`,提供帮助、清理、构建和部署项目的便捷命令。 ### Changed - 更新 `build.sh` 脚本,以支持新脚本和 Makefile 的集成。 - 增强了错误处理和日志记录,改善用户体验。 ### Fixed - 修正了在特定情况下二进制替换可能失败的问题。 ## [2.0] - 2024-06-25 ### Added - 支持多种架构,增加更多的 ARM 和 ARM64 子类型。 - 增加了更多的替换项。 - `macho.File.Section()` 现在返回一个指向 `macho.Section` 的指针。 - 增加了更多的错误处理。 ## 1.0 - 初始版本 - 初始发布,提供了修改和定制 Frida 服务器的基本功能。 # Change Log All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## v4.0.0 - 2025-01-02 ### Added - **🎉 Brand New GUI Version Release**: Cross-platform graphical user interface based on Fyne framework - **🔧 Windows deb Package Full Support**: Native support for deb package modification and creation on Windows platform without WSL or Linux VM - Added complete Windows-native deb package extraction, modification, and repackaging toolchain - Added graphical Frida server modification tool with intuitive operation experience - Added visual configuration management interface with real-time preview and modification - Added graphical log display with color output and real-time updates - Added file drag-and-drop support to simplify file selection workflow - Added progress bars for real-time operation progress display - Added three independent executable files: - `fridare-gui.exe` - Main GUI application - `fridare-create.exe` - Creation tool - `fridare-patch.exe` - Patch tool ### Enhanced - 🔧 Completely refactored core architecture supporting both CLI and GUI modes - 🎨 Modern user interface design improving user experience - 📱 True cross-platform support (Windows, macOS, Linux) - �️ Windows platform deb package processing capability, breaking platform limitations - �🛠️ Enhanced error handling and user feedback mechanisms - 📊 Real-time status updates and operation feedback ### Technical Details - Implemented modern GUI interface using Go + Fyne - Implemented native deb package processing algorithms for Windows platform, supporting extraction, modification, and repackaging - Integrated cross-platform file compression and archive processing capabilities - Modular architecture design for easy maintenance and extension - Support for theme switching and interface customization - Integrated application icon and resource packaging - Optimized build scripts supporting one-click build and deployment ### Breaking Changes - Major project structure adjustment with new `ui/` directory containing all GUI-related code - Updated configuration file format supporting richer GUI configuration options ## [3.1.0] - 2024-07-16 ### Added - Added `patch` command to patch specified Frida modules - Added help information for `patch` command - Added support for ELF and PE file formats ### Changed - Updated usage instructions for `build`, `download`, and other commands ### Fixed - Fixed minor bugs and improved script stability ## [3.0.1] - 2024-07-11 ### Added - Added the `is_conda_env()` function for detecting Conda environments - Added the `get_python_cmd()` function for selecting the correct Python interpreter - Added the `log_environment_info()` function to output detailed information about the running environment ### Changed - Refactored the `modify_frida_tools()` function to support Conda environments - Optimized the Golang environment check by utilizing the existing `check_and_install_tool` function - Updated the `build_frida` function to simplify the Golang environment check - Improved the environment detection logic to prioritize the use of Python in the Conda environment ### Fixed - Fixed the issue where Frida tools could not be correctly identified and modified in Conda environments - Resolved compatibility issues when multiple Python environments coexist ### Improved - Enhanced the script's adaptability to different Python environments - Enhanced the output of environment information for easier debugging and troubleshooting - Simplified the user process, eliminating the need to manually specify the path to Frida tools ## [3.0.0] - 2024-07-11 ### Added - add `fridare.sh` script, integrate all functions, provide a more complete command line interface - add `build`, `ls`, `download`, `lm`, `setup`, `config`, and `help` commands - add configuration file support, can save and load user settings - add color output, improve user experience - add automatic dependency check and installation - add download specific Frida module - add list available Frida versions and modules ### Changed - refactor the entire project structure, improve code maintainability - improve error handling and log output - optimize Frida build process, improve efficiency - update binary modification logic, improve compatibility ### Removed - remove old `build.sh` script ### Changed ## [2.2.0] - 2024-07-04 ### Added - add frida-tools patch, adapt to `frida:rpc` feature modification - solve the problem of scanning this string in Android memory - automatically scan the location of the locally installed pip frida-tools, modify the `core.py` file, and modify the `_frida.abi3.so` file - add frida-agent.dylib modification, hide from file name and loading location - solve the problem of agent loading not hidden ## [2.1.1] - 2024-06-26 ### Changed - fix the issue that binary replacement may fail in specific cases. ## [2.1] - 2024-06-26 ### Added - add `autoinstall.sh` script, auto deploy the latest Frida plugin version with `issh` command - add `Makefile`, provide convenient commands for help, clean, build and deploy the project ### Changed - update `build.sh` script to support the integration of new scripts and Makefile - enhance error handling and log recording, improve user experience ### Fixed - fix the issue that binary replacement may fail in specific cases ## [2.0] - 2024-06-25 ### Added - support multiple architectures, add more ARM and ARM64 subtypes - add more replacements - `macho.File.Section()` returns a pointer to `macho.Section` - add more error handling ## 1.0 - Initial Version - initial release, provide basic functions to modify and customize Frida server