|
Модификация прошивки девайса с ARM9TDMI и VxWorks |
|
|
|
Nov 2 2005, 14:39
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
ВведениеЕсть некоторый буржуйский девайс, внутри которого ARM9TDMI, работающий под ОС VxWorks 5.4. Девайс умеет обновлять свою прошивку по просьбе пользователя. Обновление происходит по протоколу FTP. На буржуйском сервере FTP были найдены файлы прошивки в трёх форматах: файл без расширения - несжатый COFF-файл, файл с расширением .bin, и файл с расширением .cmp. В процессе обновления девайс загружает с сервера файл с расширением .cmp, распаковывает его и пишет в ПЗУ. Исходников прошивки нет. ЗадачаТребуется модифицировать прошивку девайса. А именно, требуется перевести интерфейс пользователя с английского на русский и разблокировать скрытый пункт меню настройки в пользовательском интерфейсе. Алгоритм решения1. Дизассемблировать файл прошивки, тот который несжатый, без расширения. Я пробовал дизассемблер IDA - вроде получается. 2. Изменить ассемблерный код. 3. Ассемблировать изменённый код, получить COFF-файл. 4. Сжать полученный COFF-файл в формат cmp. Чего не хватает для счастья1. Что за формат cmp и чем его делать? Если это какой-то VxWorks'овский архиватор, то пункт 3. 2. Чем ассемблировать то, что дизассемблировано IDA? 3. Где достать Tornado и что там ещё надо для разработки под VxWorks и ARM? Если не получится ассемблировать, то можно и в двоичном коде разблокировать скрытый пункт меню. Возможно, также получится заменить шрифт на русский и перевести надписи интерфейса пользователя. Итого:1. Как полусить из несжатого COFF -> .cmp? 2. Где взять Tornado и все прибамбасы для ARM? 3. Что ещё мне посоветуете?
|
|
|
|
|
Nov 3 2005, 01:08
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 13-10-05
Пользователь №: 9 568

|
Насколько я понимаю, Торнадо использует для сжатия образов эту утилиту: ararm.exe; но для ее работы необходим как минимум еще и cygwin1.dll. Я, к сожалению, прямо сейчас не могу ее выслать - возможно, позже. Попробуй поиграться, может, что и получится. По поводу изменения софта - на мой взгляд, действительно наименее трудоемкий способ - найти в бинарнике места, где хранятся шрифты и сообщения, и прямо в коде их изменить. Все-таки ассемблировать листинг, полученный ИДО-й - не тривиальная задача. Только могу дополнительно порекомендовать сперва выпаять ВСЕ микросхемы памяти - как флэш, так и дополнительные - типа серийных ЕЕПРОМ, сохранить их содержимоеи проставить на место уже в панельках - тогда будет шанс восстановить устройство в случае его "убития".
|
|
|
|
|
Nov 3 2005, 07:24
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67

