इस प्रोजेक्ट के बारे में
# क्वालकॉम सहारा / फायरहोज़ अटैक क्लाइंट / डायग टूल्स
यह क्वालकॉम इमरजेंसी डाउनलोड (EDL) मोड के साथ काम करने के लिए एक अनौपचारिक टूलसेट है, जो सहारा और फायरहोज़ प्रोटोकॉल का उपयोग करके डिवाइसों को डंप, फ्लैश और डिबग करने के लिए निम्न-स्तरीय पहुंच प्रदान करता है। यह GPLv3 के तहत लाइसेंस प्राप्त है, जिसमें अनुमति के बिना व्यावसायिक उपयोग के खिलाफ अतिरिक्त प्रतिबंध हैं।
## मुख्य विशेषताएं
- **सहारा V3 समर्थन**: नए क्वालकॉम डिवाइसों पर चिप जानकारी (MSM_ID, OEM_ID, MODEL_ID) पढ़ने में असमर्थता की समस्या ठीक की गई। विस्तारित जानकारी के लिए कमांड 0x0A (CHIP_ID_V3_READ) का उपयोग करता है।
- **पार्टीशन प्रबंधन**: eMMC और UFS फ्लैश मेमोरी पर पार्टीशन डंप, लिखें और प्रबंधित करें।
- **लोडर स्वतः पहचान**: HWID/MSM_ID/PKHash मिलान के आधार पर उपयुक्त लोडर स्वचालित रूप से पहचान और उपयोग करता है।
- **डायग पोर्ट टूल्स**: NV बैकअप, EFS डायरेक्टरी लिस्टिंग और अधिक जैसे डायग्नोस्टिक कार्यों के लिए `qc_diag` शामिल है।
- **स्ट्रीमिंग मोड**: डिवाइस मेमोरी से/को डेटा स्ट्रीम करने का समर्थन।
- **रॉ XML कमांड**: उन्नत कार्यों के लिए कस्टम XML स्ट्रिंग भेजें।
## स्थापना
### लिनक्स (डेबियन/उबंटू/मिंट)
```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` - lun 4 पर boot पार्टीशन में boot.img लिखें
- `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` - सिक्योरबूट फ़्यूज़ प्रदर्शित करें (केवल EL3 लोडर)
- `edl pbl pbl.bin` - PBL डंप करें (केवल EL3 लोडर)
- `edl qfp qfp.bin` - QFPROM फ़्यूज़ डंप करें (केवल EL3 लोडर)
- `edl modules oemunlock enable` - यदि कॉन्फ़िग पार्टीशन मौजूद है तो 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 प्रोग्रामिंग समर्थित नहीं है
- EFS डायरेक्टरी लेखन और फ़ाइल पढ़ना अभी तक लागू नहीं किया गया है
- कुछ कार्यों के लिए EL3 लोडर की आवश्यकता होती है
## लाइसेंस
GPLv3 अतिरिक्त प्रतिबंधों के साथ: पूर्व अनुमति के बिना व्यावसायिक उत्पादों में उपयोग नहीं। संकलित रूप में किसी भी उपयोग के लिए आपके कोड को ओपन-सोर्स करना आवश्यक है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.