这个项目能做什么
# 高通 Sahara / Firehose 攻击客户端 / 诊断工具
这是一套非官方工具集,用于操作高通紧急下载(EDL)模式,通过Sahara和Firehose协议提供底层访问,实现设备的转储、刷写和调试。采用GPLv3许可,并附加限制:未经许可不得用于商业用途。
## 主要特性
- **Sahara V3 支持**:修复了在新款高通设备上无法读取芯片信息(MSM_ID、OEM_ID、MODEL_ID)的问题。使用命令0x0A(CHIP_ID_V3_READ)获取扩展信息。
- **分区管理**:在eMMC和UFS闪存上转储、写入和管理分区。
- **加载器自动检测**:根据HWID/MSM_ID/PKHash匹配自动检测并使用合适的加载器。
- **诊断端口工具**:包含`qc_diag`,用于NV备份、EFS目录列表等诊断操作。
- **流模式**:支持与设备内存之间的数据流传输。
- **原始XML命令**:发送自定义XML字符串以执行高级操作。
## 安装
### Linux(Debian/Ubuntu/Mint)
```bash
sudo apt install adb fastboot python3-dev python3-pip liblzma-dev git
sudo apt purge modemmanager
sudo systemctl stop ModemManager
sudo systemctl disable ModemManager
git clone https://github.com/bkerler/edl.git
cd edl
git submodule update --init --recursive
pip3 install -r requirements.txt
```
### macOS
```bash
brew install libusb git
git clone https://github.com/bkerler/edl.git
```
### Windows
使用自动PowerShell安装程序,或手动设置Python 3.10+、git和UsbDk。
## 使用示例
- `edl rl dumps --memory=ufs --lun=0 --skip=userdata,vendor_a` - 将lun0的所有分区转储到dumps目录,跳过userdata和vendor_a
- `edl rs 0 15 data.bin` - 从扇区0开始转储15个扇区到文件data.bin
- `edl w boot boot.img --memory=ufs --lun=4` - 将boot.img写入lun 4上的boot分区
- `edl wl dumps --memory=ufs --lun=0` - 将dumps文件夹中的所有文件写入对应分区
- `edl qfil rawprogram0.xml patch0.xml image_dir` - 使用QFIL XML文件刷写完整镜像
- `edl pokeqword 0x200000 0x400000` - 向内存偏移地址写入q-word值
- `edl secureboot` - 显示secureboot熔丝(仅限EL3加载器)
- `edl pbl pbl.bin` - 转储PBL(仅限EL3加载器)
- `edl qfp qfp.bin` - 转储QFPROM熔丝(仅限EL3加载器)
- `edl modules oemunlock enable` - 如果存在配置分区则解锁OEM
## 加载器管理
- 加载器通过git子模块自动获取,或从[加载器仓库](https://github.com/bkerler/Loaders)获取
- 使用`fhloaderparse`转换自定义EDL加载器以便自动使用
- 加载器存储在`Loaders`目录中,命名约定为`msmid_pkhash[8字节].bin`
## 支持的设备(部分)
- OnePlus 3T/5/6T/7T/8/8t/9/Nord CE/N10/N100(只读)
- BQ X、BQ X5、BQ X2
- Gigaset ME Pure
- ZTE MF210、MF920V
- Sierra Wireless EM7455
- Netgear MR1100-10EUS、MR5100
- 各种小米设备(已测试SM8350、SM8450、SM8550)
## 限制
- 小米SDM660的安全加载器尚不支持(EDL认证)
- 不支持VIP编程
- EFS目录写入和文件读取尚未实现
- 某些操作需要EL3加载器
## 许可
GPLv3并附加限制:未经事先许可不得用于商业产品。任何以编译形式使用均需开源你的代码。
评论
0 评分人数达到10人后显示
登录后参与讨论。