|
Цитата(sire @ Nov 2 2005, 17:39) ВведениеЕсть некоторый буржуйский девайс, внутри которого ARM9TDMI, работающий под ОС VxWorks 5.4. Девайс умеет обновлять свою прошивку по просьбе пользователя. Обновление происходит по протоколу FTP. На буржуйском сервере FTP были найдены файлы прошивки в трёх форматах: файл без расширения - несжатый COFF-файл, файл с расширением .bin, и файл с расширением .cmp. В процессе обновления девайс загружает с сервера файл с расширением .cmp, распаковывает его и пишет в ПЗУ. Исходников прошивки нет. ЗадачаТребуется модифицировать прошивку девайса. А именно, требуется перевести интерфейс пользователя с английского на русский и разблокировать скрытый пункт меню настройки в пользовательском интерфейсе. Алгоритм решения1. Дизассемблировать файл прошивки, тот который несжатый, без расширения. Я пробовал дизассемблер IDA - вроде получается. 2. Изменить ассемблерный код. 3. Ассемблировать изменённый код, получить COFF-файл. 4. Сжать полученный COFF-файл в формат cmp. Чего не хватает для счастья1. Что за формат cmp и чем его делать? Если это какой-то VxWorks'овский архиватор, то пункт 3. 2. Чем ассемблировать то, что дизассемблировано IDA? 3. Где достать Tornado и что там ещё надо для разработки под VxWorks и ARM? Если не получится ассемблировать, то можно и в двоичном коде разблокировать скрытый пункт меню. Возможно, также получится заменить шрифт на русский и перевести надписи интерфейса пользователя. Итого:1. Как полусить из несжатого COFF -> .cmp? 2. Где взять Tornado и все прибамбасы для ARM? 3. Что ещё мне посоветуете?  В VxWorks действительно есть процедуры упаковки и распаковки. Но файл с расширением cmp может быть чем угодно. Даже самопально (упакованным) форматом. Торнадо есть (или была на нашем ftp). Исходники упаковщика/распаковщика имеются - но это внутренние процедуры ядра. Из Иды наверняка не получиться с ассемблировать ассемблерный листинг, надо будет пальчиками править весь листинг - даже не начинайте пробовать!!
|
|
|
|
|
Nov 3 2005, 09:50
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(Vic1 @ Nov 2 2005, 18:32) Сильно сомневаюсь, что тут помогут  . А непосредственно у российских дилеров не спрашивали? http://www.vxworks.ru/index1.htmУ дилеров - дорого. А тут всё-таки помогают.
|
|
|
|
|
Nov 3 2005, 09:55
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(VitPushchin @ Nov 3 2005, 04:08) Насколько я понимаю, Торнадо использует для сжатия образов эту утилиту: ararm.exe; но для ее работы необходим как минимум еще и cygwin1.dll. Я, к сожалению, прямо сейчас не могу ее выслать - возможно, позже. Попробуй поиграться, может, что и получится. По поводу изменения софта - на мой взгляд, действительно наименее трудоемкий способ - найти в бинарнике места, где хранятся шрифты и сообщения, и прямо в коде их изменить. Все-таки ассемблировать листинг, полученный ИДО-й - не тривиальная задача. Если cygwin1.dll можно взять из обычного опенсорсного cygwin'а - то не проблема её найти на www.cygwin.com. А вот за ararm.exe буду очень признателен. С ИДОй всё понял, я так и подозревал, что с ассемблированием ничего не получится.
|
|
|
|
|
Nov 3 2005, 10:02
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67

|
Цитата(sire @ Nov 3 2005, 12:55) Цитата(VitPushchin @ Nov 3 2005, 04:08) Насколько я понимаю, Торнадо использует для сжатия образов эту утилиту: ararm.exe; но для ее работы необходим как минимум еще и cygwin1.dll. Я, к сожалению, прямо сейчас не могу ее выслать - возможно, позже. Попробуй поиграться, может, что и получится. По поводу изменения софта - на мой взгляд, действительно наименее трудоемкий способ - найти в бинарнике места, где хранятся шрифты и сообщения, и прямо в коде их изменить. Все-таки ассемблировать листинг, полученный ИДО-й - не тривиальная задача. Если cygwin1.dll можно взять из обычного опенсорсного cygwin'а - то не проблема её найти на www.cygwin.com. А вот за ararm.exe буду очень признателен. С ИДОй всё понял, я так и подозревал, что с ассемблированием ничего не получится.  Лови и то и другое из единого комплекта.
Прикрепленные файлы
bin.rar ( 392 килобайт )
Кол-во скачиваний: 38
|
|
|
|
|
Nov 3 2005, 10:05
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(xoms @ Nov 3 2005, 10:24) В VxWorks действительно есть процедуры упаковки и распаковки. Но файл с расширением cmp может быть чем угодно. Даже самопально (упакованным) форматом. Торнадо есть (или была на нашем ftp). Исходники упаковщика/распаковщика имеются - но это внутренние процедуры ядра. Из Иды наверняка не получиться с ассемблировать ассемблерный листинг, надо будет пальчиками править весь листинг - даже не начинайте пробовать!! То есть файлы с расширением cmp в VxWorks никому не встречались? Если это самопал - то очень печально.  Доступа к ftp у меня пока нет. А есть ли на ftp Торнадо для ARM, или в моём случае всё равно, что для ARM, что для Pentium? Да, блин, образ там на 3,5 мега, запарюсь править в ассемблере, к тому же я не спец ни в асме, ни в ARM, ни в Торнадо.
|
|
|
|
|
Nov 3 2005, 10:07
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(xoms @ Nov 3 2005, 13:02) Лови и то и другое из единого комплекта. Спасибо!  Пойду пробовать...
|
|
|
|
|
Nov 3 2005, 10:14
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(sire @ Nov 3 2005, 13:07) Цитата(xoms @ Nov 3 2005, 13:02) Лови и то и другое из единого комплекта. Спасибо!  Пойду пробовать... Не-а. Попытался ararm.exe p образ.cmp, потом ararm.exe p образ.bin - результат одинаковый: File format not recognized.
|
|
|
|
|
Nov 3 2005, 10:23
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67

