Pages: (52) [1] 2 3 .. 6 .. 9 .. 12 .. 15 .. 18 .. 21 .. 24 .. 27 .. 30 .. 33 .. 36 .. 39 .. 42 .. 45 .. 48 .. 51 52  ( Show unread post )

> Модифицируем прошивку для DVD плейера (MTK 1389), инструкция от САХ
 ivani4 Member is Offline
 Posted: 15-12-2005, 18:17 (post 1, #511315)

Member

Group: Members
Posts: 184
Warn:0%-----
2cax
А не смог бы ты написать свою инструкцию from_A_to_Z на русском?

2ivani4
Я-то могу, но что-то мне подсказывает, что потом ты попросишь и ассемблер на русский перевести Честно говоря, 90% инструкции состоит из фраз "найди такую-то последовательность байтов и замени её на такую-то", и если ты не знаешь английский даже на таком базисном уровне, то как ты сможешь использовать все упомянутые в инструкции программы - ведь у них интерфейс тоже на английском ?

2cax
Спасибо что не ответил категорическим отказом.Дело в том что никак не могу я это дело начать.Не получается.Никогда не занимался подобными вещами и к программированию никакого отношения не имею.Очень много не понятного.Так я и подумал,что если бы по русски ,так может удалось бы это дело с места сдвинуть.winhex есть у меня на русском.Так что если бы ты смог ,то я был бы рад

ivani4, в этой теме это будет офтопик.

Открой новую тему, озаглавленную, например, "Модифицируем прошивку для DVD плейера такого-то"
Убедись, что у тебя есть файл с прошивкой для твоего плейера и упомянутые в инструкции программы и другие документации; найди автоматический словарь, который даст тебе подстрочный перевод инструкции на русский, посмотри, стал ли ты понимать больше.

Если боишься испортить плейер в процессе проверок изменённых прошивок - спаяй себе специальный кабель для восстановления и научись им пользоваться. Схему я дам.

Кстати, hex-редактор я использую XVI32, т.к. он позволяет использовать т.н. joker char, т.е. подстановку любого байта при поиске.

После этого, если у меня будет время и настроение, мы в той новой теме откроем "академию". Чем смогу-помогу

This post has been edited by ivani4 on 15-12-2005, 18:25
PM
Top Bottom
 cax Member is Offline
 Posted: 15-12-2005, 18:28 (post 2, #511322)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Итак, есть ли у тебя файл прошивки от плейера, и как он называется ?
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 15-12-2005, 23:18 (post 3, #511483)

Member

Group: Members
Posts: 184
Warn:0%-----
cax
Файл прошивки у меня есть.Хотел бы начать с отключения значка зум.В твоей инструкции написано:
3BE42: FF => 08
3BE4D: FF => 08
Я проверил и увидел что в прошивке от Hyundai 3899(верхняя в таблице на твоём сайте)эта процедура была произведена только по адресу 3BE42.А на 3BE4D фигурирует А5 до и после изменений .Этот момент мне как то не понятен.
Пытался найти в своей прошивке нужный адрес.Безрезультатно.
Не понимаю по каким признакам нужно искать.А если знать адрес ,то как знать какое изменение нужно там сделать? Пытался провести аналогию с твоими работами в АРЕХ-не помогло.
R4R5-это я вообще не понял где это и как оно может помочь.
А в MTK ReMaker нужная строка у меня 0x0200.Это я нашёл,но пользы от этого я не вижу.

This post has been edited by ivani4 on 20-12-2005, 01:12
PM
Top Bottom
 cax Member is Offline
 Posted: 17-12-2005, 19:15 (post 4, #512642)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Здесь инструкция действительно недостаточно подробная и требует знаний ассемблера. Я отвечу сюда поподробнее - позже.

Кстати, я нигде не писал, что оффсеты совпадают - они не совпадают нигде (кроме одного места). Нужна hex-последовательность.
PM Email Poster
Top Bottom
 moroz Member is Offline
 Posted: 17-12-2005, 21:26 (post 5, #512767)

Member

Group: Members
Posts: 134
Warn:0%-----
ivani4
По-моему в инструкции саха вкралась опечатка: второй адрес не 3BE4D, а 3BE5D. Чтобы в этом убедиться, необходимо работать над файлом не в обычном НЕХ редакторе, а в дизассемблере (например IDA). Тогда видно, что это два очень похожих куска. Кстати, работая таким образом тебе будет гораздо легче обнаружить аналогичные куски в своей прошивке.
P.S. Почему-то в IDA нет чипа 8032, я пользовался 8051.
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 17-12-2005, 23:28 (post 6, #512876)

Member

Group: Members
Posts: 184
Warn:0%-----
moroz
QUOTE
По-моему в инструкции саха вкралась опечатка: второй адрес не 3BE4D, а 3BE5D
Полностью согласен.В WINHEX есть возможность сравнивать файлы.Там этот момент чётко отслеживается.Не писал об этом потому как хотел услышать это от самого маэстро,но он почему то на это не отреагировал.
А идой я пользоватся пока не умею да и ассемблер не знаю.
А за подсказку и участие спасибо.Попробую поработать с идой.

This post has been edited by ivani4 on 17-12-2005, 23:31
PM
Top Bottom
 cax Member is Offline
 Posted: 18-12-2005, 00:14 (post 7, #512927)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Значит так.
Цитирую сам себя и дополняю заодно.

Сперва открываем прошивку в MTK ReMaker и в
"Data Part->OSD->OSD Languages2->Language 1[00]"
ищем номер текстового сообщения, которое появляется при нажатии на zoom.

Допустим, это 0x207. Разбивая на байты, получаем 02 и 07.

Если нам повезёт, то эти 2 байта грузятся в регистры 4 и 5 примерно так:
7D 07 mov R5, #7
7C 02 mov R4, #2

и тогда мы сразу найдём нужное место при поиске такой цепочки:

90 xx xx 74 01 F0 A3 74 xx F0 A3 74 xx F0 7B FF 7D 07 7C 02

где хх - любой байт (в XVI32 это называется "joker char", или "wildcard")

Далее меняем отмеченный выше FF на 08 и дело сделано.

Примечание 1: менять в прошивке надо 2 раза - один раз для режима воспроизведения DivX, второй - для режима DVD.

Примечание 2: после каждого изменения нужно переоткрыть прошивку в MTK Remaker, на вопрос "Поправить контрольную сумму ?" ответить "Да", затем сохранить прошивку.

=======================================
Но если не повезёт, и регистры грузятся иначе, цепочка не найдётся.
Причины: один из байтов - ноль, и получается не загрузкой нуля в регистр, а командой обнуления регистра; или байты одинаковые и грузятся копированием регистра (как в случае, описанном для HU3899)

Тогда над искать цепочку покороче:
90 xx xx 74 01 F0 A3 74 xx F0 A3 74 xx F0 7B FF

Она найдётся много раз.
Какой из них нам подходит - узнаем уже в дизассемблере...
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 18-12-2005, 00:17 (post 8, #512928)

Member

Group: Members
Posts: 184
Warn:0%-----
спасибо

This post has been edited by ivani4 on 18-12-2005, 00:41
PM
Top Bottom
 ivani4 Member is Offline
 Posted: 18-12-2005, 00:45 (post 9, #512939)

Member

Group: Members
Posts: 184
Warn:0%-----
QUOTE
Если нам повезёт, то эти 2 байта грузятся в регистры 4 и 5 примерно так:
7D 07 mov R5, #7
7C 02 mov R4, #2
А это где, как и чем смотреть?
PM
Top Bottom
 cax Member is Offline
 Posted: 18-12-2005, 10:24 (post 10, #513054)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
QUOTE (ivani4 @ 17-12-2005, 21:45)
QUOTE
Если нам повезёт, то эти 2 байта грузятся в регистры 4 и 5 примерно так:
7D 07 mov R5, #7
7C 02 mov R4, #2
А это где, как и чем смотреть?
IDA + комплект скриптов из раздела "Files" группы mt13x9 на yahoo.
А разве длинная цепочка не нашлась ? Если да, то IDA не понадобится.

This post has been edited by cax on 18-12-2005, 10:25
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 18-12-2005, 10:32 (post 11, #513055)

Member

Group: Members
Posts: 184
Warn:0%-----
QUOTE
А разве длинная цепочка не нашлась ?
а как и чем её искать?
PM
Top Bottom
 cax Member is Offline
 Posted: 18-12-2005, 10:54 (post 12, #513059)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
QUOTE (moroz @ 17-12-2005, 18:26)
По-моему в инструкции саха вкралась опечатка: второй адрес не 3BE4D, а 3BE5D.
Спасибо, исправил.
Заодно вставил описание правки зума, аналогичное опубликованному здесь.
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 18-12-2005, 11:05 (post 13, #513062)

Member

Group: Members
Posts: 184
Warn:0%-----
В xvi32 есть функция поиска.Что бы найти длинную цепочку нужно,наверное,полностью вписать её в строку поиска.А как быть с теми местами где может быть любой файл(хх)?как записать это в строку поиска?или это не так ищут?

This post has been edited by ivani4 on 18-12-2005, 12:15
PM
Top Bottom
 cax Member is Offline
 Posted: 18-12-2005, 11:11 (post 14, #513064)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
QUOTE (ivani4 @ 18-12-2005, 07:32)
QUOTE
А разве длинная цепочка не нашлась ?
а как и чем её искать?
ivani4,

Я ищу hex-редактором XVI32.
Подойдёт любой, поддерживающий, как я уже писал выше, так называемый "wildcard"-символ, или "джокер"; говоря по-русски - поддерживающий подстановку любого байта в местах, которые я пометил, как "xx".

Теперь объясняю на пальцах:

допустим, надо найти все последовательности такого вида:
первый байт - 1F, третий - C2, а что посредине нам не важно, т.е. любой.
Мы можем найти такие тройки байтов:

1F 00 C2
1F 24 C2
1F C2 C2
1F E4 C2
и т.д.

Я это записываю как "1F xx C2", где "xx" - wildcard.

Если ты освоишь поиск с подстановками - дальнейшее для тебя будет просто.
Дерзай.

В XVI32 ты можешь задать joker char,например, "ЕЕ", и в дальнейшем использовать "ЕЕ" вместо моих "хх".

This post has been edited by cax on 18-12-2005, 11:13
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 18-12-2005, 13:07 (post 15, #513087)

Member

Group: Members
Posts: 184
Warn:0%-----
cax
:handup:
Теперь всё понятно.Сходу всё нашёл и переправил.Работает как положено,но с диском двд синий квадрат не убирается.Я где то ошибся или для этого требуется дополнительное действие?
И попутно ещё одна проблема возникла.Что бы утвердится в успехе решил проделать данную процедуру ещё с двумя двд от разных производителей.Один прошёл на ура,а во втором значок зума убрался частично.Т.е. только какая то часть от него пропадает через несколько секунд.?????????????
В этом двд 0x014F .И если я правильно понял,то:
90 xx xx 74 01 F0 A3 74 xx F0 A3 74 xx F0 7B FF 7D 4F 7C 01

This post has been edited by ivani4 on 18-12-2005, 21:39
PM
Top Bottom
Topic Options Pages: (52) [1] 2 3 .. 6 .. 9 .. 12 .. 15 .. 18 .. 21 .. 24 .. 27 .. 30 .. 33 .. 36 .. 39 .. 42 .. 45 .. 48 .. 51 52