Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2011, 03:25   #1
pobedyst
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 11
По умолчанию Чайнику нужно направление. (декомпиляция автомобильной прошивки в формате .bin)

Доброго времени суток форумчанам. Нужен совет - занимаюсь программированием блоков управления автомобилей, как говорится делаю чип-тюнинг, но мне этого мало, имею огромный интерес к самим процессам происходящим в аппаратной части. Так как для моей работы есть готовые программы - всё в наглядном виде и ни какого труда не составляет работать. Файл прошивки автомобиля является бинарным файлом размером в основном 32 килобайт - именно об этом файле и идёт речь. Открывая этот файл в НЕХ редакторе вижу только цифры и буквы, слышал такие слова как декомпилятор, раскриптовать и т.п. но что и к чему не понимаю.. Не знаю ни каких языков (т.к. знание Бейсика 20 лет назад можно считать не знанием) Подскажите с помощью каких программ или языков я смогу открыть этот файл в виде команд и строк и уже потом разобраться в самих алгоритмах. Если необходимо - могу выложить любой из файлов, что бы было более понятно с каким видом файлов (программ) мне бы хотелось бы разобраться. Заранее благодарен, Чайник-энтузиаст)))
P.S. - поисх ничего не дал, извините ежели что.
pobedyst вне форума Ответить с цитированием
Старый 20.12.2011, 02:27   #2
pobedyst
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 11
По умолчанию

Я понимаю что таких чайников как я ещё нужно постараться поискать, потому как многие кто есть на этом форуме люди более менее имеют хотя бы понятие. Спасибо модератору за то , что изменил название темы ( я изначально чуть не так написал) - это мне дало повод для поиска, а вернее я не знал термина декомпилятор - его назначения. Забил в поиск программы по декомпиляции и вот оно, небольшое, но продвижение! Установив программу "Ida" мне стало ясно , что для того что бы правильно декомпилировать нужно знать процессор, для которого был изначально написан бинарный файл, но в Ide не оказалось такого процессора, возможно они имеют семейства и я просто не знаю к каким относится " мой" (Siemens 80C515), тем не менее движение есть. Понимаю что для того , что бы разобраться в своём вопросе мне нужно знать работу "своего" процессора , что да как полностью не въехал, нужно время. Возможно мой вопрос будет для вас странным, но хотелось бы получить совет - есть ли возможность по декомпилированному файлу определить на каком языке был написан файл, или декомпилированный можно открыть на любом из языков (я просто не понимаю разницу в них) Мне не охота тратить время на изучение всех языков, хотел бы выбрать один , нужный. Знаю наперёд что задачу поставил перед собой очень сложную, но как говорится в японской пословице - "Всё что не убивает самурая делает его сильнее!" . Заранее благодарен если кто то остановится не пройдя мимо моей темы.

Последний раз редактировалось pobedyst; 20.12.2011 в 02:37.
pobedyst вне форума Ответить с цитированием
Старый 20.12.2011, 02:51   #3
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

pobedyst, я в теме не разбираюсь, но думаю что прошивки пишут либо на асемблере, либо на специфическом для данного устройства языке.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 20.12.2011, 07:46   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Язык, который Вам необходимо изучить называется Assembler. Для каждого микроконтроллера система команд специфична, поэтому и ассемблер жля каждого свой. Фирмы-разработчики, как правило поставляют ассеблеры для своих устройств. Многие можно найти в интернете по запросу марки микроконтроллера.
С декомпилятором (дизассемблером) несколько сложнее. Здесь нужно связаться с фирмой-разработчиком или с фирмой, делавшей прошивку для этого процессора.
Хотя исходники врядли кто Вам вышлет.Но, как говорьтся, попытка не пытка.
Можно декомпилировать и вручную. Необходимо только знать систему команд.
Ну или заказать программисту, написать дизассемблер. Правда такая разработка выльется в копеечку.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 20.12.2011 в 07:48.
Smitt&Wesson вне форума Ответить с цитированием
Старый 20.12.2011, 11:48   #5
pobedyst
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 11
По умолчанию