|
Цитата(sire @ Nov 3 2005, 13:14) Не-а. Попытался ararm.exe p образ.cmp, потом ararm.exe p образ.bin - результат одинаковый: File format not recognized.  Чего просил , того прислал. Вытащил именно из комплекта Торнадо. Просто , что-то не то тебе надо.
|
|
|
|
|
Nov 3 2005, 10:26
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(xoms @ Nov 3 2005, 13:23) Цитата(sire @ Nov 3 2005, 13:14) Не-а. Попытался ararm.exe p образ.cmp, потом ararm.exe p образ.bin - результат одинаковый: File format not recognized.  Чего просил , того прислал. Вытащил именно из комплекта Торнадо. Просто , что-то не то тебе надо. Да я и не говорю, что ты лажу прислал  Просто не подошло, это понятно. Но остаётся вопрос: встречал ли кто-то в Tornado/VxWorks/что-там-ещё-может-быть файлы с расширением cmp?
|
|
|
|
|
Nov 3 2005, 10:49
|

инженер
   
Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701

|
Цитата(sire @ Nov 3 2005, 14:05) Доступа к ftp у меня пока нет. А есть ли на ftp Торнадо для ARM, или в моём случае всё равно, что для ARM, что для Pentium? Для Pentium, ColdFire, M68k. Есть также док (BSP Developers, Tornado Users Guide, VxWorks Programmers Guide), где может быть и есть про формат cmp. Цитата Да, блин, образ там на 3,5 мега, запарюсь править в ассемблере, к тому же я не спец ни в асме, ни в ARM, ни в Торнадо.  Вот поэтому и был первый совет - попросить решить задачу руссификации дилеров. Про их квалификацию, правда, ничего не знаю (мое отношение к VxWorks - субъективно-негативное  ).
|
|
|
|
|
Nov 3 2005, 11:01
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67

|
Цитата(Vic1 @ Nov 3 2005, 13:49) Цитата(sire @ Nov 3 2005, 14:05) Доступа к ftp у меня пока нет. А есть ли на ftp Торнадо для ARM, или в моём случае всё равно, что для ARM, что для Pentium? Для Pentium, ColdFire, M68k. Есть также док (BSP Developers, Tornado Users Guide, VxWorks Programmers Guide), где может быть и есть про формат cmp. Цитата Да, блин, образ там на 3,5 мега, запарюсь править в ассемблере, к тому же я не спец ни в асме, ни в ARM, ни в Торнадо.  Вот поэтому и был первый совет - попросить решить задачу руссификации дилеров. Про их квалификацию, правда, ничего не знаю (мое отношение к VxWorks - субъективно-негативное  ). Дилеры здесь вообще не причём. Они продают продукты от ветрянной реки. А русик надо вытрясать из производителей (разработчиков) девайса, это совсем другая фирма и наверняка она от этого откажется. VxWorks не виндовс и их редактором ресурсов, которым можно обрусить почти что угодно. В комплекте Tornado для ARM нет ни одного файла с расширением cmp. (как впрочем и для других платформ тоже). VxWorks классная ось с исходниками.
|
|
|
|
|
Nov 3 2005, 11:09
|

инженер
   
Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701

