Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

BinEdit и все о ней


Рекомендуемые сообщения

PS по поводу второго. Правильнее всего не писать

.equ my_code2		0x10BFB014
.equ insert_my_code  0x10C0EC40
.equ insert_my_code2 0x116FEC78
.equ insert_my_code3 0x10651C00

и

.start insert_my_code
.start insert_my_code2
.start my_code2

а использовать автоопределяемые метки

 

.equ my_code		 0x10BFB004
;.equ my_code2		0x10BFB014
;.equ my_code3		0x10BFB024
.equ check_password  0x102af5ec
.equ insert_my_code  0x10C0EC40
;.equ insert_my_code2 0x116FEC78
;.equ insert_my_code3 0x10651C00

.start insert_my_code
.mcc mcc_transf 0 0 0 0 my_code

my_code:
.mcc mcc_call 0 0 0 0 check_password
.mcc MCC_TASK 0x21 0x10 0x2B
.mcc mcc_transf 0 0 0 0 my_code; insert_my_code+16 (+ 16 крайне не верный подход. так как есть прошивки в которых на запись MCC отводится 20 байт, что создаст определённые трудности для переноса патча)
;--------------------------------------------------
insert_my_code2:
.mcc mcc_transf 0 0 0 0 my_code2

my_code2:
.mcc mcc_call 0 0 0 0 check_password
.mcc MCC_IF 0x2 0x1F 0x4 0x1
.mcc mcc_transf 0 0 0 0 my_code2;insert_my_code2+16
;--------------------------------------------------
insert_my_code3:
.mcc mcc_transf 0 0 0 0 my_code3

my_code3:
.mcc mcc_call 0 0 0 0 check_password
.mcc MCC_IF 0x2 0x1F 0x4 0x1
.mcc mcc_transf 0 0 0 0 my_code3;insert_my_code3+16

если конечно код нельзя расположить в одном большом блоке, то для правильного размещения отдельный частей можно использоват $ (текуций адрес PC) для определения меток

.start my_code
.mcc mcc_call 0 0 0 0 check_password
.mcc MCC_TASK 0x21 0x10 0x2B
.mcc mcc_transf 0 0 0 0 insert_my_code+LenMCC; где нибудь в начале определить что lenMCC=0x10 или 0x14
[b].equ my_code2 $-2[/b]
;--------------------------------------------------
.start insert_my_code2
.mcc mcc_transf 0 0 0 0 my_code2

.start my_code2
.mcc mcc_call 0 0 0 0 check_password

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

Так, нашел очень неприятный баг.....

В данный момент открыто два бинедита (D900XEFK2 и E780XEFJ1) и комплятор...

Открываю окно Е780 - перехожу по адресу 0x101FE698 поднимаю на пару строчек выше.....

Далее открываю окно D900 - перехожу по адресу 0x102599D8 - поднимаюст на пару строчек выше....

Далее опять окно Е780 - и я уже на нулевом адресе (0000000).... Может быть это вылечится перезапуском проги....

 

Также AlexeyK - ты не исправлял такой баг - когда то ли сворачивании/разворачивании проги или при развертывании проги вместо кода появляются квадратики? Если эти квадратики выделяешь - то они становятся текстом, отпускаешь выделение - опять квадраты... Вроде на последней версии такого нет... Пока что не заметил...

 

Еще был баг - когда графику ищещь, подстраиваешь - нажимаешь вниз - слетаешь на нулевой адрес...

Пытался в данный момент повторить - не получилось.... А вот именно когда напряженный момент, ищещь графику для новой проши - нажимаешь - и слетаешь.... Баг был жутко неприятный.....

 

А вот как не ищу графику, я хочу просто проверить - так все нормально... Закон подлости )))))

Ссылка на комментарий
Поделиться на другие сайты

" post=325300]

когда графику ищещь, подстраиваешь - нажимаешь вниз - слетаешь на нулевой адрес...

Есть такое,когда начинаешь прокрутку...Используй кнопку-Возврат к предыдущему смещению в этом случае
/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Есть такое,когда начинаешь прокрутку...Используй кнопку-Возврат к предыдущему смещению в этом случае

Да, я так и делаю... Просто жутко напрягает.... На старых версиях у меня не работал возврат :67:

Сейчас то уже пашет, это радует :67: Но было бы здорово без этой хрени :)

Ссылка на комментарий
Поделиться на другие сайты

" post=325464]

Просто жутко напрягает....

Юзаю 18.9.2007.Меня лично больше напрягает некорректное прочтение некоторых BL-переходов,например

		LoadCFG:
