• Уважаемые форумчане! При использовании информации, ресурсов и материалов форума, а после и внедрения данных многолетних наработок в "свои" прошивки, не забудьте при выкладывании на третьесторонних ресурсах указывать ссылку на исходный источник, где вы и почерпнули данную информацию. Соблюдение сего простого правила является признаком хорошего тона и позволит развиваться ресурсу, что впоследствии положительно скажется на всех нас и последующих результатах в создании модифицированных прошивок для наших гаджетов. С уважением, Администрация форума.
>>>Вышла начальная тэстовая утилита z.768 для прошивок на базе MStar чипсэтов <<<

MStar - небольшая утилита - обсуждение.

cmd55

Команда форума
Обсуждаем утилиту тут!
Пишем замечания.
Добавляем найденные адреса.
Ждем ваших предложений.
 

z.768

Команда форума
Пока ложу ссылку здесь.
По константе только поиск адресов, не решил как правильно нарисовать.
Меню простейшее.
Все входные данные только в хекс, понимает регистр букв.
Длина константы равна 16 байт или 32 символа, думаю этого вполне достаточно.
 
Последнее редактирование:

cmd55

Команда форума
Спасибо!
Покручу сейчас.Пока бины неначем проверить.
 

cmd55

Команда форума
Опиши пожалуйста как открыть бин.Что то не могу открыть.
 
Последнее редактирование:

z.768

Команда форума
Сразу лоад - грузишь бинарник в память.
Далее указываешь стартовый адрес и длину.
Потом экстракт, указываешь имя будущему файлу ..
и все.
Прошу эту утилиту не путать с хекс-редактором.
Просто кромсалка бинарника - ну что б не бегать по полной прошке.
 

cmd55

Команда форума
Спасибо.Понял.На утро.
Постепенно все будет с их прошивкой понятно.
Главное определится где начинается сама прошивка и где она кончается, чтоб в кирпич не превращать.Будем таблички искать.
 

z.768

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

cmd55

Команда форума
Ну да. Тут заминка будет в лечении самого девайса в случае неудачной прошивки.
-------
Дмитрий, может бросиш сюда видео как к примеру ты восстанавливаеш девайс на AIT? Или как будеш восстанавливать из кирпича?
 

cmd55

Команда форума
Все отлично режет.
По началу просто вбивал старт адрес 0с000000.:)
Потом дошло.
Полезная утить и для резки прошивок разных чипсэтов.
 

z.768

Команда форума
Перезалил по той же ссылке поновей версию экстрактора.
Прикрутил резку по константе.
В принципе, подумал...
... можно сделать что б утилитка подхватывала заранее сохраненный список констант и адресов с длинами, ну часто используемых.
Ладно, это позже.
 
Последнее редактирование:

JeWell

Лучший гость.
Дмитрий, может бросиш сюда видео как к примеру ты восстанавливаеш девайс на AIT? Или как будеш восстанавливать из кирпича?
Видео?! Ну... даж прям как-то неожиданно. :)
Для восстановления нужен специальный файлик.
В прошивках для mio он идёт в комплекте с каждой прошивкой (видимо, они сами не знают, для чего он и поэтому не убирают из архива), зовётся он SdFwCode.bin. В нём живёт исполняемый код, который запускается вместо кода прошивки из флэшки, которая в аппарате. Запускается он при выполнении двух условий:
1 - в аппарате жив загрузчик
2 - зажата определённая кнопка перед подачей питания на аппарат
(какая конкретно кнопка - для каждого аппарата это индивидуально, найти её можно чисто экспериментально)
В итоге исполнения этого кода аппарат загружается, как обычно, и после окончания загрузки ищет на SD-карте файл с прошивкой SD_CarDV.bin. Ежели он там есть, то начинается процесс перешивания.
Вот, собственно.
Не исключаю, что файл SdFwCode.bin может подходить от одних устройств другим, если они аппаратно совместимы.
 

z.768

Команда форума
По вопросу фат12...
Ну не знаю как правильно описать, сорри.
Каждый раздел имеет определенное количество кластеров.
Размер кластера равен 4096 байт.
Есть кое какие описания в инете, но толком пока ничего не понял.
 

z.768

Команда форума
То что хотел найти
FAT12/16 структура заголовка

EB5890 = 3 байта (Безусловный переход (jmp) на загрузочный код)
4D53444F53352E30 = 8 байт (идентификатор фирмы изготовителя)
0002 = 2 байта (число байт в секторе (512))
01 = 1 байт (число секторов в кластере)
0100 = 2 байта (число резервных секторов в резервной области раздела, начиная с певого сектора раздела)
02 = 1 байт (число таблиц копий фат)
4000 = 2 байта (количество 32-байтных дескрипторов файлов в корневом каталоге)
0002 = 2 байта (общее число секторов в разделе, если данное поле содержит 0, то число секторов задается полем по смещению 0х20)
F8 = 1 байт (тип носителя HDD = 0xF8, для гибкого диска = (2 стороны 18 секторов на дорожке = 0хF0))
0200 = 2 байта (для fat12-16 поле содержит количество секторов занимаемых одной копией FAT)
3F00 = 2 байта (число секторов на дорожке (для прерывания 0х13))
FF00 = 2 байта (число рабочих поверхностей (для прерывания 0х13))
00000000 = 4 байта (число скрытых секторов перед разделом)
00000000 = 4 байта (общее число секторов в разделе, поле используется если в разделе свыше 65535 секторов, иначе поле = 0)
00 = 1 байт (номер дисковода для прерывания = 0х13)
00 = 1 байт (зарезервировано для win NT, имеет значение 0)
29 = 1 байт (признак расширенной загрузочной записи = 0х29)
67452301 = 4 байта (номер логического диска)
4E4F204E414D4520202020 = 11 байт (метка диска)
4641543132202020 = 8 байт (текстовая строка с аббревиатурой типа файловой системы)

0000 не в счет

Взято здесь
 
Последнее редактирование:

z.768

Команда форума
Чего то наковырял, есть много нюансов и проблем.
По мере растаскивания мусора - отпишу.
 

On-Line статистика

Пользователи онлайн
0
Гостей онлайн
7
Всего посетителей
7