Smitt&Wesson , большое спасибо за информативный ответ, я думал что прийдётся пару страниц прочитать ответов , что бы понять что к чему а тут в двух словах со всех сторон )))Попробую найти теперь )))
Цитата:
Ну или заказать программисту, написать дизассемблер. Правда такая разработка выльется в копеечку.
А есть ли среди программистов некий прайс, что ли? сколько может стоить такая работа?
pobedyst вне форума Ответить с цитированием
Старый 20.12.2011, 11:49   #6
pobedyst
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Демик Посмотреть сообщение
pobedyst, я в теме не разбираюсь, но думаю что прошивки пишут либо на асемблере, либо на специфическом для данного устройства языке.
Спасибо за поддержку)))
pobedyst вне форума Ответить с цитированием
Старый 20.12.2011, 12:04   #7
pobedyst
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 11
По умолчанию

Smitt&Wesson, Ваш ответ навёл меня на мысль о том , что я двигаюсь не много не в том направлении, а точнее сменил приоритет. Процессор на базе которого я хотел разобраться стар как земля и по этому не стоит изучать его, а взять блок управления от другого автомобиля с более свежим и более мощным процессором и добиватся успехов с ним, спасибо. Хотя думаю с последним будет больше проблем в поиске исходника.
pobedyst вне форума Ответить с цитированием
Старый 20.12.2011, 12:42   #8
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

Здравствуйте. Есть сайт http://forum.adact.ru - ассоциации диагностов и чип тюнеров, там есть люди занимающиеся разработкой и правкой прошивок для автомобильных ЭБУ. Обратитесь туда всё же ближе к теме. Там сейчас идёт обновление движка форума, поэтому не пугайтесь или зайдите через пару дней.
С.М.С вне форума Ответить с цитированием
Старый 20.12.2011, 23:25   #9
pobedyst
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 11
По умолчанию

Спасибо, С.М.С., у них я там зарегестрирован, но не думаю что там мне помогут, по подобному вопросу обращался - только холодом веет, все скрытны, а возможно просто нужный человек не видел моего поста.
pobedyst вне форума Ответить с цитированием
Старый 21.12.2011, 01:25   #10
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

Я сам пытался разобраться в данном вопросе, но так до конца и не разобрался.
Всё что я скажу это ИМХО и есть вероятность что я просто ошибаюсь.
Для дизассемблрования 80C515 например, вот нашел дизассемблеры http://www.gaw.ru/html.cgi/txt/soft/mcs-51/disasm.htm правда сам ими не пользовался.
Но я подозреваю что ваш bin файл это не прошивка микроконтроллера (особенно если учеть, что в докуметации по 80C515 написанно что ПЗУ в этом МК всего 8 килобайт). А это прошивка внешней eeprom (или flash) микросхемы памяти находящейся рядом с МК (если есть возможность, поищите микросхему памяти в блоке зажигания). Если это так, в эту память записывается либо таблица значений либо коэффициенты уравнений по которым МК в соответствии со своей внутренней программой формирует конкретные выходные данные. Так что тут нужно либо достать прошивку самого МК (с этим могут быть проблемы), либо можно попробовать перехватить обращения МК к памяти, посмотреть какие данные он читает при разных режимах работы двигателя, и попытаться догадаться какие участки за что отвечают.

Но я конечно могу и ошибаться, возможно то что у вас и есть прошивка МК.

p.s. если решите всерьёз разобраться с данным вопросом, могу оказывать помощь, т.к. данный вопрос интересует и меня. Но учтите что это дело может потребовать значительного времени и сил.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."

Последний раз редактировалось val_nnm; 21.12.2011 в 01:47.
val_nnm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск отказов в выписках (в формате RTF) и формирующую реестр отказников в формате XLS avtoritetbikov@mai Фриланс 3 03.10.2011 09:03
Нужно разобрать файл прошивки Android cyku77 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 29.09.2011 22:48
Правильно ли я понимаю, php-скрипты нужно положить в папку cgi-bin, чтобы всё работало? Gtx541 PHP 8 22.07.2010 18:08
декомпиляция прошивки телефона и ее способы ilya20069 Помощь студентам 8 03.06.2010 23:49