107A92E0:	FFB5	PUSH	{R0-R7,LR}
107A92E2:	134E	LDR	R6, =CfgFile
107A92E4:	1348	LDR	R0, =CfgDir
107A92E6:	0068	LDR 	R0, [R0]
107A92E8:	1349	LDR	R1, =0x107A9344
107A92EA:	00F03700	BLX	_off_00000000

Вроде если четвертый байт начинается с F,то читает как 00(для BLX вроде все норм.),приходится открывать в старом,добром 10.5.2006,что бы нормально прочитать

		LoadCFG:
107A92E0:	FFB5	PUSH	{R0-R7,LR}
107A92E2:	134E	LDR	R6, =CfgFile
107A92E4:	1348	LDR	R0, =CfgDir
107A92E6:	0068	LDR 	R0, [R0]
107A92E8:	1349	LDR	R1, =0x107A9344
107A92EA:	00F037F8	BL	off_107A935C

Как то уже спрашивал...Может в более свежих релизах исправлено?

  • Like 1
/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Нашел в каком случае сбивается адрес на 0.

Если ищещь блоками (далее) - потом нажимаешь вверх - сбивается на 0.....

Ссылка на комментарий
Поделиться на другие сайты

Так, нашел очень неприятный баг.....

В данный момент открыто два бинедита (D900XEFK2 и E780XEFJ1) и комплятор...

Открываю окно Е780 - перехожу по адресу 0x101FE698 поднимаю на пару строчек выше.....

Далее открываю окно D900 - перехожу по адресу 0x102599D8 - поднимаюст на пару строчек выше....

Далее опять окно Е780 - и я уже на нулевом адресе (0000000).... Может быть это вылечится перезапуском проги....

перезапуском не вылечится. чтобы этого не было, надо отключить синхронизацию прошивок. Скорее всего при изменении адресов в первой прошивке при синхронизации во второй получился адрес которого нет в прошивке. в результате нулевой адрес.

Также AlexeyK - ты не исправлял такой баг - когда то ли сворачивании/разворачивании проги или при развертывании проги вместо кода появляются квадратики? Если эти квадратики выделяешь - то они становятся текстом, отпускаешь выделение - опять квадраты... Вроде на последней версии такого нет... Пока что не заметил...

я не сталкивался с таким багом, по этому если и исправил, то случайно.

Юзаю 18.9.2007.Меня лично больше напрягает некорректное прочтение некоторых BL-переходов,например

проверь обновление через окно информации "о програме", есть новее версия.

проблему не замечал. всегда проявляется или только на некоторых адресах? если второе, то какая прошивка?

у меня так

109B83BC:	08B5	PUSH	{R3,LR};Сохранить регистры R3,LR
109B83BE:	6946	MOV	R1, SP;R1= SP
109B83C0:	0A20	MOV	R0, #0xA;R0 = 10
109B83C2:	52F7DAE9	BL	_off_1160B5C0;(компенсирован) Переход по адресу 0x1160B5C0 с сохранением адреса возврата
109B83C6:	08BD	POP	{R3,PC};Загрузить регистры R3,PC
109B83C8:	80B5	PUSH	{R7,LR};Сохранить регистры R7,LR
109B83CA:	00F037F8	BL	off_109B843C;Переход по адресу 0x109B843C с сохранением адреса возврата

более похожего варианта у себя в прошивках не нашёл.

Нашел в каком случае сбивается адрес на 0.

Если ищещь блоками (далее) - потом нажимаешь вверх - сбивается на 0.....

поправил

Изменено пользователем AlexeyK
  • Like 3

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

перезапуском не вылечится. чтобы этого не было, надо отключить синхронизацию прошивок. Скорее всего при изменении адресов в первой прошивке при синхронизации во второй получился адрес которого нет в прошивке. в результате нулевой адрес.

То есть ты хочешь сказать, что при синхронизации прошивок - если я в одной проше перехожу на один адрес, БинЕдит автоматом переходит на эквивалент во второй?

я не сталкивался с таким багом, по этому если и исправил, то случайно.

Сегодня отремонтировал комп - на нем стоит ноябрьская версия. И сразу же заметил этот гнустый баг. Да, значит случайно поправил -- спасибо :uzhos:

И за устранение сброса при поиске графики - остается только ждать релиза :127:

Ссылка на комментарий
Поделиться на другие сайты

[AlaSToR], проверь обновление.

официальный релиз будет после лобавления директив .namespace и .using (для знакомых с С++ наверное объяснять не придётся)

То есть ты хочешь сказать, что при синхронизации прошивок - если я в одной проше перехожу на один адрес, БинЕдит автоматом переходит на эквивалент во второй?

