
Itel S23 (S665L) / Unisoc T606 के लिए Bootloader अनलॉक करें CVE-2022-38694 का उपयोग करके
Unisoc T606 (UMS9230) चिपसेट पर CVE-2022-38694 एक्सप्लॉइट का उपयोग करके Itel S23 (S665L) पर बूटलोडर अनलॉक करने की मार्गदर्शिका।
| गुण | मान |
|---|---|
| ब्रांड | Itel |
| मॉडल | S665L (S23) |
| Android | 12 (SDK 31) |
| बिल्ड | S665L-F065OPRSUVApAqAr-S-GL-20250207V533 |
| SoC | Unisoc T606 (UMS9230) |
| CPU | 2x Cortex-A75 + 6x Cortex-A55 (ARMv8, 64-बिट) |
| स्टोरेज | UFS |
| स्लॉट | A/B |
adb और fastboot इंस्टॉल होubl-itel-s23/
├── README.md
├── CLAUDE.md
├── recovery/
│ ├── TWRP_S665L.img # TWRP रिकवरी इमेज
│ └── OrangeFox_S665L.img # OrangeFox रिकवरी इमेज
└── tools/
└── spreadtrum_flash_linux/
├── spd_dump # BootROM संचार उपकरण
├── gen_spl-unlock # अनलॉक पेलोड जनरेटर
├── unlock.sh # स्वचालित अनलॉक स्क्रिप्ट
├── fdl1-dl.bin # प्रथम-चरण लोडर
├── fdl2-dl.bin # द्वितीय-चरण लोडर
├── fdl2-cboot.bin # अनलॉक के लिए संशोधित uboot
├── custom_exec_no_verify_65015f08.bin # CVE एक्सप्लॉइट पेलोड
├── custom_exec_no_verify_65015f48.bin # CVE एक्सप्लॉइट पेलोड (वैकल्पिक)
├── splloader.bin # SPL बैकअप (प्रक्रिया के दौरान उत्पन्न)
├── uboot.bin # uboot बैकअप (प्रक्रिया के दौरान उत्पन्न)
├── spl-unlock.bin # अनलॉक पेलोड (प्रक्रिया के दौरान उत्पन्न)
└── ums9230/itel/ # Itel UMS9230 के लिए FDL बाइनरी
यह एक्सप्लॉइट Unisoc BootROM में एक कमजोरी का लाभ उठाता है जो हस्ताक्षर सत्यापन पूरा होने से पहले मेमोरी क्षेत्र में डेटा लिखने की अनुमति देता है।
सामान्य: BootROM → सत्यापित(FDL1) → अस्वीकार (अहस्ताक्षरित)
एक्सप्लॉइट: BootROM → सत्यापित() को अधिलेखित करें → सत्यापित = हमेशा_सत्य
→ स्वीकार(FDL1) → स्वीकार करें → बूटलोडर अनलॉक
custom_exec_no_verify पेलोड (96 बाइट्स) पते 0x65015f08 पर हस्ताक्षर सत्यापन फ़ंक्शन पॉइंटर को अधिलेखित करता है, जिससे BootROM बिना हस्ताक्षर जाँच के किसी भी FDL1 को स्वीकार कर लेता है।
sudo tee /etc/udev/rules.d/51-android.rules << 'EOF'
# Google/Android (ADB और Fastboot)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
# Spreadtrum/Unisoc
SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666", GROUP="plugdev"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
cd tools/spreadtrum_flash_linux
cp ums9230/itel/fdl1-dl.bin ums9230/itel/fdl2-dl.bin ums9230/itel/fdl2-cboot.bin .
cp ums9230/custom_exec_no_verify_65015f08.bin ums9230/custom_exec_no_verify_65015f48.bin .
chmod +x spd_dump gen_spl-unlock
फ़ोन चालू और USB से कनेक्टेड होना चाहिए। इस चरण के बाद, फ़ोन चरण 6 तक बूट नहीं होगा।
sudo ./spd_dump exec_addr 0x65015f48 fdl fdl1-dl.bin 0x65000800 \
fdl fdl2-dl.bin 0x9efffe00 exec \
r splloader r uboot e splloader e splloader_bak reset
splloader.bin और uboot.bin को सुरक्षित स्थान पर बैकअप करें:
cp splloader.bin uboot.bin backup_spl/
./gen_spl-unlock splloader.bin 0xfd28
आउटपुट: spl-unlock.bin
ऑफसेट
0xfd28इस फर्मवेयर के लिए विशिष्ट है।splloader.binका आकार जाँचें — ऑफसेट फ़ाइल आकार से मेल खाना चाहिए।
BROM मोड में प्रवेश करें: फ़ोन बंद करें, Volume Down दबाए रखें, फिर USB प्लग करें।
sudo ./spd_dump exec_addr 0x65015f08 fdl fdl1-dl.bin 0x65000800 \
fdl fdl2-dl.bin 0x9efffe00 exec \
w uboot fdl2-cboot.bin reset
फिर से BROM मोड में प्रवेश करें, फिर:
sudo ./spd_dump exec_addr 0x65015f08 fdl spl-unlock.bin 0x65000800
यदि आप device removed, exiting... देखते हैं तो इसका मतलब सफलता है।
फिर से BROM मोड में प्रवेश करें, फिर:
sudo ./spd_dump exec_addr 0x65015f08 fdl fdl1-dl.bin 0x65000800 \
fdl fdl2-dl.bin 0x9efffe00 exec \
verbose 2 read_part miscdata 8192 64 m.bin reset
recv 64 zero = अभी भी लॉक (असफल)recv 32 string + hash data = अनलॉक (सफल)फिर से BROM मोड में प्रवेश करें, फिर:
sudo ./spd_dump exec_addr 0x65015f08 fdl fdl1-dl.bin 0x65000800 \
fdl fdl2-dl.bin 0x9efffe00 exec \
w splloader splloader.bin w uboot uboot.bin reset
फ़ोन रीबूट हो जाएगा। जब Android रिकवरी दिखाई दे, तो Factory Reset चुनें।
फ़ोन Android में बूट होने के बाद:
adb shell getprop ro.boot.vbmeta.device_state
# अपेक्षित: unlocked
adb shell getprop ro.boot.flash.locked
# अपेक्षित: 0
splloader.bin और uboot.bin को न हटाएँ — यदि कुछ गलत होता है तो पुनर्स्थापना के लिए इनकी आवश्यकता होती है0x65015f48 का उपयोग होता है, चरण 3-6 में 0x65015f08 काspd_dump / CVE-2022-38694 अनलॉक बूटलोडर TomKing062 / QuTick102 द्वारा https://github.com/TomKing062/CVE-2022-38694_unlock_bootloader
रिकवरी संग्रह और Spreadtrum Flash Tool (Linux) Massatriof16 द्वारा https://massatriof16.github.io/recovery-collections/#alat
unisoc-unlock (Python विकल्प) patrislav1 द्वारा https://github.com/patrislav1/unisoc-unlock