Вверх ↑
Этот топик читают: Гость
Ответов: 8
Рейтинг: 0
#1: 2014-06-27 02:21:03 ЛС | профиль | цитата
Всем привет , есть hex файл(прошивка пик контроллера) , в хекс файле с помощью графического меню нужно изменять значение причем в области еепром прошивки , пытался открыть сначала файл затем посмотреть в текстовом редакторе с помощью элемента hex,показывает прошивку но непонятно где там менять байты ,в хекс редакторе конечно можно заменить и затем сохранить файл,но хочется чтобы не путаться сделать красиво в графическом виде,вопрос какими элементами пользоваться для просмотра хекс файла ,замены и сохранения ,саму оболочку програмы думаю сделать наверно удасться
карма: 0

0
Ответов: 4631
Рейтинг: 749
#2: 2014-06-27 11:17:16 ЛС | профиль | цитата
А зачем просмотр? Оболочка должна сама знать/определять куда писать/читать. Для работы с файлом использовать FileStream, DataToFile. Для преобразования данных Convertor, ConvertorEx, StreamConvertor.
карма: 26

0
Ответов: 1343
Рейтинг: 31
#3: 2014-06-27 13:30:04 ЛС | профиль | цитата
code_33899.txt

замена байт в файле
карма: 2

0
файлы: 1code_33899.txt [1.5KB] [295]
Ответов: 8928
Рейтинг: 823
#4: 2014-06-27 19:34:55 ЛС | профиль | цитата
Rysik, даже если бы не забыли преобразовать HEX в поток и сохранить полученный файл, то толку от замены ВСЕХ "1" на "F" никакого
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#5: 2014-06-27 21:49:15 ЛС | профиль | цитата
Леонид, так ТС писал же
vspishkin писал(а):
но непонятно где там менять байты
Для того чтобы менять - нужно точно знать Что? Где? и Когда? менять.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8928
Рейтинг: 823
#6: 2014-06-27 22:02:57 ЛС | профиль | цитата
Tad, ой, щаз сделаю
------------ Дoбавленo в 22.02:
Tad, напишите что-либо, а то при добавлении схема "скролится"
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#7: 2014-06-27 22:08:00 ЛС | профиль | цитата
.........
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8928
Рейтинг: 823
#8: 2014-06-27 22:31:32 ЛС | профиль | цитата
vspishkin, пытался угадать, что требуется (Ваше по совету Netspirit-а в зелёном поле, остальное для примера)
Два белых Edit-а: номер и значение читаемого/записываемого байта по нажатию кнопки.
code_33906.txt
карма: 19

0
файлы: 1code_33906.txt [5.5KB] [232]
Ответов: 16884
Рейтинг: 1239
#9: 2014-06-27 23:33:35 ЛС | профиль | цитата
Леонид писал(а):
пытался угадать, что требуется
Насколько я понял - нужен обыкновенный Hex-Editor, для редактирования прошивок пик контроллера.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8
Рейтинг: 0
#10: 2014-06-28 09:48:36 ЛС | профиль | цитата
спасибо всем за отзывы пока все это перевариваю,нужен действительно хекс едитор,причем менять в самой прошивке требуется только облать еепром ,которая четко имеет свой адрес, вслепую конечно нужно это делать но пока хочу сделать так что бы видеть что меняется а потом это убрать.На самом деле есть программа для прошивки контроллера,когда загружаешь в нее файл в ней видно содержимое файла ,в ней есть разделена облать самой прошивки по адресам и область еепром, вот в область еепром забиваешь шестнадцатеричные числа руками,по умолчанию там всегда 00,можно конечно и там все это менять вбивая нужные значения ,но хочется сделать графический интерфейс,например в меню пункт 1-введите первую Цифру пароля -далее поля для ввода -набираю 7 ,в некс файле меняется в еепроме в первой ячейке по определенному адресу значение с 00 на 07 в шестнадцатеричной системе ну и далее пункт 2 -введите вторую цифру ,такое же поле и замена по аналогии ,после конфигурирования 10 пунктов -сохранение файла в формате хекс.Вот как выглядит файл прошивки в любой программе для прошивки, 2 верхние строки это конфигурация ,ее хотелось сделать так чтобы из графического интерфейса менялись значения при выборе _http://gfile.ru/aa9fg
------------ Дoбавленo в 09.48:
вот пока на что ума хватило но хочу чтоб отобразился хотя бы как некс но не получается.
файл не могу вставить пока что только так _http://gfile.ru/abO1m
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#11: 2014-06-28 10:49:55 ЛС | профиль | цитата
vspishkin, да.... Ну и хотелки у тебя...
Особенно понравилось:
пункт 1 -введите первую Цифру пароля
пункт 2 -введите вторую цифру
и т.д. до 10.
Анекдот.
Это больше похоже на "тянуть жилы из пользвателя" или "тянуть кота за яйца".Или просто подтверждение выражения
Аксиома писал(а):
Каждый дуреет по-своему
ИМХО.
vspishkin писал(а):
по умолчанию там всегда 00
Мне всегда казалось, что там всегда (по умолчанию) FF

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8
Рейтинг: 0
#12: 2014-06-28 10:56:15 ЛС | профиль | цитата
Нереально такое на hiasme сделать? Щас покажу похожую программу из журнала _http://gfile.ru/aayJL.Это трехфазный генератор,в таблице задешь параметры какие надо затем программа делает файл прошивки, возможно такое же сделать на hiasm?