|
2 xoms Цитата Дилеры здесь вообще не причём. Они продают продукты от ветрянной реки. Это одна из причин моей субъективной негативности  . Цитата VxWorks не виндовс и их редактором ресурсов, которым можно обрусить почти что угодно. С этим никто не спорит. Что такое VxWorks на каком то уровне детализации знаю. Все это точно  и автору темы не поможет.
|
|
|
|
|
Nov 4 2005, 09:15
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(Vic1 @ Nov 3 2005, 13:49) Вот поэтому и был первый совет - попросить решить задачу руссификации дилеров. Про их квалификацию, правда, ничего не знаю (мое отношение к VxWorks - субъективно-негативное  ). Ты имеешь в виду попросить дилеров VxWorks русифицировать прошивку того буржуйского девайса? Вряд ли у дилеров есть настолько квалифицированные специалисты, ведь дилеры - это бизнесмены  в первую очередь.
|
|
|
|
|
Nov 4 2005, 09:21
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(xoms @ Nov 3 2005, 14:01) Дилеры здесь вообще не причём. Они продают продукты от ветрянной реки. А русик надо вытрясать из производителей (разработчиков) девайса, это совсем другая фирма и наверняка она от этого откажется. VxWorks не виндовс и их редактором ресурсов, которым можно обрусить почти что угодно. В комплекте Tornado для ARM нет ни одного файла с расширением cmp. (как впрочем и для других платформ тоже). VxWorks классная ось с исходниками. Да, дилеры девайса, если бы могли, с удовольствием русифицировали бы его, им это было бы выгодно, но производитель не даёт дилеру исходники, и на русификацию ему нас...ть. Да, опечалили вы меня на счёт cmp.  Остаётся вариант заливать изменённую прошивку программатором - не удобно, но что делать...
|
|
|
|
|
Nov 7 2005, 06:56
|

инженер
   
Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701

|
Цитата(sire @ Nov 4 2005, 13:15)  Ты имеешь в виду попросить дилеров VxWorks русифицировать прошивку того буржуйского девайса? Вряд ли у дилеров есть настолько квалифицированные специалисты, ведь дилеры - это бизнесмены  в первую очередь. Да. Может это не тот термин "дилер". Есть примеры российских фирм типа "RTSoft" и ряда других, торгующих оборудованием для автоматизации Siemens, Schneider Electric и т.п., специалисты которых часто решают подобные проблемы (и они там высококвалифицированные  ). RTSoft, кстати, раньше занималось VxWorks и даже курсы проводили в своем учебном центре. Как сейчас обстоят дела с VxWorks не знаю. И еще, sire, в почтовый ящик своего профиля заглядываете? Не нужна док.?
|
|
|
|
|
Nov 7 2005, 11:02
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(Vic1 @ Nov 7 2005, 09:56)  Цитата(sire @ Nov 4 2005, 13:15)  Ты имеешь в виду попросить дилеров VxWorks русифицировать прошивку того буржуйского девайса? Вряд ли у дилеров есть настолько квалифицированные специалисты, ведь дилеры - это бизнесмены  в первую очередь. Да. Может это не тот термин "дилер". Есть примеры российских фирм типа "RTSoft" и ряда других, торгующих оборудованием для автоматизации Siemens, Schneider Electric и т.п., специалисты которых часто решают подобные проблемы (и они там высококвалифицированные  ). RTSoft, кстати, раньше занималось VxWorks и даже курсы проводили в своем учебном центре. Как сейчас обстоят дела с VxWorks не знаю. И еще, sire, в почтовый ящик своего профиля заглядываете? Не нужна док.? В ящик заглянул  Доки нужны  В RTSoft попробую обратиться. Есть ли ещё какие-то идеи к кому можно обратиться?
|
|
|
|
|
Nov 8 2005, 10:42
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
Цитата(Vic1 @ Nov 7 2005, 09:56)  Цитата(sire @ Nov 4 2005, 13:15)  Ты имеешь в виду попросить дилеров VxWorks русифицировать прошивку того буржуйского девайса? Вряд ли у дилеров есть настолько квалифицированные специалисты, ведь дилеры - это бизнесмены  в первую очередь. Да. Может это не тот термин "дилер". Есть примеры российских фирм типа "RTSoft" и ряда других, торгующих оборудованием для автоматизации Siemens, Schneider Electric и т.п., специалисты которых часто решают подобные проблемы (и они там высококвалифицированные  ). RTSoft, кстати, раньше занималось VxWorks и даже курсы проводили в своем учебном центре. Как сейчас обстоят дела с VxWorks не знаю. Попробовал обратиться в RTSoft - они не заинтересованы в таком проекте
|
|
|
|
|
Nov 8 2005, 16:06
|
Группа: Новичок
Сообщений: 12
Регистрация: 25-10-05
Пользователь №: 10 077

|
А может стоит в этом форуме в какую-нибудь другую ветку написать, или в какой-нибудь другой форум?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|