Перейти к содержимому


Фотография
* * * * * 1 Голосов

BinEdit и все о ней


  • Please log in to reply
946 ответов в этой теме

#1 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-14 - 17:58

Официальный сайт BinEdit: http://binedit.sgh.ru/

Последняя версия BinEdit


Прикрепленный файл  source.rar   631,16К   Количество загрузок: 278
исходники, возможно не самые актуальные.

Если кто будет вносить какие правки, выкладывайте их в этой теме. При нумерации версии желательно использовать дату компиляции. Авторство можно поправить в frmAbout.frm

Прикрепленные файлы

  • Прикрепленный файл  binedit_add.7z   66,02К   Количество загрузок: 777


#2 DRDEATH

DRDEATH

    Магистр IIй степени

  • Почетный гражданин SGH.ru
  • Сообщений: 382
  • Город:Siberia
  • Модель телефона: SE K790i

Отправлено 2005-мар-14 - 18:17

AlexeyK, скажи вобще реально неподготовленному челу заняться партированием патчей, или здесь нужны какие то специальные навыки?

#3 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-14 - 18:42

Практика показывает что можно. Апетит (как и навыки) приходят во время еды (работы). Всему можно научиться. Конечно должна быть голова на плечах и прямые руки.

BinEdit не автопортер, как может быть многие подумали, это инструмент для изучения прошивки. Для нормального портирования патчей не помешает знать ассемблер, иметь представление о структуре прошивки. Редактор патчей в BinEdit может выполнить перекомпиляцию патча по новым адресам и с новыми данными, может частично найти эти адреса и данные, но не более того. Чем ближе прошивки тем лучше результат, но редко 100%.

#4 igo

igo

    АД_МИНИСТР_ато®

  • SGH Old School
  • Сообщений: 2 776
  • Город:ЛЮБЕРЦЫ
  • Модель телефона: Е820 , G600

Отправлено 2005-мар-14 - 18:43

AlexeyK, привет! Я не знаю, насчёт "популярности"... время покажет, а пока я эту темку "прилеплю"... Не забывай, что ты "обязался" по возможности отвечать... :lol: :wink:

#5 DRDEATH

DRDEATH

    Магистр IIй степени

  • Почетный гражданин SGH.ru
  • Сообщений: 382
  • Город:Siberia
  • Модель телефона: SE K790i

Отправлено 2005-мар-14 - 18:53

Вот, кое-что раздобыл!!! ЛЮДИ, ЧЕЛОВЕКИ, довольно тупых тем, давайте всем миром разбираться что к чему, тем более что тема актуальная!!!
************************************************
DRDEATH, золотые слова ) :wink:

Описание программы и редактора патчей - http://binedit.sgh.ru/readme2.php
Описание компилятора - http://binedit.sgh.ru/readme3.php

Прикрепленные файлы


Сообщение отредактировал AlexeyK: 2008-янв-06 - 09:20

  • Voron96 likes this

#6 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-14 - 20:50

Описание немного устарело, но в общем изменения в основном касаются добавлений.

Вот описание последних изменений от 14.03.05.

Перенос текстовых ресурсов между прошивками.
1. Открываем прошивку с нужными текстовыми ресурсами, например G1 для X100.
2. с правой стороны открываем вкладку "Текстовые индексы" и в верхнем поле выбираем нужный язык, например "Русский"
3. чуть выше нажимаем кнопку с дискетой и на предложение выбираем папку и возможно меняем имя файла для сохранения текстовых ресурсов.
4. Загружаем другую прошивку на которую производим перенос текстовых ресурсов, например WK3 для X100 (не русская прошивка)
5. на вкладке "Текстовые индексы" выбираем язык на место которого будем импортировать ресурсы, например, Tiбєїng Việt (Tig Vi). Надо чтобы хватило места под импортируемые ресурсы (пока в этой версии)
6. Нажимаем кнопку с открытой папкой и находим сохранённый ранее файл.
7. После выбора файла, будет предложено два варианта действий: создать патч для замещения ресурсов или наложить сразу новый ресурс на прошивку. Выбираем как душе угодно.
8. Во время импортирования ресурсов, при их отсутствии, будет предложено ввести перевод с английского, но можно оставить и английскую фразу, нажав Ok
9. Если делали патч, то открываем редактор патчей и сохраняем патч кому в каком формате нравится: dif, xml, smp, pth. Если накладывали на прошивку, то сохраняем её.
В итоге должна получится (на русская) прошивка WK3 с русифицированным меню и сообщениями.

PS. Это новое в программе, по этому возможны глюки, bag репорты и коментарии приветствуются. Позже будет удаление языков из прошивки, загрузка новых на свободное место, импорт/экспорт языков ввода с поддержкой T9.
  • нравится это

#7 DRDEATH

