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

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

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

BinEdit и все о ней


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

Можно сделать на вкладке "Код" кнопку типа "Пролистнуть вверх до ближайшего Push"?

поддерживаю :)

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

f2065, закинь MSCOMCTL.OCX в корень программы BinEdit, тогда не будет искать по всему компьютеру или в путях, хотя если MSCOMCTL.OCX уже в системе то должен BinEdit работать без проблем.

Samsung SGH-D780 Duos

Прошивка D780XEHG1

Операторы: МегаВонь, МТ$

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

Хотелочка... :)

 

Можно сделать на вкладке "Код" кнопку типа "Пролистнуть вверх до ближайшего Push"? :ak:

на вкладке поиск есть кнопка f с биноклем и левее от неё есть кнопка направления поиска. По ней ищется начало функций по push и stmia

  • Like 2

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

AlexeyK.gif

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

f2065, закинь MSCOMCTL.OCX в корень программы BinEdit, тогда не будет искать по всему компьютеру или в путях, хотя если MSCOMCTL.OCX уже в системе то должен BinEdit работать без проблем.

это я уже пробовал, не помогает.

 

может для x64 какой-то другой MSCOMCTL.OCX надо ?

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

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

это я уже пробовал, не помогает.

 

может для x64 какой-то другой MSCOMCTL.OCX надо ?

А почему бы все-таки не поставить офис,и если он тебе не нужен-да удалить его? потому что я на висте х86 не мог поставить эту библиотеку,винда отказывается регистрировать ее,в винду кидаю,но регать - отказывается. только офис помог.

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

Проблема решена.

 

MSCOMCTL_7x64.rar

 

1. надо полностью отключить UAC (он в данной ситуации блокирует некоторые функции, не спрашивая).

2. перезагрузка.

3. этот файл надо распаковать в %systemroot%\SysWOW64

4. Win+R - cmd.exe - Run

5. cd %systemroot%\SysWOW64

6. regsvr32 mscomctl.ocx

7. перезагрузка

8. вернуть настройки UAC

9. перезагрузка

 

Но вообще это проблема не mscomctl, а кривизны программы. Программа должна сама корректно регистрировать нужные библиотеки, а не пользоватся чужими (в частности, чтобы библиотеки потом не пропадали, когда все корректные программы удалены и винда думает что библиотека более никому не нужна).

 

А почему бы все-таки не поставить офис,и если он тебе не нужен-да удалить его?
Пробовал, пока офис стоит - BinEdit работает. Но при удалении офиса - он за собой всё подчищает и BinEdit не работает. Потому что BinEdit не указывает винде что ему тоже нужна эта библиотека.

 

для поиска: 0x8002801c Run-time error 339 Component MSCOMCTL.OCX or one of its dependencies not correctly registered: a file is missing or invalid.

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

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

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

Но вообще это проблема не mscomctl, а кривизны программы. Программа должна сама корректно регистрировать нужные библиотеки, а не пользоватся чужими (в частности, чтобы библиотеки потом не пропадали, когда все корректные программы удалены и винда думает что библиотека более никому не нужна).

Можно сделать setup для программы, но размер увеличится до примерно 4 Мб (если цеплять все необходимые библиотеки которые у большинства и так установлены.)

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

AlexeyK.gif

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

+1 :bk: Было бы отлично :ad:

зачем ???

 

лучше просто сделать отдельный инсталлятор необходимых библиотек…

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

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

+1 :lol: Было бы отлично :ad:

Вот 2 варианта setup:

не со всеми библиотеками(2.5 Мб)

со всеми используемыми библиотеками(3.6 Мб)

 

может поможет кому.

  • Like 8

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

AlexeyK.gif

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

Нашёл баг :ak:

Вобщем, невозможно импортировать текстовые ресурсы.

Экспортирую, импортирую обратно (без редактированию) - и всё, все строки пустые, адреса 0x00000000

При следующей попытке - предлагаются какие-то адреса формата BigEndian, что наводит на мысли что где-то у BinEdit неучитывается что индексные массивы новых прошивок - LittleEndian

 

(и ResMan тоже с D980 какую-то фигню делает, пришлось тупо в UltraEdit32 написать скрипт…)

 

ещё кстати баг с "редкими" буквами - Ё-заглавное, ў, Ї, и т.д.

они неадекватно пишутся или(и) неадекватно показываются в уже имеющихся ресурсах.

видимо, обработка UTF8 неполная :59:

например в ресурсах лежит D1 9E - должно быть показано «ў», а показано либо вообще ничего либо «а».

(ресман кстати показывает правильно)

 

я вот подумал - хорошо бы сделать загрузку/выгрузку ресурсов в "настоящем" UTF8 (не HEX).

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

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

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

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

.equ O_RDWR 0x0002

.equ O_CREAT 0x0200

 

LDR R1, =O_RDWR | O_CREAT

LDR R1, =(O_RDWR | O_CREAT)

MOV R1, O_RDWR | O_CREAT

MOV R1, O_RDWR or O_CREAT

 

любая из этих команд делает R1=2, вопреки ожидаемому R=0x202)

т.е. оператор «or» в аргументе команды не работает.

хотя, вероятно его просто и не предусмотрели ? :)

и даже ошибки никакой не выдаёт :)

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

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

.equ O_RDWR 0x0002

.equ O_CREAT 0x0200

 

LDR R1, =O_RDWR | O_CREAT

LDR R1, =(O_RDWR | O_CREAT)

MOV R1, O_RDWR | O_CREAT

MOV R1, O_RDWR or O_CREAT

 

любая из этих команд делает R1=2, вопреки ожидаемому R=0x202)

т.е. оператор «or» в аргументе команды не работает.

хотя, вероятно его просто и не предусмотрели ? :)

и даже ошибки никакой не выдаёт :(

MOV R1, O_RDWR + O_CREAT должно помоч

 

Компилятор не обрабатывает логические операции. Постараюсь добавить в следующих версиях.

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

AlexeyK.gif

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

Нашёл баг :)

Вобщем, невозможно импортировать текстовые ресурсы.

Экспортирую, импортирую обратно (без редактированию) - и всё, все строки пустые, адреса 0x00000000

При следующей попытке - предлагаются какие-то адреса формата BigEndian, что наводит на мысли что где-то у BinEdit неучитывается что индексные массивы новых прошивок - LittleEndian

 

(и ResMan тоже с D980 какую-то фигню делает, пришлось тупо в UltraEdit32 написать скрипт…)

 

ещё кстати баг с "редкими" буквами - Ё-заглавное, ў, Ї, и т.д.

они неадекватно пишутся или(и) неадекватно показываются в уже имеющихся ресурсах.

видимо, обработка UTF8 неполная :(

например в ресурсах лежит D1 9E - должно быть показано «ў», а показано либо вообще ничего либо «а».

(ресман кстати показывает правильно)

 

я вот подумал - хорошо бы сделать загрузку/выгрузку ресурсов в "настоящем" UTF8 (не HEX).

В последних версиях была доработка по импорту/экспорту строковых ресурсов для прошивок типа X700 и вроде всё работало. Может какие настройки не учтены или не правильно процесс импортирования проведён.

В программе сипользуется древняя функция переконвертации UTF8<->Ansi (Всё лень на API переделать). Можно подгрузить свою перекодировочную таблицу через lng файл с учётом всех редких букв.

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

AlexeyK.gif

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

AlexeyK,

Ну в наше время надо прямую поддержку UTF8… без всяких перекодирований.

чтобы текстовый файл импорта/экспорта мог содержать и реальные UTF8-буквы (а не UTF8-HEX-дамп).

 

Потому что делать свои перекодировочные таблицы для всех редких букв затруднительно (букв то много, не только ЁЎЇЄ - вот я недавно сделал патч для ввода на латышском языке)

 

Хотя бы экспорт в UTF8 сделай… Импорт я уже при помощи скриптов UltraEdit умею делать. Но вот с экспортом вообще облом (распаковывать HEX в UTF8 автоматически нечем).

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

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

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

Нашёл ошибку при дизассемблирование команды TEQ. Значение 8B102B21 дизассемблируется как эта команда. Хотя для неё требуется другое значение 8B103B21, по документации. Или я ошибаюсь?

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

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

 

add r0,sp,0x6EC

 

или я что-то недопонимаю? может такая команда неправильна в принципе?

заменил ее на

 

ldr r0,=0x000006EC

add r0,sp

 

- патч заработал...

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

add r0,sp,0x6EC

Недопонимаешь...

 

ADD <Rd>,SP,#<imm_8> * 4

Rd := SP + #immed_8 << 2

Применимы регистры R0-R7. Только значение кратное 4 и меньшее, чем 1020 можно указывать в качестве смещения. Максимальное слагаемое равно (2**8-1)*4 = 1020.

флаги не изменяются

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

Нашёл баг: в редакторе патчей ставим курсор на первый символ хекса и жмём стрелку влево на клавиатуре.

Вылетает с такой ошибкой:

119788-18-06-09)1245327202_thumb.png

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

Здравствуйте!почему так выходит?открываю программу--нажимаю инсрументы--редактор патчей, затемя выбираю патч от прошивки D780XEHE1, нажимаю проверка патча--потом определение размеров и типов блоков, программа меня просит прошивку,я выбираю D780XEHE1 и она мне выдает: индекатор прошивки не совпадает с индикатором патча.обработка прервана!!! и так вообще с любым патчем этой прошивки!где я неправ?что проге надо?

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

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

А почему вот BinEdit не делает подмену своих собственных длинных переходов ?!

 

Подменяет только которые делают самсунговцы - arm / LDR PC.

 

А вместо своей подмены пишет нули:

2108D864: 01F0DE00 BLX _off_00000000

 

Отключаем подмену - и вот:

2108D864: 01F0DEFB BL off_2108F024

off_2108F024:

2108F024: 03B4 PUSH {R0,R1}

2108F026: 0148 LDR R0, =LoadCFG+1

2108F028: 0190 STR R0, [sP, #0x4]

2108F02A: 01BD POP {R0,PC}

2108F02C: AD768420 DCD LoadCFG+1 ; (0x208476AD)

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

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

Да,все хотел попросить сделать и подмену для своих же переходов..

Также хочу пару хотелок подбросить...

1) Компилирование патча в поле запуска кода...

2) Пока что забыл..Елси что - напишу..Надеюсь, что будет обовление BE 8) Кстати,хочу заметить, что в последней версии BE где-то засела ошибка в компиляторе..Как-то дважды щелкнув на пустую строку между кодом - выдал BE ошибку (про что-то типа ...Bounds)..

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

ошибок в компиляторе много…

он непонятно как обрабатывает ошибки в коде.

сегодян полдня не мог понять почему патч не работает, потом стал декомпилировать - смотрю а там LDR R2, 0x4nnnnnnn. А в листинге было написано типа

LDR R2, metka+1

metka:

 

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

выношу отдельно этот кусок кода в отдельный листинг - ругается, размещение данные нет.

(собственно, должно было быть написано «LDR R2, =metka+1»)

 

 

далее, он то ругается на типа предупреждение-ошибку при оптимизации кода, то не ругается. Непонятно.

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

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

Последние BE.Вот какая ошибка.

Если в терминале запустили код, и тел повис - соответственно он перезагрузился. BE считает, что тел подключен. После перезагрузки тел опять готов к бою, но - если в терминале не отключится от телефона, а еще раз запустить код (даже рабочий), BE говорит "В телефоне не нашлось достаточно места....", а затем вылетает ошибкa - Round of Bounds :ak:

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

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

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

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

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

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

Войти

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

Войти



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