нет, не совсем так. при наличия синхронизации, использование перемещения по коду при помощи полос прокрутки приводит к аналогичным действиям в связанной прошивке.

а для открытия эквивалентного места, есть кнопка - Синхронизировать. Таже, что используется для загрузки связанной прошивки.

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

AlexeyK, В D880 в таблицах тасков,ифов и т.п. по 56 адресов...А находит токо 38,доперло руками поправить когда увидел Мсс вида 17 2D .....

ЗЫ.

проверь обновление через окно информации "о програме", есть новее версия.

Седня решил обновить,на сайте по ссылке вроде тож самое.А через прогу вот такое...

 

О,эт удачно я зашел :be:,сегодняшний релиз ,скачиваю и получается что то же самое скачал-2007.9.18 :bs: ,при запуске она тоже предлагает обновиться.... :al:

В чем прикол?

Изменено пользователем Mako
/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Mako, количество тасков не ищется а задаётся фиксировано, в зависимости от модели sysol или swift.

По поводу загрузки. Загружал опять с сайта или по кнопке "Да"?

Та что на сайте содержит все дополнительные файлы. т.е. полная версия и всё что на сайте касается только её. А по кнопре "Да" только обновление до указаной версии. Т.е. сама программа. Для того, чтоб тем у кого уже есть полная версия меньше загружать надо было.

  • Like 1

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

По поводу загрузки. Загружал опять с сайта или по кнопке "Да"?

Та что на сайте содержит все дополнительные файлы. т.е. полная версия и всё что на сайте касается только её. А по кнопре "Да" только обновление до указаной версии. Т.е. сама программа. Для того, чтоб тем у кого уже есть полная версия меньше загружать надо было.

Алексей... проблема та же.. заливаю обновление от 09.01.2008 (что с проги по "Да", что с сайта) - одинаково - 18.09.2007 версия..

Ссылка на комментарий
Поделиться на другие сайты

поправил.

на всякий случай, вот прямая ссылка

обновление

 

что изменено во вложении

news.zip

  • Like 9

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

Mako, количество тасков не ищется а задаётся фиксировано, в зависимости от модели sysol или swift.

;) так вот я и говорю,что в свифтовской прошивке D880 не 38 как у всех,а уже 56 тасков

на всякий случай, вот прямая ссылка

вот терь оно..

AlexeyK, возможно ли как-то тегами задавать в binedit.ini выбор описания в зависимости от прошивки.

Много уже различий в кнопках и самих мсс ,да и в количестве мсс тоже уже есть :shock:

 

зы. ID кнопок,я так понял мона и в be-файле прописать...а вот коменты к mcc...?

 

зызы Все разобрался,прописал все в be...Вот,млин,век живи,век,учись.

Алексей,еще раз спасибо за прогу! :at:

Изменено пользователем Mako
/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

вот терь оно..

Чета у меня в 9.1.2008 калькулятор кода не работает :lol:

 

зы.Подсветка серым различных инструкций МСС,имхо напрасно убрана,удобно было....

Изменено пользователем Mako
/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

зы.Подсветка серым различных инструкций МСС,имхо напрасно убрана,удобно было....

Да, я говорил Алексею об этом, как я понял убрана она была не специально/случайно :)

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

Чета у меня в 9.1.2008 калькулятор кода не работает

это из за добавления директивы .timeout. компиляция прерывалась. исправил

 

 

Цитата(Mako @ 13.01.2008, 8:20)

 

зы.Подсветка серым различных инструкций МСС,имхо напрасно убрана,удобно было....

 

 

Да, я говорил Алексею об этом, как я понял убрана она была не специально/случайно

 

 

видимо как то случайно. :laugh3: вернул как было.

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

AlexeyK СлушаЙ, а ты сможешь сделать в компиляторе такую фичу - шаблоны кода?

Вот например Рома использовал в своих патчах такое начало:

;---------------------------------------------------------------------
;Digit Navigation in uMenu
;Version:	1.0
;Patch for:	Samsung SGH-D900 mobile phone
;Firmware: 	D900XEFK2
;BinEdit:	2006.7.25
;Coded:		(c) 2007 by Freeman
;Hello to: 	SergeyL, AlexeyK, -=Asterix=-, -[Meldrak]-, Gralexon, cr_az2, Igo, 
;			StepanV, Javer, Black Scorpion etc...
;---------------------------------------------------------------------
;Place: 	Belarus, Minsk, BPI- Belarussian patchware institute
;Mail to: 	freeman_fa@mail.ru
;---------------------------------------------------------------------

То есть он в своих исходниках везде писал это...

А вот если у меня тоже есть свой блок комментов и мне нехочется постоянно искать исходник свой и вставлять этот блок...