DRDEATH

    Магистр IIй степени

  • Почетный гражданин SGH.ru
  • Сообщений: 382
  • Город:Siberia
  • Модель телефона: SE K790i

Отправлено 2005-мар-16 - 11:33

Boris1985, ты очевидно недопонимаешь о чем речь идет, В ЭТОЙ ТЕМЕ ИДЕТ ОБСУЖДЕНИЕ ПРОГРАММЫ BINEDIT_by_Alexeyk, ты со своим флудняком достал уже, я тебе говорю ЕСЛИ У ТЕБЯ ЕСТЬ КОНКРЕТНЫЕ МЫСЛИ КАК ИЗЛАДИТЬ ЭТОТ ПАТЧ, ТО ВЫСКАЗЫВАЙ ИХ ЗДЕСЬ, а ты скачешь по разным разделам форума с одной и той же бредятиной, плохо, очень плохо!!! :twisted: :twisted: :twisted:

PS обращение к Модерам: пожалста, удалите отсюда весь этот флуд!!!

#8 ARNOLDik

ARNOLDik

    Я тут недавно

  • Стажёр
  • Сообщений: 7
  • Город:г.Минск Беларусь

Отправлено 2005-мар-17 - 20:23

Aleks! Подскажи, пожалуйста!
Когда портируешь патч, эквиваленты-это адрес прошивки на которую портируем патч?
я правильно понял? Я так думаю что да....
При определении этого эквивалента нужно смотреть код первой прошивки совпадал с кодом второй? или МСС совпадал? Как правильно найти эквивалент?

#9 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-17 - 20:45

ARNOLDik, всё правильно. Программа при анализе просматривает патч и выделяет код и данные подверженные изменениям. Это могут быть адреса переменных в памяти, или адреса вызовов функций или переходов, адреса размещения блоков и др. для них создаются сигнатуры (как правило участки кода в HEX формате в которых переменные коды заменены знаками вопроса). потом для этих сигнатур находятся эквиваленты для другой прошивки. на последнем этапе программа переносит патч по данным эквивалентам (как бы перекомпилирует его). Это всё ТЕОРИЯ. Если прошивки близкие то всё в порядке - как правило находятся все эквиваленты, если нет то часть эквивалентов надо будет ввести (найти вручную).

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

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

PS. Ещё важна длина сигнатуры, настраивается через меню чем больше тем точнее и медленнее

#10 ARNOLDik

ARNOLDik

    Я тут недавно

  • Стажёр
  • Сообщений: 7
  • Город:г.Минск Беларусь

Отправлено 2005-мар-17 - 21:03

AlexeyK, если вводим вручную, то должны коды быть одинаковы???? будем пробовать.....

#11 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-18 - 18:35

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

По поводу кодов не совсем понял вопрос

#12 Crescent

Crescent

    SGH OC Crescent

  • SGH OC Crescent
  • Сообщений: 159
  • Город:г.Железногорск (Курская обл.)
  • Модель телефона: Acer E101

Отправлено 2005-мар-18 - 21:34

Сам с интересом буду наблюдать за событиями...
=====================================================
Для начинающих: сам начал портировать ещё вроде со второй версии проги и поверте,по первой я просто психовал от беспомощности и безграмотности (хотя и щас ни фига не понимаю :mrgreen: ),но это уже будет Вам + (плюс) и толчок (не путать с туалетом!!!) для вдохновения к новым шагам и как заметил коллега AlexeyK, " Апетит (как и навыки) приходят во время еды (работы)"...Дерзайте!!!Пробуйте с простых патчей и не важно что они уже сделааны...портируйте и убеждайтесь что вы сделали так же и тогда Вы поймёте со временем все тонкости... :cry:

P.S.-Во на куралесил... :D гы-гы :cry:

#13 DRDEATH

DRDEATH

    Магистр IIй степени

  • Почетный гражданин SGH.ru
  • Сообщений: 382
  • Город:Siberia
  • Модель телефона: SE K790i

Отправлено 2005-мар-22 - 11:28

Сегодня мне наконец-то удалось партировать первый патч LCD_off с прошивки Х60DI2 на Х60DL2 - это было просто СУПЕР :?: :?: !!! Но не все так просто как кажется, этот патч имеет всего навсего один адрес, и поэтому все прошло так гладко, при попытке портирования других патчей возникли трудности с нахождением эквивалентных адресов и с назначением сигнатур для оных, просто еще не хватает практики, вот бы какой-нибудь добрый человек на конкретном примере объяснил че да как... :( :-)

ЗЫ. Обращение к AlexeyK, пожалуста, если есть такая возможность, то по мере выкладывай здесь любую инфу, как говорится все в дело сгодится :) :-) (особенно по сигнатурам и адресам)

#14 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-22 - 11:59

