So entsperren Sie den Bootloader auf neuen Unisoc-Geräten (T7510)

Entsperren Sie den Bootloader Unisoc T7510 ist eine Voraussetzung für viele fortgeschrittene Aktionen, wie zum Beispiel das Flashen Benutzerdefinierte ROMs, Rooten oder Downgrade des Betriebssystems. Durch das Entsperren des Bootloaders erlischt Ihre Garantie. Sie müssen daher vorsichtig sein und dies berücksichtigen.

Die unten vorgestellte Entsperrmethode basiert auf Schwachstellen im BootROM, bei denen ein Angreifer mit physischem Zugriff auf das Gerät einen Funktionszeiger im BootROM-Datenabschnitt oder eine im Stapel gespeicherte Rücksprungadresse ersetzen kann, sodass er seinen eigenen Code mit der Berechtigung ausführen kann des BootROM.

detaillierte Informationen zu Schwachstellen verfügbar Hier

unisoc BootROM kann entnommen werden Hier oder stack-info.csv.

Anweisungen

Schritt 1: Stapel überschreiben, um FDL1 ohne Überprüfung auszuführen

Verwenden custom_exec_no_verify_3f88.bin um den Stapel zu ersetzen, wenn das Gerät in den Download-Modus wechselt, indem beim Start eine bestimmte Taste gedrückt gehalten wird (normalerweise Lautstärke verringern).

Verwenden custom_exec_no_verify_3f28.bin um den Stack zu ersetzen, wenn das Gerät in den Download-Modus wechselte, nachdem alle Startversuche fehlgeschlagen waren (z. B. wenn der Splloader gelöscht wurde und keine Taste gedrückt wurde).

Erstellen Sie „custom_exec.bin“ gemäß BootROM für weitere Socs, die von CVE-2022-38694 betroffen sind.

Schritt 2: FDL1 ändern

Patch 1: NOP(1F 20 03 D5)-Überprüfung in data_exec.

Patch 2: Ändern Sie den Download-Modus (0x102)(40 20 80 52) in den Boot-Modus (0x104)(80 20 80 52).

  • Anwenden Patch 1 zum Original FDL1, speichern unter fdl1-dl.bin.
  • Anwenden Patch 1 und Patch 2 auf Original-FDL1, speichern unter fdl1-boot.bin.

Die Verwendung von FDL1 von einem anderen Modell (dem gleichen Soc) scheint sicher zu sein. Leider nur im Download-Modus. Zum Entsperren des Bootloaders ist gerätespezifisches fdl1 erforderlich. Wenn Ihr Hersteller fdl1 nicht bereitstellt, können Sie es selbst kompilieren (Sie müssen etwas DDR-Init-Code ändern, um mit splloader zu funktionieren).

Hier ist Vorgepatchtes Entsperr-Tool für einige Geräte

Schritt 3: FDL2 (uboot) ändern

Patch 1: Patch do_cboot.

suchen nach VerifiedBoot-UNLOCK finden set_lock_status.

suchen nach 0x32121BAC oder 0x1BAC (T7510-spezifische Adresse?) und reboot_devices beginnt mit CMP W0,#3 CMP W0,#4 CMP W0,#2.

suchen nach in den Boot-Modus wechseln finden do_cbootpatchen Sie es, um anzurufen set_lock_status Und reboot_devices.

Patch 2: NOP-Schreibprüfung sicherer Partitionen.

Wie fdl1 muss auch uboot zum Entsperren des Bootloaders (Boot-Modus) gerätespezifisch sein. Sie können jedoch ein anderes Modell (gleiches Soc) uboot im Download-Modus verwenden read_part Ihr Gerät ubooten

Teil 4: Trustos-Bilderliste abrufen und Adresse vom Splloader laden

Holen Sie sich Splloader von read_part

Die Liste und die Adresse sind leicht zu bekommen, seit _Start Anrufe zurücksetzen, zurücksetzen Anrufe nand_boot, nand_boot lädt Bilder von emmc/ufs in den Speicher und bootet.

GerätModellAndroidkleinteecfgtos
tyyh2020ud710_20c1090x94000000keine Notwendigkeit0x94040000
tyyh2021ud710_7h10100x940000000x940200000x94040000
Hisense A7ud710_2h10100x940000000x940200000x94040000

Sonstiges: Sie müssen die richtige Partitionsgröße kennen read_part, Dies kann durch erfolgen read_part user_partition 0 17K efi_part.img(Es funktioniert für EMMC, ich weiß nichts über UFS). Öffnen Sie efi_part.img in WinHex.

Bereiten Sie den Entsperrbefehl vor

1: Senden Sie fdl1-dl.bin, senden Sie uboot, read_part Trustos Bilder und chsize diese Bilder

2: Senden Sie fdl1-boot.bin, senden Sie modifiziertes Uboot mit Trustos-Images, sml muss der letzte sein, der an das Gerät gesendet wird.

3: Löschen Sie die Benutzerdaten und verwenden Sie eine der Optionen „Download/Fastboot/Recovery“. (Wenn Ihre Benutzerdaten das F2FS-Format verwenden, können Sie die Datei „userdata.bin“ aus dem tyyh-Zweig übernehmen.)

Hier ist ein Befehl, der mit SPD_dump verwendet werden kann (muss durch Ihre eigenen Daten ersetzt werden)

Teil lesen:

spd_dump fdl fdl1-dl.bin 0x5500 fdl fdl2-dl.bin 0x9efffe00 exec read_part splloader 0 1m spl.bin read_part uboot_a 0 3m uboot.bin erase_part splloader reset

Teil schreiben

spd_dump fdl fdl1-dl.bin 0x5500 fdl fdl2-dl.bin 0x9efffe00 exec write_part uboot_a fdl2-cboot.bin write_part uboot_b fdl2-cboot.bin reset
spd_dump fdl fdl1-dl.bin 0x5500 fdl fdl2-dl.bin 0x9efffe00 exec write_part splloader spl.bin write_part uboot_a uboot.bin write_part uboot_b uboot.bin reset

Methode 2:

Kredit: Github-Benutzer > TomKing062, Alephgsm, Iscle

Verwandt:


Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *