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

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

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

BinEdit и все о ней


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

Я понимаю следующее, R5 присваеваем значение

ваще-то... есть несколько команд процу: присвоить, читать, записать и тд

Так что vc75 то что ты написал не совсем отражает то о чём ты думаешь :idea:

Живём не на радость, а просто пришибить некому!

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

а вот что такое PC+60

РС - это адрес выполняемой в данный момент команды - счетчик

PC+60 - указывает на смещение, где непосредственно расположен адрес

как-нибудь можно узнать чему равен R6 если

R6=слово по адресу [R5+24байта]

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

Чтобы узнать чему равен R5 надо смотреть предшествующий код, а если это начало функции - откуда она вызывается и что ей передается в R5, судя из примера - похоже там сидит адрес

... далее к значению R5 нужно прибавить смещение в 24 байта, т.е R5 + 0x18

Это и будет искомый адрес, по которому в R6 загружается слово (4 байта). Имея символьную инфу можно посмотреть искомое название переменной, а вот что читается из пмяти узнать сложнее, нужно смотреть что туда может быть записано.

Ковыряю e630 :)

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

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

AlexeyK! :):):x Три дня писал патч. Компьютер не выключал, но сегодня нужно было выключить и пришлось закрыть BinEdit. Сохранил проект и откомпилировал патч. После перезагрузки открыл BinEdit'ом сохраненный проект и увидел на экране жирную фигу в виде исходника (asm- файла) 3-х дневней давности! :x:x:x Тоесть только пару-тройку процедур и все. :) Поиск на винчестере показал, что файлы патча asp и smp имеют дату 15.07.06, а asm файл 12.07.06. Работа пропала. :):):):)

SGH-X100 -> SGH-D500-> SGH-D900

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

Free-man, какая версия программы, я вроде это уже исправлял.

сделаю дополнительно автосохранение по таймеру.

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

AlexeyK.gif

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

Free-man, ага у меня тоже такое бывало, абидно аж Жуть :idea:

AlexeyK, сделай как в Delphi, она сохраняет в тепм файл с именем - исходное имя + ~, можно расширение добавить *.tmp, ну и в него сохранение по таймеру. А то ведь не всегда то что пишешь нужно сохранять:lol:

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

MaxKis, хорошая идея так и сделаю. Интервал сохранения сколько делать?

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

AlexeyK.gif

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

Интервал по возможности лутче сделать настраиваемым. а то ведь у всех разные темпы написания... :) я, например, асма вообще не знаю :) соответствено и темпы тихие... а кто-то за те-же 10 минут две страницы исписать успеет :P

E630XEDK2 + Nokia N72+1Gb

Всё, что нас не убивает, то нас делает сильней! (Е. Летов)

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

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

BinEdit v. 2006.7.25 Баг с сохранением неполных исходников остался. Парадокс: а в bak-файлах полные исходники...

SGH-X100 -> SGH-D500-> SGH-D900

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

Free-man, странно, возможно проблемы с контролем изменений в файлах.

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

AlexeyK.gif

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

AlexeyK, и еще- пропала подсветка синтаксиса! Если в прошлых версиях она была (правда, очень странно работала :evil: ), то в самой последней версии ее нет. Вообще.... :?: И еще. В последней версии пропали названия переходов по мсс... Просто адреса... Почему?

 

И еще. Не знаю, как для других типов, но для SWIFT неверно описываются некоторые мсс- команды:

 

7D 1E 0000 0500 0100 00000000 0000 0000  Описание меню с первым индексом из 5 пунктов

 

Неверно! В SWIFT никакие индексы не задаются в мсс. Кстати, 4-е поле этого мсс-скрипта (0100)- тип меню (в данном случае- обычное, с нумерацией).

 

18 02 1F00 0400 0100 38DB7210 0000 0000  Если x1=2 x2=31 x3=4 то переход на mcc_fbox_check_privacy -> 0x1072DB38

 

Алексей, 4-е поле (0100)- это тип перехода. 0000- Jump. 0100- Call. Так что в данном случае, не "переход на", а "вызов".

 

 

18 09 0100 0100 0000 C4466111 0000 0000  Если кнопка "1" в состоянии 1 то переход на mcc_ss_unstructured_rjt -> 0x116146C4

 

Вот тут да, переход :lol: Но! Что за состояние 1 ? :) Может просто описывать "нажата"? :) И что за кнопка "1" ? Это же удержание "с"....

SGH-X100 -> SGH-D500-> SGH-D900

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

AlexeyK, и еще- пропала подсветка синтаксиса!

В последней версии пропали названия переходов по мсс... Просто адреса... Почему?

Кажется понял :) . В архиве с последней версией, который посылал нет дополнительных файлов (mask.col - описание выделения цветом, binedit.ini - описание начальных установок и МСС скриптов, libbz2.dll и zlib.dll - для поддержки упакованных форматов dif и smpbz). Их можно скопировать из предыдущих версий.

 

И еще. Не знаю, как для других типов, но для SWIFT неверно описываются некоторые мсс- команды:  

 

7D 1E 0000 0500 0100 00000000 0000 0000  Описание меню с первым индексом из 5 пунктов  

 

Неверно! В SWIFT никакие индексы не задаются в мсс. Кстати, 4-е поле этого мсс-скрипта (0100)- тип меню (в данном случае- обычное, с нумерацией).  

 

18 02 1F00 0400 0100 38DB7210 0000 0000  Если x1=2 x2=31 x3=4 то переход на mcc_fbox_check_privacy -> 0x1072DB38  

 

