AlexeyK
-
Постов
316 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
События
Сообщения, опубликованные AlexeyK
-
-
den_po, програма не верно определила длинну копируемого блока. и ты прав, по адресу 0x44000000 всё остаётся.
адрес размещения векторов прерываний задаётся 1 битом в статусном регистре. доступ к нему можно получить через 15 сопроцессор. как правило адрес размещения векторов всегда 0x00000000
-
John2403, попробую объяснить. в начале прошивки находятся вектора прерываний, которые после включения телефона ремапятся или копируются на одну из областей 0x00000000 или 0xFFFF0000, так уж устроена работа процессора. binedit выполняет туже операцию. вот по этому начало прошивки всегда и оказывается по нулевому адресу.
-
John2403,
Только что у себя проверил, вроде без проблем наложился.
Я грузил mbn файл от K750(R1BC002) и применял vkp патч, хотя формат патча практически не имеет значения.
зря подправил, первые несколько байт и должны начинаться с нуля. Они так и в телефоне расположены.
Удали R2CA001.be файл из папки befiles, а потом загрузи прошивку в mbn формате, так надёжнее.
-
Eugine, естественно не все форматы. bif файлы понимает ещё одна программа. точно названия не помню, что то типа LG_Resman, с сайта LG_talks, она может откроет, так как для неё bif - базовый формат. Одно но, похожет проект прикрыт.
Если надо, пиши в личку, дам координаты автора.
PS. Поддержку других картинок могу сделать, только нужна прошивка и время, которого совсем нет .
-
Matuhan, странный глюк какой-то. То качается, то нет. Сейчас будет точно качаться, не с первого, так со второго раза
-
Уже вроде работает
-
armagedon, в binedit есть компилятор, можно там написать что хочешь и скомпилировать
0_адрес_где: BL 0x_адрес_куда
или там ещё есть калькулятор переходов, можно там ввести
Если хочешь сам считать, тогда так
F123F456 -> 12345*2 - смещение от значения регистра PC (на 4 больше текущего адреса). старший бит знаковый. Это упрощённая форма, частный случай только для BL THUMB режима.
Например
FFFFFFF -> FFFFFF*2=1FFFFFE, так как старший бит 1 значит число отрицательное, т.е. -2
-
dаs,
чем конвертируешь? пускай прошивка начинается с 0. программа сама сделает ремапинг на нужный адрес.
Попробуй загрузить в программу прошивку в s3 формате.
если программа сама не определит адрес загрузки то её можно помочь, записав строчку в be файл или binedit.ini файл
Bin ID="X660XEFA1" adr="0x?????" base="0x20000000" TYPE_ARM="LittleEndian"
-
vvyura, можно так
.equ KEYCODE_UP 0x04
или так
KEYCODE_UP equ 0x04
точно не помню, но если не сработает, то добавлю
KEYCODE_UP = 0x04
причем
KEYCODE_UP equ 2+2
тоже работает.
-
можно будет по клику в строке статуса ввести нужную строку.
-
cr_az2, а для чего нужен номер строки?
-
yuansw, в принципе в любой версии есть, только в последней дополнительно расшифровываются маски принимаемых параметров.
-
По примеру сиеменс написал CGSN патч. Возможности:
1. чтение данных из прошивки и оперативной памяти.
2. зпись данных в оперативную память.
3. запрос и резервирование блока памяти.
4. освобождение ранее выделеного блока
5. запуск кода с указанием значениий регистров и стека
6. поиск в прошивке и оперативной памяти по Hex маске, например 45?78???AF56
Примечание.
- поиск может занимать довольно продолжительное время. и если в терминале нет постоянного опроса, то ответ на запрос может прийти не сразу, а после дополнительного чтения.
- в коде патча отсутствуют всякие проверки, так что передавать параметры надо аккуратно.
- адреса и длины в патчах записываются в bigendian виде, данные регистров и стека в виде RAW данных прошивки. возврат данных соответсвенно такой же.
- при запуске на выполнение кода thumb надо к адресу прибавить 1
- патч проверен только для X600.
Дополнительно небольшая програмка - терминал COM порта (поменял 27.01.07, предыдущая для нормального запуска требовала наличие записи в реестре с параметрами соединения. )
COM порт можно указать любой, надо только выбрать или ввести его имя.
Кнопка "Выполнить" в терминале позволяет запустить код записанный в Hex формате в строке запроса.
PS. Всё представленное выложено для тестирования с исходниками, так что предложения и комментарии принимаются.
PSS. Выражаю огромную благодарность Alex/AT за исходники работы с COM портом
-
DJArtCorp, в последней версии моей программы сделал поиск AT комманд в прошивке с расшифровкой их параметров
во вложении результаты сканирования для D900XEFH3.cla
Нормальным завершением ответа на комманду является OK
если получишь #OK#, то это означает, что передано только часть данных, для получения остальных отправь в порт ##> или для завершения передачи END>
-
DJArtCorp, для delphi исходники для COM порта Alex/AT выкладывал на другом форуме
во вложениях его исходники и мои переделки для VB
- 1
-
EvgeniyZ, в принципе в панельке с кнопками есть 3 кнопк: комментировать строки, раскомментировать строки и комментировать блок. Можно выделить часть кода и закоментировать сразу все строки обычными ; иногда это даже удобнее, чем комментировать блок. Хотя если не пользуешься встроенным редактором, это не существено.
-
Dimy4, Спасибо, выложу на сайте
-
ЖенёкX460, отдельно этот блок компилируется нормально. видимо ошибка не в нём. Скорее всего exWriteFile определена гдето ещё. либо в другой части кода, или в символах. Первое можно поиском найти, второе можно исключить отменив в настройках использование символов от прошивки.
Посмотри на вкладке "Метки" её значение.
PS. Если лень искать, вышли весь код мне, конфиденциальность гарантирую.
-
ЖенёкX460, код в студию может действительно не дотягивают. там ограничение вроде +-128 байт или 64 команды
-
Buzzzzer, с багом разобрался, в следующей версии должно будет работать нормально. Пока убери галку в меню: "Утилиты" - "Корректировать данные блока при изменении его адреса."
IronMaster, загрузку поправил в этой прошивке первые несколько байт располагаются по нулевому адресу, остальные уже с 0x4400000, теперь будет уточнять с какого грузить.
PS. Спасибо за поздравления
-
chaojimali20, For division in hex the editor the symbol with a code 160 is used (having not dug a blank). In your coding it is what that a managing symbol. Yet I do not know as it is possible to bypass it. It is necessary to copy a lot of code and for certain there will be a heap of mistakes
-
IronMaster, raw - это обычный bin, переименуй и будет все нормально грузиться. mbn грузить лучше, так как там уже заложены адреса загрузки.
-
А в чём проблема программа уже год как может при загрузке и сканировании прошивки определять адрес её загрузки. всё найденое сохраняется в be файл. единственное сканирование не запускается если не определён идентификатор прошивки.
В общем эта должна работать - http://binedit.sgh.ru/binedit_SE.7z грузить можно и mbn
Buzzzzer, ЖенёкX460, спасибо за баг, только не могу его повторить, напишите поднобнее, какие адреса блоков, на какие меняеете, обновляете ли данные отмены?
-
^skynet^, нет адрес блока
<nord offset = "0x10154000" from = "3E6B3A6B" to = "11A82110"/>
определён не правильно.
во from тоже должен быть адрес и код по тому адресу должен быть MCC
BinEdit и все о ней
в Программирование и реверсинг
Опубликовано
John2403, можно сделать. в аське иногда появляюсь инвизибл. пиши в off-line.
Geolog, опиши как у тебя грузится прошивка. Порядок примерно такой.
После загрузки определяется идентификатор прошивки, если прошивка грузится первый раз или нет сответствующего be файла, запускается сканирвоание прошивки. Результаты сканирования можно посмотреть на последней вкладке правого поля. После закрытия программы результаты сканирования сохраняются в be файл в папку \befiles.
В файле должна быть строчка примерно следующего содержания:
Bin ID="R1BC002" adr="0x65DF90" base="0x44020000" TYPE_ARM="LittleEndian"
Откуда версия с исходниками? я их давно не выкладывал, только по почте посылал Видимо очень старая версия программы.
И странно почему русская отказалась работать, так как программа изначально русская, перевод на другие языки производится после запуска программы ресурсами из lng файлов.
be файлы находятся в папке \befiles, создаётся после первого успешного сканирования прошивки.
binedit.ini - там иписание MCC команд и для SE он не актуален. идинственное он обрабатывается также как be файл и выполняет начальную инициализацию программы. строчкой
Bin base="0x44020000" можно принудительно задать базу для всех загружаемых прошивок, но не уверен, что это будет нормально работать.