منصوبے کے بارے میں
# Qualcomm Sahara / Firehose Attack Client / Diag Tools
یہ 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 میچنگ کی بنیاد پر مناسب لوڈرز کا خودکار پتہ لگانا اور استعمال کرنا۔
- **ڈائیگ پورٹ ٹولز**: تشخیصی آپریشنز جیسے NV بیک اپ، EFS ڈائریکٹری لسٹنگ وغیرہ کے لیے `qc_diag` شامل ہے۔
- **اسٹریمنگ موڈ**: ڈیوائس میموری میں/سے ڈیٹا اسٹریم کرنے کی سپورٹ۔
- **خام XML کمانڈز**: جدید آپریشنز کے لیے حسب ضرورت XML اسٹرنگز بھیجنا۔
## انسٹالیشن
### لینکس (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
```
### ونڈوز
خودکار 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 repository](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 پروگرامنگ سپورٹ نہیں ہے
- EFS ڈائریکٹری لکھنا اور فائل پڑھنا ابھی لاگو نہیں ہوا
- کچھ آپریشنز کے لیے EL3 لوڈرز درکار ہیں
## لائسنس
GPLv3 اضافی پابندیوں کے ساتھ: پیشگی اجازت کے بغیر تجارتی مصنوعات میں استعمال نہیں کیا جا سکتا۔ مرتب شدہ شکل میں کوئی بھی استعمال آپ کے کوڈ کو اوپن سورس کرنے کا تقاضا کرتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.