Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Просмотр темы (Новые вначале) |
04.10.2011 14:27 | ||
D-link | спасибо все работает закройте тему! | |
02.10.2011 21:54 | ||
intel64 | кстати вот по теме немножко инфы. для того чтобы дизассемблировать raw прошивку или hex формат, надо дизасму обязалово скормить стартовый адрес. Инфа о нем не хранится в файле, а как конкретный контроллер знает откуда стартовать, нужно читать даташит на него. | |
02.10.2011 21:52 | ||
VoVaN |
1:1 |
|
02.10.2011 21:47 | ||
intel64 | аски код и есть хекс код, ты видимо хотел сказать символами. я предпологал что речь пойдет о текстовом процессоре в хекс редакторе. ладно ты реально крутой тип, сделал меня. | |
02.10.2011 21:28 | ||
VoVaN |
Вложение 167826 Цитата:
Я не знаю, когда вы в последний раз работали с хекс-редакторами, но даже досовский Hackers viewer позволял вводить данные не только хекс-кодами, но и асками. ПС Я конечно допускаю что кому-то это может показаться неудобным из-за некоторой избыточности информации, но меня не напрягает. Тем более на работе юзаю немножко более другой кекс-редактор, там с плейн-текстом работать удобнее, чем в вин-кексе. ППС Обожаю, когда мне начинают доказывать, что то что я делаю - невозможно в принципе, а то что у меня работает - не должно работать по определению. |
|
02.10.2011 20:10 | ||
intel64 | VoVaN, гг, блокнот аски коды транслирует в реальные значения, которые будут прошиваться а кекс редактор вам показывает аски коды символов этих реальных значений. вы что, для того чтоб изменить к примеру 0E на 0F в блокноте, будете в hex редакторе аски коды этих 2-х символов править? )) | |
02.10.2011 19:54 | ||
VoVaN | Почему нет? Нормальные кекс-редакторы позволяют это делать вполне комфортно. В отличии от блохнота, в котором можно не увидеть где-то лишний пробел или какой-то битый непечатаемый символ ) | |
02.10.2011 12:11 | ||
intel64 |
в нех редакторе будете аски коды править? извращенец ) Как уже написали выше декомпилировать точно неполучится, а дизасемблировать тут вопрос. дело в том, что например в х86 архитектуре машинная инструкция состоит из опционального кода (опкода) - это команда, и операнда(ов) - это данные, которыми команда оперирует. есть такое понятие как непосредственный операнд, это данные которые находятся внутри инструкции, тоесть команды и данные идут в перемешку. В опкоде хранится инфа о размере этих данных, поэтому дизассемблер и сам процессор точно знает где будет следующая инструкция и процессор даже меняет адрес в регистре указателе инструкций на следующую прежде, чем начнет выполнять текущую. В случае же с нех форматом, смущает тип записи "данные", и инфа эта после прошивки теряется. как контроллер знает где код а где дата, видимо в перемешку не идут и хранятся в разных областях? если так, тогда корректный ассемблерный листинг получить несложно. всё предположение, я не сильно в околоконтроллерах разбераюсь, вот почитать хочу. |
|
02.10.2011 10:55 | ||
D-link |
эээ. тему создавал спехом так что разъясню. когда еще учился мы программировали контроллеры писали код на си и оно нам компилировало hex файл который мы и зашивали в контроллер. Собственно вопрос! Возможно ли обратный процесс! Потому как есть устройство1 и прошивка под него. есть устройство2 по железу идентично устройству1 но прошивка устройства2 не подходит устройству1. на форумах пишут нужно чуть чуть подрихтовать прошивку устройства2 и она становиться легко и просто на железо устройства1 в принципе мы уже прошивку отредактировали , осталось в понедельник затестить)))) |
|
02.10.2011 00:33 | ||
VoVaN |
Тут вопрос поставлен никак ) Цитата:
У ARMов CORTEXов, например, после табицы векторов есть поле, кажись 4 байта, которое после сборки хекса/бина/эльфа забито нулями, но прошиватор тудой (как ты и написал) генерит ЦРЦ и шьет с ним. Ежели потом вычитывать - там не нули, а ЦРЦ, которую, в принципе, можно относительно невозбранно поменять ручками. Вот как бэ как-то так. |
|
01.10.2011 22:16 | ||
Debian |
CRC обычно хранят не в прошивке, а пересчитывают перед самой процедурой прошивки... тут вапрос изначально неправильно поставлен... зная нужное значение CRC, надо в HEX редакторе изменить файл так, чтобы 1. он не потерял работоспособность 2. сходилась сумма профит! |
|
01.10.2011 21:56 | ||
VoVaN | Debian, нуачо, чтобы поменять кусочек - всю дизассемблить не надо (кстати нужно различать "дизассемблировать" и "декомпилировать", это две большие разницы). Сам неединожды практиковал когда всё было совсем плохо, один раз даже с помощью загрузочного вируса через ModBUS-сеть. Так что "гланды через анус" - это еще не так уж и страшно )) | |
01.10.2011 20:46 | ||
Debian |
На одном форуме по программизму МК и прочей чухни как-то подымался этот вопрос Чувак обещал подарить миллион баксов тому, кто из дубового стола обратно сделает ДУБ и пол кило железной руды (: |
|
01.10.2011 20:23 | ||
VoVaN |
А как насчет того чтобы немножко конкретизировать вопрос?! Какая архитектура? какая контрольная сумма? Какой формат? Для чего менять? Если речь идет об текстовом intel-hex - там каждая строка заканчивается своей однобайтовой контрольной суммой (афаир, однобайтовое число, которое дополняет до какой-то константы остаток от деления на 256 суммы всех значащих байтов строки). Если контрольная сумма прошивки под ядро ARM - там кажись она из таблицы векторов прерываний считается. Уточняй вопщем, а то нихрена не ясно. Балерун? ) |
|
01.10.2011 08:36 | ||
intel64 | нех редактор имеет такое же отношение к формату нех как я к балету. | |
01.10.2011 00:30 | ||
love_is | берёш нех редактор и меняеш) в чём проблема) так переделывал некоторые данные лет 5 назад когда баловался )))) | |
30.09.2011 21:36 | ||
intel64 |
несовсем ясно, что имеется ввиду под дизассемблировать HEX файл. intel HEX, это текстовый файл, так написано в википедии, и насколько я понял после прошивки остаются только двоичные данные или имелось ввиду дизасмить бинарь который проверяет себя на контрольную сумму? А что за прошивка и что меняете если не секрет? Почесав затылок, юзер дописал через 15 минут а не, почитал, дизасмят двоичные в аски виде в мнемокоды. а вот на википедии той же Цитата:
|
|
30.09.2011 10:30 | ||
D-link |
диасемблировать HEX файл Нужно в прошивке найти контрольную сумму и изменить |