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

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

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

BinEdit и все о ней


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

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

 

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

 

 

source.rarисходники, возможно не самые актуальные.

 

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

binedit_add.7z

  • Like 18

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

AlexeyK.gif

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

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

В глазах - обида, в руках - утюг...

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

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

 

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

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

AlexeyK.gif

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

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

О`знакомься ->-> igo-shurup ... есть ещё вопросы ? ...нет ? Тогда , Быть Добру !!! на SGH.RU

===============

Ну и... для чего так убиваться по пустякам ? Вы же так ... никогда не убьётесь

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

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

************************************************

DRDEATH, золотые слова ) :wink:

 

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

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

___________________BinEdit.zip

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

В глазах - обида, в руках - утюг...

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

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

 

Вот описание последних изменений от 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.

  • Like 2

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

AlexeyK.gif

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

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

 

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

В глазах - обида, в руках - утюг...

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

Aleks! Подскажи, пожалуйста!

Когда портируешь патч, эквиваленты-это адрес прошивки на которую портируем патч?

я правильно понял? Я так думаю что да....

При определении этого эквивалента нужно смотреть код первой прошивки совпадал с кодом второй? или МСС совпадал? Как правильно найти эквивалент?

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

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

 

При определении эквивалента главное чтобы сигнатыру кодов совпадали.

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

 

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

 

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

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

AlexeyK.gif

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

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

 

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

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

AlexeyK.gif

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

Сам с интересом буду наблюдать за событиями...

=====================================================

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

 

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

Noli manare, manare in memoria...

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

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

 

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

В глазах - обида, в руках - утюг...

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

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 файлов, вроде в описании было написано.

  • Like 1

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

AlexeyK.gif

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

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

Не подскажете, где можно просвятиться на этот счет?

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

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

 

Если тот что с левой стороны в HEX редакторе, то там может быть 3 варианта

1. собственно Hex код, состоит из адреса, 16 байт в hex формате и они же в виде текста

2. дезассемблированный код, состоит из адреса, 2 или 4 байта в hex формате (команда, их можно редактировать), мнемоническое описание команды (ассемблерный код) и коментарий или описание команды

3. МСС код, состоит из адреса hex-кода МСС команды (можно редактировать) и её описания.

 

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

  • Like 2

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

AlexeyK.gif

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

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

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

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

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

Lepys, пока нет. Бвозможность будет в одной из следующих версий

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

 

Вывод на экран и управление экраном осуществляется через порты 0x20000000 и 0x20000004. путём последовательной записи команд и данных

Для вывода картинки естевственно есть соответствующая функция.

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

 

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

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

AlexeyK.gif

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

Процессор в телефоне может работать с двумя наборами команд AMR и THUMB. В первом случае все команды занимают 4 байта и выполняются быстрее (родной режим). Во втором случае почти все команды занимают 2 байта (код занимает меньше места) но из за преобразования к основному AMR - выполняется медленнее.

 

80-90 % кода прошивки в THUMB, остальное AMR

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

AlexeyK.gif

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

Спасибо! У меня ещё есть вопросы! :mrgreen: Можно сделать в программе поддержку дампов,слитых с тела? Чтобы "на месте" смотреть.

И я немного непонял,в Bin`е трейсер отрабатывает только команды перехода?

Другие он никак не хочет... :(

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

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

 

Bin`е трейсер - обрабатывал только переходы, сейчас эти же функции может выполнять Hex редактор в режиме просмотра кода (двойной щелчёк по адресу в команде перехода). В последних версиях Bin`е трейсер вообще удаллён. Тассировка в полном объёме если и будет, то не в ближайшие месяцы.

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

AlexeyK.gif

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

Что кромк асемблера прямых рук настойчивости и упорства ещё надо чтобы понять что к чему в этой проге?

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

Sotneo, наверное не хватает только нормального описания с примерами.

 

PS. Смотри на неё как на hex-редактор адаптированный для редактирования кода прошивок, может это поможет.

 

Что именно не понятно, спрашивай, постараюсь объяснить.

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

AlexeyK.gif

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

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

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

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

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

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

Войти

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

Войти



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