这个项目是本作者以对Arch的了解所编写的个人Wiki
一个全新的非kali的黑客系统(个人开发)
使用VM虚拟机的方式部署了大量的基础网络安全测试的漏洞和CTF离线题目

Flash Boy GUI 是一款功能全面的 Android 设备管理与刷机工具,采用 Go 语言和 Fyne 图形框架开发,提供直观、现代化的图形界面。该工具集成了丰富的设备管理功能,从基本的环境检测到高级的刷机操作,旨在为用户提供一站式的 Android 设备管理解决方案。
优化日志版本的日志详细程度(最高等级)
重新设计文件拉取上传的UI布局
重构智能刷写功能
新增设备重启功能
修复adb_screen_mirror.go文件的编译错误(移除未使用的time包,添加ADBScreenMirror结构体定义)
为多个辅助函数添加了详细的日志记录功能,包括isVABPartitionSystem、flashPartition、flashPartitionVAB、rebootDevice和rebootToFastbootd
在 Windows 平台上构建 Flash Boy GUI 应用程序的详细步骤如下:
确保安装 Go 1.24.5 或更高版本:
# 检查 Go 版本
go version
# 如果未安装或版本过低,从官方网站下载并安装:
# https://golang.org/dl/
Windows 平台通常需要安装以下依赖:
可以通过 MSYS2 或 TDM-GCC 安装 GCC 编译器。
克隆或下载项目代码到本地:
# 使用 Git 克隆项目(如果有远程仓库)
git clone https://gitee.com/bzhanyiqiu/flash_boy.git
# 或者直接从 Windows 资源管理器中打开项目文件夹
cd Flash_Boy_GUI
# 更新 Go 模块依赖
go mod tidy
# 编译项目(生成无控制台窗口版本)
go build -ldflags "-H windowsgui" -o FlashBoy.exe main.go
# 或者编译带控制台窗口版本(用于调试)
go build -o FlashBoy.exe main.go
编译完成后,可以通过以下方式运行:
# 直接运行可执行文件
FlashBoy.exe
# 或者通过 Go 命令直接运行(开发模式)
go run main.go
Linux 平台支持多种发行版的构建过程,包括 Ubuntu/Debian、Fedora/CentOS/RHEL 和 Arch/Manjaro。
请参阅 Linux编译文档 了解详细的 Linux 平台构建指南,包括:
Flash_Boy_GUI/
├── main.go # 主程序文件,包含程序入口和主要界面逻辑
├── QC/ # 高通引导相关文件,包含各种高通芯片平台的Firehose编程库
│ └── FirehoseLibrary/ # Firehose编程库集合,支持多种高通芯片型号的引导程序
├── Utils/ # 工具函数包,包含各种功能实现
│ ├── adb_app_manager.go # ADB应用管理工具,提供应用安装、卸载等功能
│ ├── adb_screen_mirror.go # ADB投屏工具,实现设备屏幕镜像功能
│ ├── adb_sideloader.go # ADB旁加载工具,支持APK或OTA包的旁加载
│ ├── boot_flasher.go # Boot刷写工具,用于刷写boot.img
│ ├── driver_installer.go # 驱动安装工具,Windows平台下安装设备驱动
│ ├── environment_check.go # 环境检查工具,检测ADB、Fastboot等环境
│ ├── fastbootd_repair.go # fastbootd模式修复工具
│ ├── flashsystem.go # 系统刷写工具,支持完整系统镜像刷写
│ ├── payload_dumper.go # payload.bin解包工具
│ ├── recovery_flasher.go # 智能REC刷写工具
│ ├── rom_downloader.go # ROM下载工具,提供ROM下载功能
│ ├── windows_hide_window.go # Windows平台窗口隐藏功能
│ └── nonwindows_hide_window.go # 非Windows平台窗口隐藏功能
├── ui/ # 界面组件包,包含各功能模块的UI实现
│ ├── adb_app_ui.go # ADB应用管理界面
│ ├── adb_screen_mirror_ui.go # ADB投屏界面
│ ├── adb_sideloader_ui.go # ADB旁加载界面
│ ├── boot_flasher_ui.go # Boot刷写界面
│ ├── driver_ui.go # 驱动安装界面
│ ├── environment_ui.go # 环境检查界面
│ ├── fastbootd_ui.go # fastbootd模式修复界面
│ ├── flash_system_ui.go # 系统刷写界面
│ ├── help_ui.go # 帮助文档界面
│ ├── payload_dumper_ui.go # payload.bin解包界面
│ ├── recovery_ui.go # 智能REC刷写界面
│ ├── rom_downloader_ui.go # ROM下载界面
│ └── sidebar_controller.go # 侧边栏控制器
├── theme/ # 主题包
│ └── custom_theme.go # 自定义主题,定义应用的视觉风格
├── bg/ # 背景图片目录
│ ├── bg4.png # 背景图片
│ └── 新建文件夹/ # 更多背景图片
│ ├── bg.png
│ ├── bg1.png
│ ├── bg2.png
│ ├── bg3.png
│ └── bg5.png
├── bin/ # 二进制工具目录,包含ADB、Fastboot等命令行工具
│ ├── linux/ # Linux平台工具
│ │ ├── adb # Android调试桥工具
│ │ ├── fastboot # Fastboot工具
│ │ ├── payload-dumper-go # payload解包工具
│ │ └── ... # 其他Linux工具
│ └── windows/ # Windows平台工具
│ ├── adb.exe # Android调试桥工具(Windows版本)
│ ├── fastboot.exe # Fastboot工具(Windows版本)
│ ├── payload-dumper-go.exe # payload解包工具(Windows版本)
│ └── ... # 其他Windows工具
├── app.png # 应用图标
├── app.ico # 应用图标(Windows)
├── install-linux.sh # Linux安装脚本,用于一键安装项目依赖
├── build.bat # Windows批处理构建脚本
├── check_gtk_deps.sh # GTK依赖检查脚本(Linux)
├── devices/ # 设备相关资源,主要是Windows驱动
│ └── Windows/ # Windows平台设备驱动
│ ├── 9008/ # Qualcomm 9008模式驱动
│ ├── MTK/ # MediaTek设备驱动
│ ├── OnePlus/ # OnePlus设备驱动
│ ├── Xiaomi/ # Xiaomi设备驱动
│ └── fastboot/ # Fastboot模式驱动
├── go.mod # Go模块依赖文件,定义项目依赖
├── go.sum # 依赖校验和文件
├── fyne_demo.exe # Fyne框架演示程序
├── rsrc_windows_386.syso # Windows 32位资源文件
├── rsrc_windows_amd64.syso # Windows 64位资源文件
├── tools/ # 额外工具目录
│ ├── linux/ # Linux平台额外工具
│ │ └── scrcpy-linux/ # scrcpy投屏工具(Linux版本)
│ ├── windows/ # Windows平台额外工具
│ │ ├── DNA/ # DNA工具
│ │ └── scrcpy/ # scrcpy投屏工具(Windows版本)
│ ├── scrcpy.txt # scrcpy说明文件
│ └── scrcpy_config.txt # scrcpy配置文件
├── winres/ # Windows资源文件目录
│ ├── app.ico # Windows应用图标
│ ├── icon.png # 图标源文件
│ ├── icon16.png # 16x16图标
│ └── winres.json # 资源配置文件
├── README.md # 项目主要说明文档
└── README_LINUX.md # Linux平台专用说明文档
Flash Boy GUI 项目使用了以下核心技术和组件:
bg/ 目录中包含至少一个背景图片文件(只支持PNG格式)bg文件夹存放一张真png图片,请不要存放修改文件后缀的图片,名称以bg.png,bg1.png,bg2.png,pg数字.png命名bin/ 目录中对应平台的工具(ADB、Fastboot等)齐全且具有执行权限如果遇到编译错误,请检查以下几点:
Go 环境:确保已正确安装 Go 1.24.5 或更高版本
# 检查 Go 版本
go version
# 确认 Go 环境变量设置正确
echo $GOPATH # Linux/Mac
echo %GOPATH% # Windows
依赖完整性:确保所有必要的依赖都已正确安装
# 更新 Go 模块依赖
go mod tidy
CGO 支持:确保已安装 GCC 编译器以支持 CGO
图形库依赖:
权限问题:
chmod +x FlashBoy
缺少共享库(Linux):
# 检查程序依赖的共享库
ldd FlashBoy
# 根据输出安装缺失的库
设备连接问题:
背景图片错误:
工具路径问题:
优化日志版本的日志详细程度(最高等级)
重新设计文件拉取上传的UI布局
重构智能刷写功能
新增设备重启功能
修复adb_screen_mirror.go文件的编译错误(移除未使用的time包,添加ADBScreenMirror结构体定义)
为多个辅助函数添加了详细的日志记录功能,包括isVABPartitionSystem、flashPartition、flashPartitionVAB、rebootDevice和rebootToFastbootd
增强了 getPlatformBinDir 方法,使其返回错误而非空字符串
增加了路径存在性检查和默认路径回退机制
增强了设备状态检测
优化了 GetDeviceStatus 方法,添加重试机制和改进错误处理
改进了 WaitForDevice 方法,增加模式变化记录和动态等待时间调整
提升了设备连接检测可靠性
优化了 checkFastbootDevice 方法,实现5种不同的检测策略
改进了 getADBDevices 方法,增加重试机制和设备列表稳定性检查
增强了设备模式识别
优化了 isInRecoveryMode 方法,实现4种不同的recovery模式检测策略
改进了 isInSystemMode 方法,实现4种不同的system模式检测策略
提升了分区和槽位检测能力
优化了 CheckBootloaderUnlock 方法,尝试多种解锁状态属性检测
改进了 CheckCriticalUnlock 方法,增加关键分区解锁状态检测
增强了 CheckDynamicPartitions 方法,支持多种动态分区检测方式
改进了 GetCurrentSlot 方法,实现多策略槽位检测和ADB回退检测
优化了fastbootd模式支持
增强了 DeviceSupportFastbootd 方法,支持fastboot检测、ADB检测和设备厂商匹配
所有优化都包含了以下共性增强:
增加了详细的日志记录,便于故障排查
实现了重试机制,提高命令执行成功率
添加了命令超时处理,防止长时间阻塞
设置了标准环境变量,确保工具正常运行
支持设备ID参数,适应多设备环境
这些优化显著提高了DeviceManager模块的稳定性、可靠性和兼容性,使其能够更好地处理各种Android设备的不同状态和特性。
优化记录设备代号显示问题的修复和设备检测优化内容
修复修复了环境检查设备刷新无法正常显示设备代号的问题,改进了设备解析逻辑,从原来只支持制表符分隔改为同时支持空格和制表符分隔
优化增强了设备检测的准确性,特别是在解析adb devices命令输出时
优化了设备选择器功能,解决了fastboot和fastbootd模式设备无法检测的问题
重构了GetConnectedDevicesDirectly函数,实现ADB和Fastboot设备同时检测
优化设置设定无效的问题
重构智能刷写功能
新增设备重启功能
修复adb_screen_mirror.go文件的编译错误(移除未使用的time包,添加ADBScreenMirror结构体定义)
为多个辅助函数添加了详细的日志记录功能,包括isVABPartitionSystem、flashPartition、flashPartitionVAB、rebootDevice和rebootToFastbootd
更新了README.md文档,完善项目结构说明和版本信息