DRDEATH, как скажешь. :(

Про сигнатуры уже вроде писал. Вот дополнительно их формат с примером:

структура сигнатуры: ключи + hex код для поиска
ключи:
"+" - арифметическое смещение от адреса, задаётся в нех (8 символов)
"&" - взать значение по адресу
"*" - относительное смещение по операции в адресе (обрабатываются Rx=PC+XX, Rx=[PC+XX], B, BL)
"@" - определение сигнатуры по имени из списка сигнатур, после ключа идет 4 байта длина в HEX коде и имя
"M" - пропустить xxxx MCC команд, xxxx задаётся в нех (4 символа)
"P" - взять в качестве адреса значение параметра 5

пример: +00000020&*+00000002B5FF48??01....
находится строка B5FF48??01...., к найденному адресу прибавляется 2, по данным инструкции 48?? определяется адрес расположения данных
потом берутся данные по адресу и к ним прибавляется 32 (0x20). Полученное значение и будет искомым

--------------------------------------------------------------------------------------------
Вкладка "Сигнатуры"
На вкладке приведён список адресов, их мнемонических обозначений и коментарии к адресу. Загрузить данные в таблицу можно из файлов формата sig и sym. Файлы sym - это продукт работы компилятора при создании прошивки, содержит только адреса и их мнемонические обозначения. Файлы sig дополнительно могут содержать коментарии и сигнатуры для поиска эквивалента в не родной прошивке.
Программа при оттображении кода или МСС структур заменяет адреса на их обозначения с коментариями. Это превращает сырой код в более менее понятный для понимания.
Про преимущества загрузки sig файлов, вроде в описании было написано.
  • Aleks-Samoxin likes this

#15 PIcc

PIcc

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 33
  • Город:Сами мы не местные...

Отправлено 2005-мар-24 - 10:51

Я что-то никак не въеду до конца в листинг,который выдает прорамма...
Не подскажете, где можно просвятиться на этот счет?

#16 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-24 - 16:23

PIcc, какой листинг имеется ввиду?

Если тот что с левой стороны в HEX редакторе, то там может быть 3 варианта
1. собственно Hex код, состоит из адреса, 16 байт в hex формате и они же в виде текста
2. дезассемблированный код, состоит из адреса, 2 или 4 байта в hex формате (команда, их можно редактировать), мнемоническое описание команды (ассемблерный код) и коментарий или описание команды
3. МСС код, состоит из адреса hex-кода МСС команды (можно редактировать) и её описания.

Если реч идёт о том что пишется внизу редактора патчей, то там приводатся результаты работы, предупреждения и предложения
  • нравится это

#17 Total

Total

    Служебный аккаунт

  • Участники
  • Сообщений: 1 188
  • Город:Служебный аккаунт! Для сохранения некоторых сообщений.

Отправлено 2005-мар-25 - 06:48

В этой проге язык можно с прашивки вообще удалить. Чтоб место освободилось для других файлов :roll:

#18 PIcc

PIcc

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 33
  • Город:Сами мы не местные...

Отправлено 2005-мар-25 - 10:35

Дезассемблированный код. Он у меня рождает одни вопросы. Хотелось бы найти на них ответы. На данный момент я только понимаю, что все крутиться вокруг регистров... А что за регистры, для чего они... Как вообще происходит ввод с клавы, вывод на экран и т.д. Должна же быть какая-нибудь инфа по "нутру".

#19 AlexeyK

AlexeyK

    SGH CodeMaster

  • SGH CodeMaster
  • Сообщений: 316
  • Модель телефона: E200

Отправлено 2005-мар-25 - 17:53

Lepys, пока нет. Бвозможность будет в одной из следующих версий
PIcc, В процессоре есть тридцатидвух разрядные ячейки памяти с которыми он может оперировать, это и есть регистры. Процессор может над ними выполнять простейшие операции: сложение, умножение, сдвиг, копирование. Так же процессор может обращаться к внешней памяти и портам (чтение и запись), определяемыми 32-разрядними адресами. Вот из этих мелочей и написаны все остальные функции.

Вывод на экран и управление экраном осуществляется через порты 0x20000000 и 0x20000004. путём последовательной записи команд и данных
Для вывода картинки естевственно есть соответствующая функция.
С вводом с клавиатуры пока не разобрался, но вроде все функции обрабатывающие нажатия клавишь получают коды через системные сообщения

PS. Операционная система в телефоне многозадачная, что то типа Windows или Unix (в общем круче чем DOS)

#20 PIcc

PIcc

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 33
  • Город:Сами мы не местные...

Отправлено 2005-мар-26 - 08:29

AlexeyK,СПАСИБО за инфу!
А что там такое за АМR режим?...




2 человек читают эту тему

0 пользователей, 0 гостей, 0 скрытых пользователей


    BrandWatch (2)

Титан гель отзывы на http://fabri.com.ua/titangel.html


Яндекс цитирования