Алексей, 4-е поле (0100)- это тип перехода. 0000- Jump. 0100- Call. Так что в данном случае, не "переход на", а "вызов".  

 

 

18 09 0100 0100 0000 C4466111 0000 0000  Если кнопка "1" в состоянии 1 то переход на mcc_ss_unstructured_rjt -> 0x116146C4  

 

Вот тут да, переход  Но! Что за состояние 1 ?  Может просто описывать "нажата"?  И что за кнопка "1" ? Это же удержание "с"....

Все эти описания находятся в binedit.ini. В архиве с программой лежит файл от Renat-a, адаптированный для X100/600. На сайте выложены варианты для других моделей. Если у тебя будет свой, присылай, я его тоже выложу.

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

AlexeyK.gif

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

AlexeyK. Народ требует для Д500 патч для просмотра видео на весь экран. Ты только не смейся, причем тут Binedit, но есть одно "но". Патч нужно на 90% написать в ARM-режиме. Ты как-то писал, что в скором времени сделаешь поддержку ARM-режима в компиляторе... Это время уже настало? THUMB-режим "рушит" полноэкранное видео до 6 к/сек...

SGH-X100 -> SGH-D500-> SGH-D900

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

AlexeyK, Есть неточности в режиме правки бина (копировать-вставить, копировать-заменить). Кстати копировать-вставить работает как копировать-добавить. Зачем вообще внутри прошивки чегото добавлять и сдвигать все адреса? Посмотри плиз...

И неплохо было бы наконец сделать историю правок вперед и назад. Хотябы просто CTRL-Z. Причем в режиме правок в коде это более актуально.

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

  • 2 недели спустя...
Ты как-то писал, что в скором времени сделаешь поддержку ARM-режима в компиляторе...

Честно, совсем об обещании забыл, но раз обещал то сделал в версиях старше 2006.08.14 есть поддержка стандартного набора инструкций для ARM. Вопрос по делу. Надо ли делать поддержку инструкций FPU (их уже сейчас можно выполнять через инструкии работы с сопроцессором)

 

Есть неточности в режиме правки бина (копировать-вставить, копировать-заменить)

Это же HEX редактор (хотя и простой ;) ), можно редактировать не только прошивки, но и другие файлы, а там иногда надо именно вставить. При вставке заменяется выделенный блок. Если ничего не выделять, то и получается - Добавить.

неплохо было бы наконец сделать историю правок вперед и назад. Хотябы просто CTRL-Z. Причем в режиме правок в коде это более актуально.

Возможно. Пока можно пользоваться режимом "АвтоПатч". При этом сама прошивка не меняется, а все изменения записываются сразу в патч.

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

AlexeyK.gif

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

AlexeyK, В режиме HEX-редактора попробуй скопировать-вставить 4 байта и скопировать-заменить 4 байта. Разницы не будет. Прошивка увеличится на 4 байта при любых раскладах. Потом 4 байта после вставленного блока надо вырезать. Чуть ошибся и трындец, отката-то нету. Я об этом. И накой ... все это счастье?

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

Добрый день всем! Хотел бы проконсультироваться с вами по одному вопросу. Я сделал поиск по форуму, но не нашёл как создать sym или map файл, не могли бы вы подсказать мне как сделать это с помощью BinEdit или друго программы. Заранее большое спасибо! :):idea:

sport watch video

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

оригинальные sym и map файлы идут в комплекте с прошивкой, ищи полные архивы со всеми файлами, правда иногда их просто небывает для некоторых версий....что касаеться сделать самому то нужно найти подобную прошивку с оригинальным sym или map файлом например чтоб сдлеать sym файл для x460xedj5 нужно взять прошивку x460xeeb1 для которой есть оригинальный sym загрузить его в программе бинедит, определить сигнатуры, сохранить в формате *.sig и потом открыть его на своей прошивке например x460xedj5 для которой нету sym файла оригинального и определить все для x460xedj5, далее полученый файл сохранить как sym для x460xedj5... Также можно поробывать и нетолько отличающихся версий но и моделей например сделать для e820xedg1 по прошивке e630xedk2 для которой есть оригинальный map.

--вот тут кстати много как оригинальных так и неоригинальных http://firmware.javer.sgh.ru/

nokia

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

Спасибо тебе Slim :roll::roll: . Если это прошивка для новой модели телефона, и я не имеем оригинального (схожего) sym или map файла. Каким образом я могу создать sym или map файл для новой модели?

sport watch video

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

chaojimali20, sym или map файл для ЛЮБОЙ прошивки никто никогда не создает с нуля, а берут готовые (искать надо) и если надо дополняют вручную по мере надобности.

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

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

Можно конечно написать программу которая бы на основании одного sym искала эквиваленты и создавала другой sym

Есть такая:)

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

Есть такая

Если ты о SymCreater_by_Javer-то у нее "КПД"-60-70%(IMHO) при поиске эквивалентов с D500BVDK8 на прошивки E350E.Ручками поработать все равно придется,и существенно.

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

у нее "КПД"-60-70%(IMHO)

 

Даже это уже много значит, за отсутствием вообще чего либо!

Beatitudo nоn est virtutis praemium, sed ipsa virtus
Ссылка на комментарий
Поделиться на другие сайты

Петрович, угу, тем более, что в Сисолах намного качественнее функции находит, особенно в Е800, Х640 и т.п. :)

 

А вот с D500 на Е350 действительно довольно проблематично функции находит...

http://firmware.sgh.ru/ - архив с символьной информацией для прошивок Samsung

 

SonyEricsson W800i

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

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

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

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

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

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

Войти

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

Войти



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