All streams
Search
Write a publication
Pull to refresh
120
0
Send message

После долгих экспериментов совместно с @maxim12ERt - теперь работает и на Nokia TA-1174, оно же Nokia 105 (2019).

Miyoo Mini
не работает быстрое сохранение

В оригинальной прошивке и/или фанатской? Это только про DOS или про все игры?

Нет, похоже ключ для подписи в ROM (или eFuse) чипа. Если его там нет, то и не проверяется. Проверьте личные сообщения, кажется я нашел ошибку в защите, если это оправдается, то эта защита подписью как закрытая дверь без забора.

Интересно, что FDL1 от Нокии можно загрузить на любой другой SC6531E. Причём при использовании его, экран работает на малой яркости. А у BQ 3586 он включается и работает нормально (без мигания подсветки), но тоже на малой яркости. Только какая-то частотная рябь идёт, а случайно взятый FDL1 от другого телефона - даёт рябь с другой частотой. Похоже они какие-то настройки делают с железом, даже в FDL1. Причём FDL1 от Нокии не проверяет подпись на других телефонах.

Это я не проверял дамп под Windows, только запуск Doom. А у Windows странные понятия о длине long типа для strtol(), почему-то 32 бит (под 64-бит системой должно быть 64), и числа больше 0x7fffffff обрезаются до 0x7fffffff. Обновил spd_dump в архивах на гитхабе, теперь должно работать.

00a6 - это явно секретный (нестандартный) ответ, что означает "ошибка проверки подписи".

Увы но более 55 000 не грузит. Может использовать какой нибудь гугл диск

По сути важно только последняя пара send/recv и сообщение об ошибке.

unexpected response (0x0089)

Это значит BSL_REP_DOWN_DEST_ERROR

Как вы вызывали дамп?

7e 00 06 00 0c (7f ff ff ff) (00 00 04 00) (00 00 00 00) 7b ee 7e

Потому что тут указан неверный адрес (не совсем адрес, а что-то вроде ID) 0x7fffffff, а должно быть 0x80000003. Так что ошибка верна. С FDL1/FDL2 дамп делается так (это одна строка):

./spd_dump fdl nor_fdl1.bin 0x40004000 fdl nor_fdl.bin 0x14000000 read_flash 0x80000003 0 0x400000 flash.bin

В скобках адрес и размер файла (4+4 байта). Для doom.bin вы указали в командной строке адрес 14000000 - это десятичный адрес, что в хексах 0x00d59f80. А надо с 0x, то есть 0x14000000, именно как я писал. Поэтому работать это точно не могло.

ram address is unknown

Это нормально, мой FDL1 определяет модель чипа, поэтому spd_dump знает по какому адресу записывать FDL2. Для SC6531E это 0x14000000, замените в .bat файле fdl fpdoom.bin ram на fdl fpdoom.bin 0x14000000.

После чего, если далее подпись не проверяется, то может загрузиться игра, а если подпись проверяется и далее, то будет опять ошибка.

Дамп тоже не работает

Когда вы используете оригинальные FDL1/FDL2 то одного FDL1 для дампа недостаточно, надо грузить оба. Мой кастомный FDL1 может дампать любую память сразу. В оригинале это может делать только FDL2 и там проверяется диапазон адресов, например не разрешается прочитать ROM чипа.

Проблема в том, что FDL1 может требовать подписи FDL2, вместо которого идёт "doom.bin". Так что если не получится, то опять всё сводится к тому, что для обхода проверки нужно найти уязвимости в ROM чипа или FDL1.

Там подсветка у оригинальной прошивки работает. Модель экрана R61529. У меня проблема проявляется в том, что подсветка загорается на долю секунды, потом на несколько секунд гаснет, потом опять включается на долю секунды. Такое впечатление, что не хватает питания, и подсветка подпитывается еще от какой-то системы. Может от питания вывода для наушников? (Потому что у этого телефона нет разъёма для наушников.) Но я так и не смог понять, что нужно для работы подсветки на этой модели. А жаль, потому что лучший экран (в плане разрешения и углов обзора) из всех кнопочных телефонов что у меня есть.

