
Itel S23 (S665L) / Unisoc T606 के लिए CVE-2022-38694 का उपयोग करके बूटलोडर अनलॉक करें
Itel S23 (S665L) पर Unisoc T606 (UMS9230) चिपसेट पर CVE-2022-38694 एक्सप्लॉइट का उपयोग करके बूटलोडर अनलॉक करने के लिए गाइड।
| गुण | मान |
|---|---|
| ब्रांड | Itel |
| मॉडल | S665L (S23) |
| एंड्रॉइड | 12 (SDK 31) |
| बिल्ड | S665L-F065OPRSUVApAqAr-S-GL-20250207V533 |
| SoC | Unisoc T606 (UMS9230) |
| CPU | 2x Cortex-A75 + 6x Cortex-A55 (ARMv8, 64-bit) |
| स्टोरेज | UFS |
| स्लॉट | A/B |
adb और fastboot स्थापितubl-itel-s23/
├── README.md
├── CLAUDE.md
├── recovery/
│ ├── TWRP_S665L.img # TWRP recovery image
│ └── OrangeFox_S665L.img # OrangeFox recovery image
└── tools/
└── spreadtrum_flash_linux/
├── spd_dump # BootROM communication tool
├── gen_spl-unlock # Unlock payload generator
├── unlock.sh # Automated unlock script
├── fdl1-dl.bin # First-stage loader
├── fdl2-dl.bin # Second-stage loader
├── fdl2-cboot.bin # Modified uboot for unlock
├── custom_exec_no_verify_65015f08.bin # CVE exploit payload
├── custom_exec_no_verify_65015f48.bin # CVE exploit payload (alt)
├── splloader.bin # SPL backup (generated during process)
├── uboot.bin # uboot backup (generated during process)
├── spl-unlock.bin # Unlock payload (generated during process)
└── ums9230/itel/ # FDL binaries for Itel UMS9230
यह एक्सप्लॉइट Unisoc BootROM में एक कमजोरी का फायदा उठाता है जो हस्ताक्षर सत्यापन पूरा होने से पहले मेमोरी क्षेत्र में डेटा लिखने की अनुमति देता है।
Normal: BootROM → verify(FDL1) → REJECT (unsigned)
Exploit: BootROM → overwrite verify() → verify = always_true
→ accept(FDL1) → ACCEPT → unlock bootloader
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 मोड में प्रवेश करें: फ़ोन बंद करें, वॉल्यूम डाउन दबाए रखें, फिर 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 रिकवरी दिखाई दे, फ़ैक्टरी रीसेट चुनें।
फ़ोन के Android में बूट होने के बाद:
adb shell getprop ro.boot.vbmeta.device_state
# Expected: unlocked
adb shell getprop ro.boot.flash.locked
# Expected: 0
splloader.bin और uboot.bin को न हटाएं — यदि कुछ गलत होता है तो पुनर्स्थापना के लिए इनकी आवश्यकता होती है0x65015f48 का उपयोग करता है, चरण 3-6 0x65015f08 का उपयोग करते हैंspd_dump / CVE-2022-38694 अनलॉक बूटलोडर by TomKing062 / QuTick102 https://github.com/TomKing062/CVE-2022-38694_unlock_bootloader
रिकवरी कलेक्शन और स्प्रेडट्रम फ्लैश टूल (लिनक्स) by Massatriof16 https://massatriof16.github.io/recovery-collections/#alat
unisoc-unlock (पायथन विकल्प) by patrislav1 https://github.com/patrislav1/unisoc-unlock