Было бы замечательно, если бы можно было сделать так...

Шаблоны-Добавить свой...

Туда я вставляю свой блок.

Теперь я создаю допустим новый asm, и на кнопках быстрого доступа была бы иконка:jokingly: А в стрелочке вниз - было бы выбрать свой шаблон :laugh3:

Было бы очень удобно и очень клево =)

Ссылка на комментарий
Поделиться на другие сайты

... исправил

... вернул как было.

Где скачать? из программы обновляет на "неисправленную"

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

" post=328426]

AlexeyK СлушаЙ, а ты сможешь сделать в компиляторе такую фичу - шаблоны кода?

в принципе можно

Где скачать? из программы обновляет на "неисправленную"

пока не выкладывал

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

' date='15.01.2008, 5:29' post='328426']

AlexeyK СлушаЙ, а ты сможешь сделать в компиляторе такую фичу - шаблоны кода?

Поддерживаю, толковая идея :)

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

гыг, сори что по новому постю, а не редактирую старый :ag: Просто вопрос новый ))

У всех ли убрался цвет кода во вкладке КОД или нет?

Версия последняя, за 9 января... Заметил только что....

 

;=======================================================

походу программка глюкнула - при закрытии спросила "Сохранить прошивку" - я нажал отмена и тогда цвет кода стал черным. прогу перезагрузил - все норммально :)

 

AlexeyK А ты сделал опцию, чтобы BinEdit не сохранял *.bak'и ? А то че то я не нашел.....

 

;=======================================================

Еще один мини-постик......

Нашел грамматическую ошибку :)

 

Если мы ищем ссылку на адрес.... Нашли... Заходишь в "Ссылка на данные".

Там идет "2058087C, РАСПЛОЖЕННЫЕ по адресу 20580884". Опечатка, добавь букву О в расположенные :)

 

;=======================================================

Идем дальше.... Сделай плиз не опцию отключения баков, а лучше пусть они будут, но с атрибутом "Скрытый". На всякий пусть пригодиться, но бесит постоянно самому их скрытыми делать...

;=======================================================

AlexeyK - Ну и появись в этой темке наконец )))

;=======================================================

25 января.... Ночь.... Редактирую пост, который уже сидит неделю без ответа, добавляю хотелку .

Ладно, шутки в сторону :roll:

 

А ты можешь сделать такую фичу (аналог Borland Delphi) - при печатании кода в компиляторе, точнее при печатании команд....

Допустим, печатаем .s - появляется мини-окошко со всеми операторами на .s ... :roll:

:)

Изменено пользователем [AlaSToR]
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

блин, то сообщение уже продолжить незя, смайлов много :lol:

Так вот.... Нашел очень неприятный баг...

Допустим, открываем бин едит. Открываем компилятор, че нить делаем в компиляторе, закрываем бин едит - и запроса о сохранении проекта не появляется :ag:

Дальше.... Можно ли сделать терминал как отдельное приложение?

// === by alexeyK

как здесь

http://OldPh.one/index.php?showtopic=25508?pid=26...mp;st=0

// ==========

 

А то у меня вот такая беда.... То-ли телефон глючит, то ли кабель... Постоянно телефон "говорит" что то заряжает он, то не заряжается. Так вот, подключаю в терминал. Ввожу команду, и как назло тело говорит, что больше не заряжается. зависает терминал... Пробую отрубить терминал - вырубается весь бин едит и все что с ним связано :(

Может кому-нить неудобно будет терминал отдельным приложением, отпишитесь плиз. Если Вы такие найдетесь, значит забьем на эту хотелку :)

Ссылка на комментарий
Поделиться на другие сайты

[AlaSToR], при редактировании старых сообщений дата не меняется, а раз нет новых сообщений, то и не заглядываю.

Как что то сделаю, отпишусь.

  • Like 1

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

[AlaSToR], при редактировании старых сообщений дата не меняется, а раз нет новых сообщений, то и не заглядываю.

Как что то сделаю, отпишусь.

Во я лол блин, десять дней жду, а во всем сам и виновать :ak:

 

В прицнипе, я имел ввиду конечно как часть Bin Edita, только отдельной exешкой....

Еще что хочу добавить по поводу терминала...

Раз терминал сделан для CGSN патча, то моя идейка такая...

Может добавить шесть кнопок?

лейблы =1 ,=2, =3 и т.д.

Каждая отвечает за команду AT=CGSN...

Первая допустим сразу же передает команду AT+CGSN=1 модему и выводит ответ.

Также и для всех остальных :)

Еще что хочу сказать.....

например, команда CGSN=6.