карма: 0

0
Ответов: 196
Рейтинг: 43
#13: 2014-06-28 11:00:40 ЛС | профиль | цитата
vspishkin писал(а):
вот пока на что ума хватило но хочу чтоб отобразился хотя бы как некс но не получается.

А вот так?
Add(MainForm,7543925,189,112)
{
Width=349
Height=839
}
Add(Button,1988582,182,154)
{
Left=215
Top=20
Caption="..."
link(onClick,10291486:doExecute,[])
}
Add(ODialog,10291486,259,154)
{
Filter="All|*.HEX"
link(onExecute,2697788:doOpen,[])
}
Add(Label,2166593,238,112)
{
Left=15
Top=20
Width=176
Height=17
Caption="Выберите файл прошивки"
}
Add(Memo,5672045,448,154)
{
Left=10
Top=80
Width=285
Height=635
Ctl3D=1
ScrollBars=2
ReadOnly=0
}
Add(Button,1428326,378,210)
{
Left=220
Top=740
Caption="очистить"
link(onClick,5672045:doClear,[(431,216)(431,167)])
}
Add(FileStream,2697788,322,154)
{
link(onLoad,10352744:doWork1,[])
}
Add(MultiElement,10352744,378,154)
{
link(onEvent1,5672045:doAdd,[])
}
BEGIN_SDK
Add(EditMulti,6714281,21,21)
{
EventCount=1
WorkCount=1
Width=314
Height=151
link(doWork1,11142970:doEvent1,[(45,27)(45,62)])
}
Add(Stream2Hex,8827357,105,56)
{
Symbol=""
link(onResult,15172523:doValue,[])
}
Add(Length,10063341,203,56)
{
}
Add(For,5168455,105,126)
{
Start=1
Step=32
link(onEvent,1622340:doCopy,[])
link(End,10063341:Result,[(118,100)(209,100)])
}
Add(Memory,15172523,154,56)
{
Default=String()
link(onData,10063341:doLength,[])
}
Add(Copy,1622340,154,126)
{
Count=32
link(onCopy,6714281:onEvent1,[(260,132)(260,27)])
link(Str,15172523:Value,[])
}
Add(Hub,11142970,56,56)
{
link(onEvent1,8827357:doConvert,[])
link(onEvent2,5168455:doFor,[(88,69)(88,132)])
}
END_SDK



карма: 2

0
Ответов: 8
Рейтинг: 0
#14: 2014-06-28 11:10:02 ЛС | профиль | цитата
а вот так уже покруче))) я понимаю это весь файл в байтах я вижу? если да теперь остается найти ту область где нужно менять да?
Надо почитать что это за кубик мультиэлемент не работал с таким еще
карма: 0

0
Ответов: 301
Рейтинг: 11
#15: 2014-06-28 11:24:54 ЛС | профиль | цитата
Tad писал(а):
Кстати, десятичное 7 в шестадцатиричной системе совсем не 07

насколько я помню шестнадцатеричную систему 7 десятичное = 07H и так вплоть до 9.а вот 10 дес = 0АH.
карма: 0

1
Голосовали:Tad
Сообщение
...
Прикрепленные файлы
(файлы не залиты)