Не поможет загрузочный кабель. 7 - похоже на правильный Boot Key.

Я не могу найти стоковую прошивку, тут - не то, потому что прошивка для MediaTek чипа (MT6261). Находил еще одну - это не в формате .pac, без fdl/fdl1 файлов. Так что не получится с Nokia вот так просто, у них кастомные защиты приделаны, что на обычных чипах нет.

Найденные дампы выглядят так, что FDL вставлен в конце флэш памяти, и запускается всегда, по сути является частью прошивки, а не отдельным временным куском кода, который на телефоне не сохраняется.

Кстати тут обзор телефона.

Тут ответ телефона, код 0xa6. Не находил значения этого кода в исходниках (находил сайт с исходниками тулы для прошивки, там есть 0xa5 и 0xa7, а этот пропущен). Наверное как раз требует подписи.

recv (8): 7e 00 a6 00 00 0f 3c 7e

7e - означает начало и конец пакета.

00 a6 - packet type

00 00 - длина пакета

0f 3с - контрольная сумма

Попробуйте найти fdl1 из прошивки в формате .pac. Может заменить мой, но скорее всего он тоже проверяет подпись для следующей стадии.

Такой ответ:

BSL_REP_VER: "Spreadtrum Boot Block version 1.2\0"

Должен приходить от FDL1/FDL что идут с прошивкой, а не от ROM чипа. Может вы тулы запускали типа ResearchDownload и тому подобное, после этого телефон не отключали. Так надо делать всегда, чтобы телефон выключился, и потом подключался с нуля. А не с того кода/состояния, который остался загружен от других утилит. Отключаете от питания, запускаете .\spd_dump , потом подключаете телефон к USB удерживая правильную загрузочную клавишу.

Добавьте --verbose 2 к опциям spd_dump, .\spd_dump --verbose 2 --wait 300 , правда будет много мусора от передачи файла, но в конце будет виден ответ от "Boot Block", где будет видно код ошибки.

Ну, во первых все мои девайсы отвечают строкой:

BSL_REP_VER: "SPRD3\0"

Так что возможно, что у вас никакой не SC6531 (но какой-то Spreadtrum), или прям специально для Нокии еще и кастомную прошивку чипа (не телефона, а ROM процессора) сделали, но такое тоже может быть.

Вообще хакать всякие бренды вроде Нокии или Самсунга сложно - у них может быть свой аналог SecureBoot для телефона, где требуется и проверяется подпись кода. Можно попробовать взять FDL1 из прошивки для этого телефона. Хотя учитывая низкое качество китайского кода - скорее всего там можно найти уязвимости для обхода подписи.

Мало того, Нокия оставляет номер модели, но меняют железо как им вздумается. Поэтому одна модель разных лет может быть с разным железом.

но можно хотя-бы немного уважать тех, кто приносит основной доход компании?

Вот они и уважают, этих самых рекламодателей, что платят Гуглу. Пользователи для Гугла - это товар который продают, доход приносят те, кто их покупает.

Нет указанного файла (nor_fdl1.bin) в текущей директории. Я его выложил в релизах (лежит в fpdoom.zip).

"налоги" - как я вижу, у вас универсальный аргумент в споре и инструмент набора лайков. Во только несостоятельный. Представьте что не существует никакого Эльбруса - куда тогда пошли бы эти налоги? Если вы считаете что налоги в целом расходуются неэффективно, то согласно этому налоги бы эти пошли на что-то другое, куда более плохое или куда более бесполезное. А так хоть компьютерная архитектура развивается и вреда никому не приносит, и налогов тратится на это не особо то много, по сравнению с другими статьями.

Не понимаю ваших претензий, на Хабре много разных статей, многие темы которых я тоже нахожу неинтересными или даже бесполезными - я их просто не читаю, и не ругаю авторов почём зря. Но вы ругаете именно эту тему (статьи на которую редкость), причём написали уже множество комментариев со словами "хлам" и "мусор". Сколько вам платят за эти комментарии?

Information

Rating
Does not participate
Registered
Activity

Specialization

Software Developer
C
Code Optimization
Assembler
Linux