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

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

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

BinEdit и все о ней


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

Мастер-патч, он самый, на прошивку S5620XEJI2. Думал, влегкую его портирую. А с адресами тут не густо - вот с правильной адресацией:

235670-16-02-12)1329396776_thumb.jpg235670-16-02-12)1329396791_thumb.jpg

А как редирект найти/сделать?

С троллями и даунами в полемику не вступаю.

Качественное конвертирование видео для Monte S5620

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

он самый

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

А как редирект найти/сделать?

Тебе это не пригодится скорее всего, это был совет для общего случая :)

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

  • 1 месяц спустя...

.byte "Test",0x0A

- получается 54657374000A00

 

Хотя в справке по компилятору ведь написано:

Директивы .byte и .string отличаются добавлением строковых данных в патч, .byte (dcb,dcba,dcbu,db) вставляет данные как есть, .strung (.unicode, .ansi) – завершает данные нуль-символом.

 

Как мне избавится от этого нуля (кроме ручного набора байтов или .hex) ?

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

f2065, правкой BinEdit'а...

В исходниках осталась закомментаренной старая функция ANSI_to_UTF8, если ее вернуть, то компилирует правильно.

Что-то Алексей исправлял:

30.07.09

- исправлено преобразование ansi-uTF8

а этот момент упустил.

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

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

BinEdit только у меня не дружит с UAC ?

При обычном запуске - он почему-то инициирует попытку переустановки Office, и этот процесс зацикливается до беспонечности.

Если же запустить его запуск от имени администратора - то после запроса UAC он нормально работает…

Но зачем BinEdit хочет такие полномочия ?!

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

f2065, у меня не требует. Может из-аз того, что он на системном диске у тебя хранится (если хранится)?. У меня все нормально, никаких запросов.

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

Не на системном…

Он сам по себе не требует UAC (если в него не встроить манифест requireAdministrator), а пытается переустановить Office 2010! Видимо как-то это связано с VB.

И пытается его переустановить бесконечно, постоянно запускается-выполняется-завершается диалог восстановления Office 2010.

А вот если BinEdit запустить с правами админа через UAC - то всё нормально.

 

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

Где-то там видимо по умолчанию запрашиваются максимальные права на какой-то объект, таких прав винда при активном UAC не даёт, BinEdit неадекватно оценивает ошибку (или вообще не смотрит коды ошибок) и инициирует переустановку VisualBasic…

Изменено пользователем f2065

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

У меня тоже ничего такого нет. Вот только вчера запускал из-под Win7. Установлен MS Office 2010.

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

У меня тоже ничего такого нет. Вот только вчера запускал из-под Win7. Установлен MS Office 2010.

UAC включён ?

Без UAC тоже всё нормально…

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

UAC включён ?

Без UAC тоже всё нормально…

Был выключен. Только что включил на самый верхний уровень. Запустил BE. Загрузил прошивку. Никаких проблем.

Установлена Windows 7 Максимальная SP1, MS Office 2010 Профессиональный плюс. Установлены только Word, Excel, PowerPoint ну и всякие там общие средства офиса.

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

Был выключен. Только что включил на самый верхний уровень. Запустил BE. Загрузил прошивку. Никаких проблем.

Установлена Windows 7 Максимальная SP1, MS Office 2010 Профессиональный плюс. Установлены только Word, Excel, PowerPoint ну и всякие там общие средства офиса.

Вот всё тоже самое… Только BE работать не хочет (причём ни старый ни новый)… А комп то перезагрузил после активации UAC ?

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

Вот всё тоже самое… Только BE работать не хочет (причём ни старый ни новый)… А комп то перезагрузил после активации UAC ?

Да, перегружал

А новый - это какой?

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

А новый - это какой?
Этот

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

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

Добрый день

Спасибо автору за программу

Пояилась хотелка, можно ли добавить в меню загрузки сигнатур из файла добавить пункт - подгрузить из другого файла, то есть сделать не замену существующим символам, а добавление новых, или раскрыть формат файла bsig.

Заранее спасибо

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

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

[ela" post=614104]

подгрузить из другого файла, то есть сделать не замену существующим символам, а добавление новых,

Сигнатуры в формате .sym он так и загружает - объединяет два файла и удаляет повторения.

Т.е. надо сохранить оба файла сигнатур в формате .sym, объединить их, и результат, если надо, сохранить как .bsig

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

это я как раз понял, меня интересует как раз bsig. Когда сохраняешь в sym, теряются каменты и к чему адрес (thumb, code и прочая) вот из за этого и вопрос. А еще, забыл добавить к хотелке, если уже формируется шаблон для поиска, то и его сохранять в bsig, а при загрузке под аналогичную прошивку, делать разбор, ведь уже все есть для этого и отмечать несовпадения. Как то так

спс за ответ

а насчет сорцов как? ))), или дайте формат bsig, сам нарисую утиль для склеивания. либо в личку, если здесь нельзя

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

