Форум РадиоКот • Просмотр темы — Есть ли возможность изменить .hex файл?
Сообщения без ответов | Активные темы
ПРЯМО СЕЙЧАС: |
Автор | Сообщение |
---|---|
|
Заголовок сообщения: Есть ли возможность изменить .hex файл?
|
Первый раз сказал Мяу!
Зарегистрирован: Чт июл 14, 2011 20:12:32 Рейтинг сообщения: 0
|
Сразу извиняюсь. Может для кого то этот вопрос покажется глупым, я просто новичок в данном деле, но очень интересует данный вопрос. Возникла такая проблема. Есть прошивка для микроконтроллера в .hex файле, но нету исходника этой прошивки. А меня в этой прошивке кое что не устраивает. Вопрос. Можно ли эту прошивку преобразовать в какой нибудь язык программирования, желательно в ассемблер. Буду очень благодарен за любую информацию. |
Вернуться наверх |
Профиль
|
Реклама | |
|
|
Satyr |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 26 Рейтинг сообщения: 0
|
Arkhangel писал(а): Сразу извиняюсь. Может для кого то этот вопрос покажется глупым, я просто новичок в данном деле, но очень интересует данный вопрос. Возникла такая проблема. Есть прошивка для микроконтроллера в .hex файле, но нету исходника этой прошивки. А меня в этой прошивке кое что не устраивает. Вопрос. Можно ли эту прошивку преобразовать в какой нибудь язык программирования, желательно в ассемблер. Буду очень благодарен за любую информацию. Можно в ассемблер. |
||
Вернуться наверх | |||
Реклама | |
|
|
YS |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 70 Рейтинг сообщения: 0
|
Только в ассемблер, кстати, и можно. По крайней мере, однозначно. Софтины, выполняющие такую операцию, называются дизассемблерами. Только листинг будет плохо читаем за счет конструкций типа jmp PC+0x0D, out 0x32,0x04 и т.п. Так что геморроя избежать не удастся. |
||
Вернуться наверх | |||
Jack_A |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 61 Рейтинг сообщения: 0
|
YS писал(а): Софтины, выполняющие такую операцию, называются дизассемблерами. Не обязательно. Обычной Студией с небольшими плясками можно вытащить исходник из HEX, ну а потом, кончно, доработка напильником : вменяемые имена переменных, метки и т.д. |
||
Вернуться наверх | |||
Реклама | |
|
Выгодные LED-драйверы для решения любых задач КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения. Подобрать LED-драйвер>> |
YS |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 70 Рейтинг сообщения: 0
|
Цитата: Не обязательно. Обычной Студией… Так это, Студия — всего лишь IDE. Она полюбому запускает соответствующий модуль дизассемблера. |
||
Вернуться наверх | |||
Реклама | |
|
|
Реклама | |
|
LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон. Подробнее>> |
pyzhman |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 49 Рейтинг сообщения: 0
|
А что так скромно «можно ли»? Сюда его! |
||
Вернуться наверх | |||
Arkhangel |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
Зарегистрирован: Чт июл 14, 2011 20:12:32 Рейтинг сообщения: 0
|
А вот это обязательно, только сначала сам попробую допереть и хотя бы частично разобраться, чтобы можно было задавать внятные вопросы и получать на них такие же ответы. |
Вернуться наверх | |
DiGiCat |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 3 Рейтинг сообщения: 0
|
Под какой контроллер hex не указано даж…
|
||
Вернуться наверх | |||
ploop |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 68 Рейтинг сообщения: 0
|
Тут смотря что не устраивает. Если поправить пару условных переходов — дизассемблирование имеет смысл, а если это «кое-что» потребует кардинального изменения алгоритма, то… проще заново написать. Во всяком случае быстрее. |
||
Вернуться наверх | |||
Arkhangel |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
Зарегистрирован: Чт июл 14, 2011 20:12:32 Рейтинг сообщения: 0
|
Контроллер pic12f629, хочу разобрать и понять ту часть программы которая отвечает за вывод графического изображения и меняющейся информации на дисплей от нокии 3310. Для примера хочу разобрать прошивку термометра. |
Вернуться наверх | |
DiGiCat |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
||
Карма: 3 Рейтинг сообщения: 0
|
В теме про дисплеи от сотовых полно разного было… и про 3310+12F629
|
||
Вернуться наверх | |||
Arkhangel |
Заголовок сообщения: Re: Есть ли возможность изменить .hex файл?
|
Зарегистрирован: Чт июл 14, 2011 20:12:32 Рейтинг сообщения: 0
|
|
Вернуться наверх | |
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
Наши партнеры и ученики периодически спрашивают: «Какой HEX-редактор посоветуете? Стоит ли платить за WinHEX?».
Давайте сравним четыре различных редактора и определим наиболее подходящий.
Но сначала предлагаю разобраться, какие задачи решает мастер по чип-тюнингу используя редактор HEX:
- Сравнение двух прошивок.
Например вы купили тюн в комплекте со стоковой прошивкой и вы не уверены, что это именно та версия прошивки, что и в автомобиле, с которым вы сейчас работаете. Сравните сток из купленной прошивки со считанной из вашего автомобиля. - Перенос индивидуальных данных (перенос синхронизации).
Обычно в справке вашего загрузчика написано, какие данные нужно перенести из родной прошивки в тюн. Без HEX-редактора тут не обойтись (либо придется покупать специальные утилиты).
Некоторые загрузчики умеют самостоятельно переносить такие данные при записи.
Любой HEX-редактор хорошо справляется с редактированием прошивок, это его основная функция. - Поиск идентификаторов в файле прошивки.
Бывает необходимо, когда вы не уверены, что у вас сохранились верные данные. Можно заглянуть внутрь файла и найти строки идентификации.
Все HEX-редакторы умеют делать поиск ASCII-строк. - Подготовка прошивки под загрузчик.
Загрузчики могут сохранять данные из блока управления немного по- разному. Под конкретный загрузчик может потребоваться удалить лишние данные, либо наоборот, добавить области, заполненные нулями или FF. - HEX-редактор также позволит вам сравнить два файла прошивки и определить, содержится ли в них одна и та же программа, либо это совершенно разные версии софтов. Модификация одной версии ПО будет отличаться незначительно, может быть десятками или сотнями байт.
HxD Hex Editor
Наш первый претендент — программа от немецких разработчиков. Скачать HxD можно совершенно бесплатно по ссылке: https://mh-nexus.de.
Данный редактор подойдет любителям минимализма, он очень простой, интуитивно понятный, за него не нужно платить, есть хорошая локализация на русский язык.
Из явных недостатков — очень простые функции сравнения прошивок. Нет синхронного просмотра двух прошивок. Нет анализа и карты различий.
FlexHEX
Программа бесплатна для домашнего использования, скачать можно на сайте разработчика по ссылке: http://www.flexhex.com
FlexHEX — это полнофункциональный редактор, сложно сказать, каких функций ему не хватает.
Из особенностей стоит отметить возможность тонкой настройки сравнения файлов, а так же наглядной карты.
Посмотрите на скриншоте ниже открыты два файла одинаковой прошивки, которые отличаются только наличием области данных, заполненной FFh в одном из файлов, что очень наглядно отображено в графическом виде в левой части окна программы.
Из явных недостатков программы удалось выявить только один — приложение иногда неожиданно закрывается без всяких причин.
С учетом бесплатности FlexHEX для частного мастера — рекомендуем как минимум попробовать.
Приобрести коммерческую версию можно по подписке за 59.95$ в год, что может быть неудобно и выглядит достаточно дорого на фоне конкурентов, которых мы рассмотрим далее.
010 Editor
Единственный мультиплатформенный редактор, который удалось найти и попробовать. Существуют версии для Windows, Linux и MacOS.
Скачать демо-версию можно по ссылке: https://www.sweetscape.com/
Коммерческая версия обойдется в 129.95$, а для домашнего использования — 49.95$.
Программа обладает всем необходимым функционалом, есть графические карты содержимого файла и сравнения файлов, синхронизированный просмотр.
Никаких явных недостатков программы обнаружено не было — поэтому однозначно наши рекомендации.
WinHEX
Один из самых известных и популярных редакторов. В том числе, благодаря существованию пропатченных версий.
Скачать дистрибутив можно по ссылке: http://www.winhex.com/winhex/
Без регистрации программа проработала около месяца — потом перестала запускаться. Лицензию можно приобрести примерно за 2600 рублей — цена указана в вашей местной валюте, поэтому периодически немного изменяется.
В отличии от двух предыдущих редакторов, тут полностью отсутствует какое-либо графическое отображение содержимого файлов и результатов сравнения.
Тем не менее, WinHEX — самый дешевый HEX-редактор. В нем есть функция синхронного просмотра двух файлов, в том числе и с отображением отличающихся байт.
Что же в итоге выбрать конкретно вам?
Зависит от типа лицензии, которая вам требуется. Большинству частных мастеров подойдет лицензия для домашнего использования, а следовательно можно обойтись бесплатными версиями.
Остались вопросы — задавайте их в комментариях.
Напишите, каким редактором пользуетесь вы. Нужно ли выпустить обучающие видео по работе с HEX-редакторами?
Чтобы заказать модификацию вашей прошивки — переходите по ссылке.
Юрий Щёголев | 02.12.2021 | В рубриках: СТАТЬИ
Формат файла hex, сокращённо от «шестнадцатеричный» или «base-16», является структурой необработанных данных, которой следуют все файлы, хранящиеся на вашем компьютере. Хотя буквально каждый документ хранится в этом формате, найти его на ПК практически невозможно. Хотя далеко не все знают, что возможность напрямую изменять необработанные биты и байты на ПК иногда может быть очень полезна.
Что обозначает расширение HEX
Система счисления, которую люди используют для подсчёта, называется десятичной (числа от 0 до 9), и была изобретена персами около 6000 лет назад. В 1950-х или 1960-х годах IBM формализовала шестнадцатеричную систему счисления, которая является коротким способом представления двоичных данных. Вместо использования цифр 0-9, шестнадцатеричное число использует цифры от 0 до F. Достигнув конца числовых «цифр», вы просто увеличиваете число влево на единицу, точно так же, как вы делаете это с системой счёта десятичных чисел.
Файлы с расширением HEX имеют те же свойства, что и двоичные. Все байты размещаются один за другим. Информация об адресе или контрольные суммы не добавляются. Единственная разница с двоичным форматом такова, что каждый байт преобразуется в 2 символа ASCII в диапазоне 0-9 и A-F, представляющие 2 шестнадцатеричные цифры. Эти символы сгруппированы по строкам. Номер пары в строке обычно может варьироваться от 1 до 255, где наиболее общей длиной являются 16 или 32 пары. Каждая строка заканчивается парой CR (ASCII-значение $ 0D) или CRLF (ASCII). Для работы с такими документами требуется специальная программа-редактор хекс-файлов. Она в удобном виде выведет всю информацию и позволит достаточно комфортно её воспринимать и изменять.
Как открыть файл HEX
Далеко не все являются программистами, и иногда открыть файл с расширением HEX может понадобиться обычному человеку, чтобы посмотреть в нём некую информацию. На самом деле для такой простой задачи вполне достаточно обычного Блокнота – стандартного приложения, которое имеется в любой системе Windows. Ведь этот файл, по сути, является текстовым, просто в нём записана специфическая информация, но обычными символами.
Для этого достаточно кликнуть на файле правой кнопкой мыши, выбрать в меню пункт «Открыть» или «Открыть с помощью», затем «Выбрать из списка установленных программ», а далее просто выбрать стандартный Блокнот. Снимите галочку с пункта «Использовать выбранную программу для всех файлов этого типа» — вдруг вы его потом будете открывать другой программой. Можно просто открыть Блокнот, а файл в него перетащить, и он откроется.
Гораздо удобнее для открытия таких файлов подходит другая версия Блокнота – Notepad++. Скачать можно по этой ссылке. Эта программа также есть у многих, так как более удобна. Но она может к тому же распознавать многие языки программирования и файлы HEX в ней выглядят гораздо удобнее, так как есть выделение цветом. Notepad++ представляет собой как бы примитивный HEX-редактор, и этим можно пользоваться совершенно свободно.
Так выглядит HEX-файл, открытый в Notepad++. В стандартном Блокноте так же, но без цвета.
А теперь рассмотрим более подробно, для чего может понадобиться открывать, а тем более изменять файлы с шестнадцатеричным содержимым. Кстати, если вы собираетесь делать это часто, то лучше скачайте и установите специальный HEX-редактор – их в Интернете довольно много. Некоторые из них подробнее рассматриваются далее.
Взлом игр и файлов
Популярная причина, по которой вы можете использовать шестнадацтеричный редактор, – взлом игр. Вы можете загрузить документ сохранения игры и изменить сумму денег, например, от 1000 до 1000000 долларов. В более поздних играх всё сделано намного сложнее. Многие современные игры используют либо сжатие, либо шифрование, что во много раз затрудняет декомпиляцию состояния сохранения или игры. Тем не менее, некоторые игры по-прежнему позволяют редактировать определённые переменные, например, Sonic Spinball. В дополнение к просмотру файлов игры, из сохранённого файла иногда можно извлечь другую важную информацию, к которой у вас иначе не было бы доступа. Это сильно зависит от типа файла и того, какую информацию вы ищете, но использование шестнадцатеричного редактора полезно для определения того, что именно находится в документе.
Отладка и редактирование
Наконец, еще одна популярная причина, по которой вы можете использовать шестнадцатеричный редактор, – это если вы программист, и вам нужно отладить код. Вместо того, чтобы возвращаться к перекомпиляции кода, для проверки шаблона может потребоваться простое шестнадцатеричное редактирование. Но для начала обязательно убедитесь, что у вас есть резервная копия, прежде чем изменять какие-либо файлы с помощью шестнадцатеричного редактора.
Какие hex-редакторы использовать
Шестнадцатеричный редактор представляет собой софт, используемый для просмотра и редактирования бинарных файлов. Двоичный документ представляет собой документ, который содержит данные в машиночитаемой форме. HEX-редакторы позволяют изменять содержимое необработанных данных файла. Поскольку шестнадцатеричный редактор используется для редактирования двоичных файлов, их иногда называют двоичным редактором или редактором двоичных файлов. Если открыть документ с помощью шестнадцатеричного редактора, появится сообщение о том, что документ редактируется в шестнадцатеричном формате, а процесс использования шестнадцатеричного редактора называется шестнадцатеричным редактированием. Шестнадцатеричные редакторы отличаются от обычных текстовых рядом функций. Основой шестнадцатеричного редактора является то, что они отображают необработанное содержимое файла. Нет кодирования или перевода в текст – только необработанный машинный код. Во-вторых, номера строк вместо того являются адресом смещения от начала файла. Мы подобрали несколько лучших бесплатных программ для просмотра и редактирования документов HEX.
HxD
HxD – это бесплатный шестнадцатеричный редактор, который может открывать и изменять компьютерный код. Это очень мощная утилита в правильных руках, которая может проверять, сравнивать и диагностировать файлы, диски, образы дисков, память и журналы, а также исправлять ошибки и восстанавливать структуру диска.
Преимущества:
- Действительно большие данные – последняя версия HxD обрабатывает большие наборы данных. Если он помещается на диск, HxD сможет его открыть.
- Стандартные параметры – HxD содержит множество полезных дополнений, таких как генератор контрольных сумм, поддержка нескольких наборов символов, редактор ОЗУ, уничтожитель файлов, разбиение и объединение, неограниченное количество отмен и портативная версия.
- Экспорт данных – программа экспортирует данные в исходный код (C, C#, Java, Pascal и VB.NET) или в шестнадцатеричные форматы.
Недостатки:
- Не для неопытного пользователя, но это не недостаток. Программа ориентирована на продвинутых пользователей.
DeltaHex Editor
Один из лучших hex-редакторов на основе библиотеки deltahex. Используйте действие «Открыть как шестнадцатеричный» в главном меню «Файл» или в контекстном меню файлов проекта.
Характеристики:
- Отображение данных в виде шестнадцатеричного кода, предварительный просмотр текста.
- «Вставить» и «Перезаписать» режимы редактирования.
- Поддержка выбора и буфера обмена.
- Отмена/повтор.
- Выбор кодировки.
- Отображение непечатных символов.
- Коды также могут быть двоичными, восьмеричными или десятичными.
- Поиск текстового/шестнадцатеричного кода с соответствующей подсветкой.
- Дельта-режим – изменения сохраняются только в памяти до сохранения.
- Поддержка огромных файлов.
Free Hex Editor Neo
Free Hex Editor Neo – это самый быстрый бесплатный редактор двоичных файлов для платформы Windows. Алгоритмы обработки данных Neo Hex Editor чрезвычайно оптимизированы и тщательно настроены для обработки операций с большими файлами.
Характеристики программы:
- Неограниченное Undo/Redo.
- Редактировать, Копировать, Вырезать, Вставить, Удалить, Заполнить, Импорт/Экспорт, Вставить шаблон/файл, Изменить размер файла, Смещение к началу, Изменить биты.
- Поиск и замена шаблонов.
- Подсветка.
- Байты, слова, двойные слова, группировка четырёх слов.
- Шестнадцатеричное, Десятичное, Восьмеричное, Двоичное и т.д. представление данных.
- Изменение атрибутов файла.
- Анализ данных буфера обмена.
- Создание бинарных патчей, поиск/замена регулярных выражений.
- Многоязычный интерфейс.
Функции и возможности утилиты:
- Статистика и шестнадцатеричный анализатор – модуль анализа двоичных данных позволяет анализировать распределение байтов, символов и строк по шестнадцатеричным дампам и текстовым данным. Анализатор двоичных файлов Neo поддерживает шаблоны следующих типов: шаблоны символов и строк ASCII/Unicode, шаблоны данных Hex, Decimal, Octal, Binary, Float, Double и RegEx (Regular Expression).
- Графическое представление проанализированных данных в пользовательском интерфейсе Neo – софт поддерживает тепловую карту и визуализацию данных гистограммы. Вы также можете анализировать двоичный документ в форме описательной статистики: среднее значение, дисперсия выборки, стандартное отклонение, стандартная ошибка, эксцесс, асимметрия, медиана, диапазон, минимальное, максимальное, сумма и т.д.
- Сравнение файлов – Neo представляет собой расширенный инструмент сравнения в шестнадцатеричном формате. Встроенный редактор hex позволяет сравнивать 2 шестнадцатеричных файла, используя два разных алгоритма сравнения: простой (от байта к байту) и алгоритм разности (сопоставление блоков).
- Редактор ОЗУ – модификатор процесса позволяют редактировать память и обрабатывать данные, загруженные в ОЗУ ПК операционной системой. RAM Explorer предоставляет возможность легко просматривать загруженные процессы и переходить к определённым смещениям. Затем вы можете напрямую обращаться к этим блокам данных и редактировать их в окне шестнадцатеричного редактора. Таким образом, Hex Editor Neo предоставляет возможность просматривать и редактировать данные бинарных программ прямо в оперативной памяти.
- Дизассемблер – программа также позволяет разбирать исполняемые файлы x86, x64 и .NET. Neo Assembler View поддерживает следующие наборы инструкций: x86, x86-64, MMX, SSE, SSE2, 3DNow!, MSIL. Вы можете загружать файлы символов как для 32-битных, так и для 64-битных исполняемых файлов. Neo – просто идеальный редактор dll/exe!
- Двоичные шаблоны/редактор структуры – программа поддерживает синтаксический анализ внутренней структуры следующих файлов: exe, dll, sys, ocx, bmp, png, avi, rar, icc, vhd, zip, tiff, wav, tga, psd, pic, pcx, pal, emf EPS.
- Модуль Structure View – позволяет настраивать двоичные шаблоны. Вы можете написать своё собственное определение структуры файла, используя внутренний язык, подобный C/C++, почти для любого двоичного документа. Например, если вы хотите редактировать файлы данных, вам нужно сначала описать файловую структуру, а затем привязать её к конкретному файлу, используя специальное окно редактора.
- Анализатор структуры файла делает двоичную корректировку намного проще, чем просто редактирование необработанных шестнадцатеричных байтов. Открывайте, просматривайте и редактируйте файлы hex/bin с небывалой лёгкостью!
Hex Editor Neo предоставляет базовые, расширенные и даже инновационные функции. Шестнадцатеричное редактирование теперь доступно каждому начинающему пользователю!
PSPad
Любимый шестнадцатеричный редактор большинства программистов. PSPad, помимо того, что он является отличным редактором текста и кода, предлагает опцию «Открыть в HEX Editor…», которая запускает специальный режим редактирования. Когда вы находитесь в этом режиме, вы можете увидеть местоположение и шестнадцатеричные значения каждого бита файла. У вас есть два варианта корректировки – вы можете редактировать шестнадцатеричные значения по местоположению, или справа у вас есть буквенно-цифровое представление этого значения, которое вы также можете редактировать.
XVI32
XVI32 также очень способный шестнадцатеричный редактор. Как и в PSPad, вы можете редактировать шестнадцатеричные значения напрямую или через отображение символов. В нём также есть несколько расширенных инструментов редактирования шестнадцатеричных кодов, таких как калькулятор адресов для проверки смещений и других специфичных для шестнадцатеричных данных параметров, которые могут помочь вам обойти шестнадцатеричный документ. Если вы, конечно, знаете, что делаете.
Знание того, как работает ваш ПК, становится всё более и более важным, поскольку техника становится всё проще и проще в использовании. Если у вас остались вопросы относительно редактирования шестнадцатеричных файлов, оставьте комментарий под этой статьёй.
Конвертирование прошивок
- — Мой программатор понимает только BIN и HEX , а я скачал прошивку, а она в каком-то формате E2P. Как сделать эту прошивку в HEX или BIN ?
Так, как меня задолбали подобными вопросами по E-mail, обьясняю тут основы, что-бы было куда ткнуть носом. Сперва вкратце, потом, буду дополнять, если будет необходимость.
Не буду вдаваться в подробности, почему родилось много различных форматов для хранения дампов памяти (прошивок), скажу только, что все файлы прошивок, изначально, делятся на текстовые и бинарные.
Текстовые
— файл содержит только печатные символы ASCII (коды от 32h до FFh)
Бинарные
— файл содержит все символы ASCII, включая непечатные (коды от 00h до FFh)
Скажу сразу — не надейтесь на расширение файла.
По причине незнания, могут присвоить любое — EEP, DAT, MEM, NVM, HEX, и тд.
Сперва, определитесь, в каком реально, формате, ваш файл. Для наглядности, будем открывать файл в блокноте, не надеясь на то, что файлу присвоено правильное расширение. Совет — всегда проверяйте размер файла и обзаведитесь нормальным HEX-редактором и используйте его. Простейший редактор я приатачил.
Для примера, один и тот-же файл прошивки, я переконвертировал в четыре различных формата: HEX, BIN, E2P, TXT.
Далее, кратко рассмотрим основные отличия этих форматов.
Краткое описание форматовТекстовые
:
HEX (шестнадцатеричный)
Универсальный формат, понимает большинство программаторов.
Новая строка начинается с двоеточия, далее адрес, ….
- [*:295134b91a]Описание форматов HEX-файлов
HEX Файл — текстовый файл определённой структуры
Файл состоит из текстовых строк следущеюго формата. Все числа в HEX
Hачинается с ‘:’. Далее 2 символа — число байт данных.
4 символа — начальный адрес данных( адрес первого байта строки ).
2 символа — если последняя строка здесь ’01’ иначе ’00’
Далее байты данных по 2 символа на байт. В конце 2 символа — контрольная сумма — дополнение до 2 суммы байтов данныхВот пример данных в hex-формате:
:100AF00022AB12E1C9F5D56FE60F677DE6F01F1F47
А вот разбивка по полям:
:LLOOOOSSD0D1D2D3D4D5D6D7D8D9DaDbDcDdDeDfCS
Здесь (все числа — шестнадцатеричные):
LL — число байт, упакованных в данной строке
OOOO — смещение байта D0 в двоичном образе
SS — тип записи (00 — данные, 01 — конец файла)
D0-Df — шестнадцатеричное представление очередных LL байт данных.
СS — контрольная сумма — сумма всех байт в строке должна быть равна 0.Так отмечается конец файла:
:00000001FF
Интересно, что этим кодом можно передавать двоичные данные даже по телеграфу.
В HEX-файлах для PIC-ов данные распределены следующим образом:
0000h — 3FFFh: Program memory — память програм
4000h — 400Fh: Config memory — область памяти в которой содержится
4000h — 400Dh: идентификатор пользователя (любая информация)
400Eh: идентификатор производителя (для каждого чипа свой) — поле «ID»
4000F: конфигурационное слово (тип генератора, защита от записи и др.) — поле «Config»
4200h — 43FFh: Data memory — память данных
TXT (текстовый)
Излюбленный формат корейцев для хранения дампа.
Почти что HEX, но без указания адресов.
То есть, просто, шестнадцатеричное представление данных в текстовом виде. Без всяких контрольных сумм, адресов, и тд.
Бинарные
:
BIN (бинарный)
Универсальный формат, понимается фактически всеми программаторами.
На мой взгляд, наиболее оптимален для хранения дампов.
Cобственно содержит те-же коды, что и в памяти. Соответственно, размер файла, равен размеру памяти.
E2P (бинарный)
Изобретение от Pony, тот-же BIN, но в начало файла, добавлена «шапка» 152 байта.
Всегда есть сигнатура —
E2P!Lanc
Теперь по конвертированию:
BIN <-> HEX
Програмки прилагаются. Для конвертирования удобно накидывать файл, мышкой, на программу.
TXT <-> BIN
Оригинальная програмка прилагается. В свое время, долго искал подобную.
E2P -> BIN
В любом шестнадцатеричном редакторе, удаляете первые 152 байта.
Это основные форматы, и для большинства Мастеров, все это известно.
Об «эксклюзивных», и некоторых тонкостях, разьясню позже (если будет время).
Ну, а кому не лень, и есть желание, может продолжить тему …
► HEDIT.rar
► BIN2TXT.rar
► BIN2HEX.rar
Помогите разобратся с HEX редактором — ChipTuner Forum
Чип-тюнинг коммерческой техники Кама3, ГАЗ от SMS-Soft
Прошивки Hyundai SIM2K от Strit | Прошивки Magneti Marelli VAG от Art-Pro | Прошивки Peugeot/Citroen от Art-Pro | Прошивки Kia SIM2K-241 от Strit |
Помогите разобратся с HEX редактором
-
Закрытая тема.
-
offline
машинист автогрейдера
- Регистрация:
- 12.08.2011
- Сообщений:
- 7
- Адрес:
- Казахстан, Костанай
Здравствуйте!У меня такой вопрос как научится менять калибровки в HEX редакторе? Понимаю что в рамках форума не научусь, но может кто подскажет где искать… через гугл ничего не могу найти( хотелось бы узнать как именно находить нужные переменные из всей этой матрицы байтов
-
offline
Инженер
- Регистрация:
- 27.01.2013
- Сообщений:
- 63
- Адрес:
- Москва
Кстати,тоже заинтересовался этим вопросом, пока понял, что это связанно с асемблером, вот только никак не могу найти программку по десемблированию.
rebe, я здесь конечно новичек, но то что ты предложил это очень опасно, как пример. Взял eeprom и изменил там что нибудь и пока искал что изменил через софт потерял строку, в итоге изменил подачу кокого нибудь напряжения или снял защиту и будет тогда вуаля. -
offline
автоэлектрик
- Регистрация:
- 13.03.2009
- Сообщений:
- 1,643
- Адрес:
- Гатчина, Ленинградская обл
ЗУЙОК,Сохранять надо всегда дампы, прежде чем ковырять. Не поможет вам программка.
sychyov1991,
Купите редактор калибровок и не мучайтесь.
Последний раз редактировалось leha; 04.03.2013 в 01:56. -
offline
деахност
- Регистрация:
- 22.01.2006
- Сообщений:
- 5,273
- Адрес:
- Салехард
Я думаю на этой конференции нет идиотов, которые работают с оригиналом дампа, а не с его дублем.
-
offline
Инженер
- Регистрация:
- 27.01.2013
- Сообщений:
- 63
- Адрес:
- Москва
Есть уже редактор.
Но к примеру нужно скрутить километраж в мозгах?
Для этого на сколько я знаю необходимо в определенной строке заменить шеснадцатиричные символы.Добавлено через 4 минутыСогласен откатить всегда можно. Но если что то изменил и эти изменения вырожаються не сразу?
Последний раз редактировалось ЗУЙОК; 04.03.2013 в 02:02.Причина: Добавлено сообщение
-
offline
автоэлектрик
- Регистрация:
- 13.03.2009
- Сообщений:
- 1,643
- Адрес:
- Гатчина, Ленинградская обл
ЗУЙОК,дело за малым, найти строку, изменить значения и подсчитать контрольку
-
offline
Инженер
- Регистрация:
- 27.01.2013
- Сообщений:
- 63
- Адрес:
- Москва
Вы меня конечно извините, я никого не хочу обидеть, просто охото разобраться с НЕХ. Я понимаю что это код записи программы (алгоритма) в соответствии с которым работает ЭБУ. Вот и интересно где в этом коде что?Добавлено через 2 минуты
Вот я это и имею ввиду, как найти эту строку? К примеру один ЭБУ имеет 10 строк, другой 11 и не факт, что в обоих 5 строка отвечает за километраж.Добавлено через 5 минут
Мало ли может кто нибудь подскажет где моно найти информацию по строкам в НЕХ редакторе?
Находил информацию только по одометру.Последний раз редактировалось ЗУЙОК; 04.03.2013 в 02:14.Причина: Добавлено сообщение
-
offline
Диагност-ремонтник
- Регистрация:
- 01.04.2001
- Сообщений:
- 5,709
- Адрес:
- Сухум. Абхазия.
Вот парни, ну вот как вы можете не обидеться на достойные ответы,ну? Задайте нормально вопрос, типа, «я пытаюсь изменить километраж в регистраторе/доске Роллс-Ройса. Подскажите, по какому адресу и в каком виде лежить пробег и контролька».
Вот тогда вам нормальным языком ответят или подскажут и попытаются помочь.
А так как в топике задано — ну ниачом ваще, соответственно ниачомные ответы. Какой нех-редактор…винхекс, тоталком или стп или чо там ещё. Любой НЕХ-редактор — это обычная отвёртка. А что будем ей крутить, по топу неясно.
Как-то-каг-бе так. -
offline
машинист автогрейдера
- Регистрация:
- 12.08.2011
- Сообщений:
- 7
- Адрес:
- Казахстан, Костанай
с дизассемблером как раз проблем нет, от простенького Hiew до IDA Ильфака ГильфановаДобавлено через 49 минут
Tom, но ведь мы же не будем ради каждого байта тему на форуме создавать) понимайте нам как начинающим интересен не ответ на задачу а сам метод решения
Последний раз редактировалось sychyov1991; 04.03.2013 в 08:08.Причина: Добавлено сообщение
-
offline
Автодиагностика
- Регистрация:
- 12.09.2006
- Сообщений:
- 6,875
- Адрес:
- Россия, Крым, г. Бахчисарай
sychyov1991, так ежели Вы знаете это страшное слово DASM — то где же Вы врете?
-
offline
машинист автогрейдера
- Регистрация:
- 12.08.2011
- Сообщений:
- 7
- Адрес:
- Казахстан, Костанай
так с него то все и началось
наткнулся на статью в team rs где был упомянут IDA, начал грызть ассемблер, шестнадцатиричное кодирование так и дошел до HEXаДобавлено через 10 минут
Deniska, с СТпро разобрался на ура) помогли хорошие знания теории двс, вот и открываю для себя новый мир программирования
Последний раз редактировалось sychyov1991; 04.03.2013 в 14:47.Причина: Добавлено сообщение
-
offline
Авторемонт
- Регистрация:
- 04.12.2006
- Сообщений:
- 3,922
- Адрес:
- Краснодарский край
А может не стоит топить себя в этом мире программирования? Тем временем семья может с голоду опухнуть. Все давно придумано — программаторы, кальки к ним и тд и тп.
Проще заплатить тем кто это уже изобрел и зарабатывать дальше с помощью приобретенных инструментов. Все познать сегодня нереально. -
offline
Автомеханик-Диагност
- Регистрация:
- 02.12.2008
- Сообщений:
- 2,450
- Адрес:
- Донбасс Снежное
У меня закралось сомнение,что не все программисты полностью в этом разбираются,куда уж нам,простым смертным.
-
offline
машинист автогрейдера
- Регистрация:
- 12.08.2011
- Сообщений:
- 7
- Адрес:
- Казахстан, Костанай
Кубань, согласен, слишком углублятся тоже смысла нет, но вот сложилось мнение что профессиональный чиптюнер, коим я и собираюсь стать, должен уметь работать и с хекс редактором и с дизассемблеромДобавлено через 17 минут
это точно) из программистов сейчас с ассемблером работают только хакеры и крэкеры
Последний раз редактировалось sychyov1991; 04.03.2013 в 17:56.Причина: Добавлено сообщение
-
offline
Авторемонт
- Регистрация:
- 04.12.2006
- Сообщений:
- 3,922
- Адрес:
- Краснодарский край
Лишнее это сейчас, все есть в готовом виде. Спросите здесь у любого коллеги — кому-то мешает незнание тонкостей программирования зарабатывать свой кусок хлеба на ремонте и диагностике авто.
Мне лично это нисколько не мешает.Последний раз редактировалось Кубань; 04.03.2013 в 18:06. -
offline
Инженер
- Регистрация:
- 27.01.2013
- Сообщений:
- 63
- Адрес:
- Москва
Кстати разговаривал тут со знакомыми программистами, они сказали что из НЕХ вернуть первоначальный экзешник очень тяжело.
-
Сейчас диагностика
- Регистрация:
- 05.03.2006
- Сообщений:
- 15,743
- Адрес:
- г.Курчатов
По моему это то же самое, когда есть ручка, бумага, а человек, прежде чем что то написать, решил самостоятельно освоить изготовление бумаги (т.е. вырастить лес, построить завод по переработке древесины в бумагу, также освоить производство чернил, ручек…) и только после этого приступить к написанию того, что он и хотел собственно делать.
-
offline
Инженер
- Регистрация:
- 27.01.2013
- Сообщений:
- 63
- Адрес:
- Москва
Ну не совсем так, ни что не мешает к примеру менять колибровки и параметры в софте и при этом изучать НЕХ, просто разобравшись с НЕХ значительно расширяются возможности.
-
offline
машинист автогрейдера
- Регистрация:
- 12.08.2011
- Сообщений:
- 7
- Адрес:
- Казахстан, Костанай
да в принципе нам как таковой экзешник сам и не нужен.. ну насколько я понял
достаточно будет кода дизассемблера и знать где находятся нужные данные. кстати уже научился находить индетификационные данные в прошивке, мелочь а приятно)) пока разбирался много что понял, буду капать дальше! Что нибудь нарою отпишусь
Добавлено через 7 часов 19 минут
Если конечно администрация не против)
Последний раз редактировалось sychyov1991; 07.03.2013 в 20:35.Причина: Добавлено сообщение
-
Закрытая тема.
Далеко не все файлы можно редактировать в текстовых редакторах. Например, при открытии картинки в Word мы увидим только набор случайных символов. А попытка сохранить его приведёт к потере данных. Всё дело в том, что для изменения двоичных файлов необходимо использование специальных редакторов. Hex Editor Neo предоставляет все необходимые функции для редактирования файла в шестнадцатеричном режиме.
К сожалению, спокойную работу в Hex Editor Neo периодически нарушает всплывающее рекламное сообщение с предложением использования платной версии программы. Появляется оно при попытке выделения нескольких символов. Но также быстро его можно закрыть и продолжать работу.
В первую очередь открываем любой файл и видим его шестнадцатеричное представление. В правой части окна программы отображается символьное представление данных в файле.
Слева и сверху от области редактирования указаны адреса, позволяющие быстро определить адрес смещения относительно начала файла.
Для редактирования данных в файле просто ставим курсор на байт в шестнадцатеричном блоке или на символ в текстовом блоке Hex Editor Neo и вводим текст. Чтобы изменить шестнадцатеричный код, необходимо знать, какой код соответствует определённому символу. Для этого достаточно найти таблицу ASCII-кодов. Изменённые байты отображаются красным цветом.
Редактор Hex Editor Neo поддерживает стандартные функции копирования, вставки, вырезания, удаления. Есть в программе режим вставки (Insert Mode), когда при вводе символов все остальные данных отодвигаются относительно текущей позиции. Кнопка [Modify Bits] открывает окно побитного редактирования байта. Здесь можно просто включать/выключать кнопки, соответствующие каждому из восьми битов, присваивая, соответственно, нулевое или единичное значение биту. Кроме того, в битовом редакторе доступны такие операции, как быстрое обнуление или «объединичивание» всех битов, инвертирование битов. Можно изменить байты и вручную, просто введя необходимую последовательность единиц и нулей. А три режима позволяют увидеть шестнадцатеричное, десятичное или восьмеричное представление редактируемого байта.
Функция Fill редактора Hex Editor Neo позволяет заполнить выделенные байты указанными данными. Просто выделяем несколько байтов, жмём кнопку [Fill] и вводим символ, который будет автоматически подставлен. Здесь же есть список типов данных, выбираемых в соответствии с вводимой информацией. Например, если мы хотим заменить выбранные байты на символ «а», выбираем тип String.
Полезна функция Go to offset, помогающая быстро перейти на указанный адрес (байт) в файле. Отметим также возможность изменения размера файла (Change File Size). Можно указать новый размер файла как в шестнадцатеричном представлении, так и в более привычном десятеричном (байты), а также в Килобайтах, Мегабайтах и Гигабайтах. В поле Resulting file size при этом отображается итоговый размер файла. При уменьшении размера лишние байты просто отбрасываются, а при увеличении заполняются нулями.
Мы рассмотрели основные функции Hex Editor Neo. Часть команд в этом редакторе не работает и при попытке их использования открывается уже упомянутое рекламное сообщение. Тем не менее, рассмотренных возможностей программы вполне достаточно для редактирования шестнадцатеричных кодов в файлах.
Характеристики:
Язык интерфейса: английский
ОС: Windows XP, Vista
Размер файла: 8,4 Мб
Лицензия: бесплатная
0 / 0 / 0 Регистрация: 29.12.2017 Сообщений: 9 |
|
1 |
|
Редактирование прошивки29.12.2017, 17:41. Показов 7789. Ответов 7
Доброго Господа… ОООчень много разделов не знаю в какой написать.. так что направте в нудный раздел или посоветуите..
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
29.12.2017, 17:41 |
7 |
632 / 143 / 58 Регистрация: 08.04.2015 Сообщений: 367 |
|
29.12.2017, 18:09 |
2 |
99% прошивок хранят свои контрольные суммы. Для успешного редактирования надо знать место хранения и алгоритм расчёта КС.
0 |
0 / 0 / 0 Регистрация: 29.12.2017 Сообщений: 9 |
|
29.12.2017, 19:04 [ТС] |
3 |
Спасиб за ответ…. Значит это не легкая процедура ((
0 |
C++/Delphi/Asm/Py/PHP 6103 / 1858 / 210 Регистрация: 14.12.2014 Сообщений: 3,846 Записей в блоге: 12 |
|
29.12.2017, 21:39 |
4 |
Спасиб за ответ…. Значит это не легкая процедура (( Но и не факт, что шибко тяжёлая. В качестве контрольной суммы может быть проверка, что сумма всех байтов = 0. Просто просуммируйте все байты прошивки и проверьте результат. Если получится 0, постарайтесь заменить ещё какой-нибудь байт, малозначащий (может, последний?), чтобы сумма была = 0.
0 |
0 / 0 / 0 Регистрация: 29.12.2017 Сообщений: 9 |
|
30.12.2017, 13:21 [ТС] |
5 |
Гениальные люди здесь!!! спасибо Евгений!!! к как это проще это можно сделать ?? (просуммировать)
0 |
0 / 0 / 0 Регистрация: 29.12.2017 Сообщений: 9 |
|
30.12.2017, 13:30 [ТС] |
6 |
просто как пример загрузил похожую прошивку
0 |
1156 / 635 / 108 Регистрация: 15.05.2012 Сообщений: 3,877 |
|
30.12.2017, 16:19 |
7 |
Запустите в симуляторе протеус. Он сам скажет где и что надо подрихтовать. Либо лапками. Суммируете по модулю 256 все байты строки прошивки кроме последнего. Вычитаете из 256 получившуюся сумму и вставляете этот байт последним в строку. Усё.
0 |
0 / 0 / 0 Регистрация: 29.12.2017 Сообщений: 9 |
|
30.12.2017, 16:53 [ТС] |
8 |
Спасиб, никогда не работал в данном симуляторе но слышал, ща качну буду разбираться
0 |