Она выводит текущую мсс команду...

Можно ли сделать так:

Вывод текущего адреса в отдельное текстовое поле;

Далее... Двойным щелчком по адресу переходим по нему в бин едите.

Ну и допустим чекбокс ( ну это лишнее наверно), на автопереход по адресу при этой команде.

Т.е. кнопка =6. Дает модему команду, получает адрес, и сразу же переходит по этому адресу в бин едите (это при установленной галке).

 

 

Вот еще... ОБъясни плиз такую весчь.....

До того, как у меня был заполнен "remap block" в be-файле у меня одни адреса были...

Как я его заполнил, у меня стали с некоторых адресов перекидывать в оперативу.

Я тогда брал такое - копировал BinEdit, удалял be-файл от нужной проши, заново его создавала прога, и адрес был другой....

 

Вроде тогда мне нужен был адрес 0x112чето_там короче :) а Bin Edit показывал адрес оперативы....

Блин, не знаю даже как объяснить....

Хотя я вроде бы понял... Называется ведь это "Блок 0x0 копируется на 0x0 с длиной 0x0"

То есть этот адрес равносилен адресу в оперативе? Как бы он все равно ж копируется... Хотя он равносилен по данным... А в патче это может вызвать баг....

;-----------------------------------------------------

теперь о компиляторе....

честно говоря, мне не хватает выделения всего кода по нажатию Ctrl+A ...:)

есть еще пару хотелок...

Короче, я работаю на буке.... Тачпад очень чувствительный, и часто корявится код из-за него.

Вот например такая процедура - выделяем кусок кода и мышкой его переносим, он перемещается. Нажимаем Ctrl+Z - перемещенный кусок должен переместиться в свое положение, а он копируется... . Получается корявость :)

 

P.S. мои тесты часто не нравятся авторам прог, я слишком много нахожу чего "надо подправить". я просто хочу вывести проги на высооту. Хотя BinEdit итак достиг неслабой высоты... Знаменит он не только в России и Украине...

AlexeyK Респект тебе за такую офигенную прогу ;)

 

;--------------------------------------------------

Народ! А никто не замечал в самой новой версии..... Несохранение исходников компилятора... Никто не замечал?

AlexeyK У меня стоит автосохранение - 1 минута....

Ладно, первый исходник, у которого только 1 переход и все. Его то В ПРИЦНИПЕ не жалко.... Но сам факт - я потом открываю - а там кроме шаблона кода ничего нет... Скорее всего, я щаблон сохранил, а вот что дальше - вручную не сохранял....

Сейчас делал патч около часа.. Все, скомпилил... Сейчас открываю - а там тока шаблон и эквиваленты....

У меня такое чувство, будто автосохранение не работает...

Не думаю, что я мог за минуту успеть накопать 100 строк, скомпилить, скопить в клаб, установить патч, вернуться в компилятор, вспомнить баг с перетаскиваем кода в компиляторе, описать эту ошибку тут, испарвить ошибку с многим количетсвом смайлов....

гыы, оффтоп какой-то ))

В итоге открываю исходник, сделать такой же патч для другого тела - а там тока шаблон и эквиваленты :(

Как думаешь, что это может быть? :)

---------------

вроде нашел как это происходит........

я обычно (у меня привычка часто сохраняться)... я обычно нажимаю дискетку, ну типа сохранить проект. Насколько я знаю, раньше прога сохраняла не только *.asp но и *.asm. А ща сам код не сохраняет... Непорядок... Надо чтобы сохраняла и проект, и сам код... И опять же - автосохранение минута, я делаю патч уже полчаса, а в сохраненном коде только щаблон и эквиваленты... основного кода так и нету....

Вот сейчас смотрю, все патч сделал, скомпилил... Сохранил дискеткой.. Код (*.asm) так и остался заполненным только до элементов основного кода. А главное бак кода полностью сохранен, со всем....

Слух, а можно например такую вот фичу?

Первый вариант... *.bak сохраняется при каждом нажатии на дискетку, атрибут скрытый, но! при каждом сохранении к нему приписывается префикс, допустим мой_гипер_патч_.bak-0001. Лучше конечно чтобы было мой_гипер_патч-0001.bak. При след. сохранении ...-0002

Второй вариант (мне он более подходит).Создается скрытая папка с названием патча. В нем уже при не только каждом сохранении, но и при автосохранении создается бак.

Вот если будет второй вариант реализован, то будет просто замечательно, я буду в восторге :-)

А так я просто смысла баков не вижу.... Все равно что asm , что bak :) Хотя в данном моем случае, когда asm пустой, а бак полный, смысл баков появляется ))

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...