[ela" post=614121]

Когда сохраняешь в sym, теряются каменты и к чему адрес (thumb, code и прочая)

Тип данных не теряется.

 

[ela" post=614121]

а насчет сорцов как? )))

Это к автору.

 

[ela" post=614121]

или дайте формат bsig

Создай файл из одной записи, да глянь в хекс редакторе. Не думаю, что там что-то архисложное.

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

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

Тип данных не теряется.

при сохранении в старый тип sym

Создай файл из одной записи, да глянь в хекс редакторе. Не думаю, что там что-то архисложное.

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

посмотрел, разобрался, да, простой файл. 4 байта - адрес, затем тип - 1 байт, затем идут 2 паскалевские строки с длиной строки вначале. Начал пробовать какую длину они держат, по идее должны быть short string, длина 255 байт. Но оказалось - 1 строка (название) при длине больше 255 не записывается длина, а строка полностью записывается, вторая строка честно все отрабатывает, обрезает строку до 255 байт. При повторном открытии этого файла - название обрезается до 244 байт и при сохранении уже записывает длину строки.

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

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

Здравствуйте.

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

И есть ли у кого ПОЛНОЕ описание диеректив be и binedidt.ini

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

ale][ela,

 

;Файл описания прошивки, что то типа rtx для ResMan, позволит избежать сканирования при каждой загрузке прошивки

;Сканирование запускается, только при отсутствии файла с описанием. имя файла совпадает с идентификатором прошивки.

 

;Перед началом сканирования предлагается ввести адрес по которому загружается прошивка.

 

;Описание текущих ключей и параметров.

 

Bin ID="идентификатор прошивки" adr="адрес размещения идентификатора в прошивке" base="адрес загрузки прошивки" TYPE_ARM="BigEndian/LittleEndian - вид ARM"

 

SaveDataBin Enable="Y" ; необходимость сохранять информацию о прошивке

 

RemapBlok Start="адрес в прошивке" Len="длина блока" Goto="адрес, куда перемещается блок" - информация о перемещении блоков памяти

 

LangNames adr="адрес в памяти где расположена таблица имён языков" steps="количестко байтов на имя"

 

LangCount adr="адрес по которому записано количество языков" Default="количество языков по умолчанию" TableIdAdr="адрес таблицы используемых языков"

 

LangAdrTable adr="адрес таблицы с адресами таблиц языковых блоков" countadr="Адрес по которому записано количество индексов" default="количество индексов"

 

LangAdrTableS adr="адрес таблицы с адресами таблиц языковых блоков для софт клавиш" countadr="Адрес по которому записано количество индексов для софт клавиш" default="количество индексов"

 

MCCTable adr="адрес таблицы адресов функций и адресов имён МСС команд"

 

MCCParam Len="длина в байтах МСС команды" count="количество параметров" adr1="смещение от начала команды" len1="длина в байтах параметра" adr2="...

 

AddFiles Start="адрес загрузки файла" Name="имя файла без пути" (возможно пока не работает) для прошивок из наскольких файлов (например S500)

 

LoadSym Name="полный путь к файлу с описанием адресов (*.bsig,*.sym,*.map,*.sig,*.def,*.out)" question="Y" ; Y - загружать без вопросов, иначе сросить

 

LoadMenu Name="полный путь к файлу с оисанием меню (*.mnu)" question="Y" ; Y - загружать без вопросов, иначе сросить

 

MCCKeys id="номер кноки" name="название кнопки"

 

MCCKey id="MCC_REPORT_MORE" coment="Большой отчет ""$$3$""" index="%%i%+1"

; id - строковый идентификатор

; coment - строка описания может содержать ключи типа &&6&, где && - начальная метка,

; 6 - номер параметра МСС команда или переменная i

; & - завершающая метка

; ключи %% - числовое значение параметра

; ## - тоже самое в Неx формате

; ^^ - тоже самое в Неx формате с приставкой 0x

; && - строка по адресу из параметра

; &K - описание кноки по номеру из MCCKeys

; $$ - текстовый ресурс из прошивки по индексу в параметре

;

; index - опереции над переменной i. понимает ключи с префиксом %, арифметические действия и условный оператор C ?:

; также операция до запятой выполняется до обработки коментария, после соответственно после, например

; %%3% - %%i% ? %%i% + 1 : %%4%, %%i%+2 - будет делать следующее:

; если третий параметр параметр больше i, то i=i+1 до обработки коментария, иначе i= четвёртому параметру до обработки коментария и i=i+2 после

; начиная с версии 2006.03.05 появилась возможность в id указывать не только имя MCC, но и параметры, напримет

; id="MCC_IF09" - для выделения проверки нажатий кнопок в отдельную групу коментариев, проверяется до 4 параметра

 

; - это коментарии (строки игнорируются)

 

;потом будут добавлены и другие команды (таблицы картинок и т.д.), экспорт/импорт параметров из rtx.

 

;PS. формат файла binedit.ini соответствует описанному формату и расматривается как значения по умолчанию. соответственно в be файлах можно переопределять установки binedit.ini

;Принимаются предложения.

  • Like 3
5073IA3.png
Ссылка на комментарий
Поделиться на другие сайты

ещё есть

 

; команды для меню

Command name="Блокнот" path="notepad.exe"

 

; описание пользовательских типов данных

TYPE Name="font china" Maska="byte:4,int:4,long:16"

 

Сохранение описания прошивки можно включить через меню "настройка" или в be файл добавить SaveDataBin Enable="Y"

  • Like 4

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

AlexeyK.gif

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

ещё есть

 

; команды для меню

Command name="Блокнот" path="notepad.exe"

 

; описание пользовательских типов данных

TYPE Name="font china" Maska="byte:4,int:4,long:16"

 

Сохранение описания прошивки можно включить через меню "настройка" или в be файл добавить SaveDataBin Enable="Y"

 

Значит нет ПОЛНОГО описания, уж если и автор не все опции пишет

 

ведь есть и такая

Ничто не мешает добавить их отображение вручную. Для этого надо добавить в be файл команду

 

StringTable adr="0x0" countadr="0x0" default="0x0" name="" Code="UTF8|ANSI|UNICODE|LUNICODE" type="0" mul="0" Offsets="0x0"

и что то еще про AT команды, сча не могу найти

И нельзя ли поправить ошибку разбора .author в компиляторе, там, как мне кажется, в качестве разделителя в поиске стоит пробел.

 

ЗЫ: 2 AlexeyK глянь пожалуйста в личку

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

StringTable всё равно уже давно не нужны - в прошивках уже года 2-3 языковые ресурсы совсем иначе организованы - они лежат в TFS и подгружаются в ОЗУ при работе. В прошивке их нет. Тут надо бы функционал QTC_Util встраивать…

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

Bin ID="идентификатор прошивки" adr="адрес размещения идентификатора в прошивке"

Вот оно что...:idea: Действительно, в прошивке брадкомов название прошивки можно найти только в таком виде: S5260+XE+KK1. Видать, отсюда и описанная ранее проблема. Решил ее дописыванием в начало файла прошивки ее версии уже в "нормальном" виде.

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

  • 1 месяц спустя...

Ещё баг в компиляторе обнаружился:

 

.equ gv_bug 0xA86ADAC4

.little

.thumb

.start 0x916DFA80

LDR R1, =gv_bug

LDRB R0, [R1]

CMP R0, 1

BEQ metka1

.patchcoment

CMP R0, 2

BEQ metka1

.patchcoment "metka2"

metka1:

ADD SP, SP, 0x100

POP {R4-R7,PC}

.data

 

получается в итоге такое:

 

916DFA80: 0149 LDR R1, =0xA86ADAC4

916DFA82: 0878 LDRB R0, [R1]

916DFA84: 0128 CMP R0, #0x1

916DFA86: 03D0 BEQ loc_916DFA90

916DFA88: C4DA6AA8 DCD 0xA86ADAC4

916DFA8C: 0228 CMP R0, #0x2

916DFA8E: FFD0 BEQ loc_916DFA90

loc_916DFA90:

916DFA90: 40B0 ADD SP, SP, #0x100

916DFA92: F0BD POP {R4-R7,PC}

 

Т.е. patchcoment назначает место для data прямо тут. В оригинальной версии BinEdit такого бага нет.

Приходится вручную писать word для ldr (причём ещё об отсутствии правильного align тоже перестал предупреждать)… Однако же заранее BinEdit ничего не предупреждает.

Изменено пользователем f2065

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

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

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

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

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

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

Войти

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

Войти



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