このプロジェクトについて

# Qualcomm Sahara / Firehose 攻撃クライアント / Diag ツール これはQualcomm Emergency Download (EDL)モードを扱うための非公式ツールセットで、SaharaおよびFirehoseプロトコルを使用してデバイスのダンプ、書き込み、デバッグを行う低レベルアクセスを提供します。GPLv3でライセンスされており、許可なく商用利用することを禁じる追加制限があります。 ## 主な機能 - **Sahara V3サポート**: 新しいQualcommデバイスでチップ情報(MSM_ID、OEM_ID、MODEL_ID)を読み取れない問題を修正。拡張情報のためにコマンド0x0A(CHIP_ID_V3_READ)を使用します。 - **パーティション管理**: eMMCおよびUFSフラッシュメモリ上のパーティションのダンプ、書き込み、管理。 - **ローダー自動検出**: HWID/MSM_ID/PKHashの一致に基づいて適切なローダーを自動的に検出して使用します。 - **Diagポートツール**: NVバックアップ、EFSディレクトリ一覧などの診断操作のための`qc_diag`を含みます。 - **ストリーミングモード**: デバイスメモリとの間でデータをストリーミングするサポート。 - **生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` - configパーティションが存在する場合にOEMをアンロック ## ローダー管理 - ローダーはgitサブモジュールまたは[Loadersリポジトリ](https://github.com/bkerler/Loaders)から自動的に取得されます - カスタムEDLローダーを自動使用に変換するには`fhloaderparse`を使用します - ローダーは`Loaders`ディレクトリに`msmid_pkhash[8 bytes].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 - 各種Xiaomiデバイス(SM8350、SM8450、SM8550でテスト済み) ## 制限事項 - XiaomiのSDM660搭載セキュアローダーは未対応(EDL認証) - VIP Programmingは未対応 - EFSディレクトリ書き込みとファイル読み取りは未実装 - 一部の操作にはEL3ローダーが必要 ## ライセンス GPLv3に追加制限付き:事前の許可なく商用製品での使用を禁止。コンパイル形式での使用にはコードのオープンソース化が必要です。