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

AlexeyK

SGH Open Club
  • Постов

    316
  • Зарегистрирован

  • Посещение

Весь контент AlexeyK

  1. Будет, если будет время и подобная прошивка, желательно не одна. Скорее всего проблемы с определением ремапинга.
  2. а в настройках мультипоиск установлен? и по какой кнопке ищешь. поиск сигнатуры или Hex?
  3. продолжение про крамера. жук в муравейнике и волны гасят ветер zhuk_v_muraveynike_i_volny_gasyat_veter.rar
  4. к сохранению be файла этот вопрос отношения не имеет. Это сохранения базы по прошивке (где и какие данные расположены) FRAER, Возможно в папке befiles есть какой нибудь не правильный be файл. Можно попробовать переименовать эту папку и попробовать открыть файл. Сохранить be файл можно на вкладке свойства. кнопочка с дискетой.
  5. у первых вариантов переноса патча на линейку swift были проблемы с некоторыми функциями патча, вот их и наверное и упразднили . Кстати одно исправление в указанном патче можно было не делать. чтобы не убивались начальные нули надо заключать параметры в кавычки. так было и на X100.
  6. На вкладке Код есть кнопка для копирования, там можн скопировать данные как Hex код, так и как уже готовую сигнатуру для поиска. Ещё в строке поиска есть кнопка "T" которая может расставить ? в соответсвии с командами THUMB и "A" для команд ARM
  7. странно, именно так и было всё задумано тогда, и вроде работало. в самом патче минимум проверок на адекватность данных, может по этому. для запуска thumb кода надо к адресу прибавлят +1. PS. Привет, давно не было слышно.
  8. приводи конкретные примеры, что не находится, как искал и что именно не получается. PS. на вкладке "Свойства" в строке эквивалент есть бинокль, попробуй нажать её. Для поиска там используются другие, более сложные алгоритмы. Может, поможет
  9. что то вроде bios есть . в процессоре зашита микро программа, которая либо стартует основной код, либо позволяет загрузить загрузчики, которые в свою очередь позволяют, например, перепрошить телефон. ИХМО. программа, скорее всего, сама не вызывает прерывания операционной системы, а просто считывает данные из оперативной памяти, а вот туда их помещают резидентные модули(ОС) , которые запускаются либо по таймеру, либо по внешним прерываниям.
  10. Assasin DeNiS, автоматический перенос патчей между прошивками не возможно сделать идеальным, если конечно, речь о нем. 1. какие прошивки и какой патч переносишь? 2. каким способом переносишь? 3. есть и другие вопросы, например, какого характера адрес? (может это и не адрес и его не надо менять), но без ответов на первые 2 их бесполезно задавать.
  11. в настройках должен быть включён обновлённый режим анализа кода и вот это компилируется нормально. .author f2065,Евгений,Портировал_на_D980XEHJ6,f2065@######.ru,http://2065.nm.ru,350#####,WM### квычки не обрабатываются, позже будут. причина такая же как и с .author. Надо в настройках поменять режим анализа кода. Эта настройка оставлена для совместимости с патчами, написанными с использованием первых версий программы. .data t_myinfo: .ansi 0x0D,0x0A .ansi "aaaaa",0x0D,0x0A .ansi "bbbbb",0x0D,0x0A .ansi "cccccc",0x0D,0x0A .equ t_myinfo_size = $-t_myinfo Всё прекрастно компилируется, только что то лишнее, либо .equ, либо = tmp1: .ansi 0x00 .equ t_myinfo_size tmp1-t_myinfo или tmp1: .ansi 0x00 t_myinfo_size = tmp1-t_myinfo или t_myinfo_size = $-t_myinfo или .equ t_myinfo_size $-t_myinfo Следует еще учитывать, что $ -содержит не текущий адрес, а значение PC для поцессора, тоесть на 2 или на 4 больше. PS. Кстати \n, \t и другие тоже обрабатываются, так что можно писать так .data t_myinfo: .ansi "\naaaaa\nbbbbb\ncccccc\n" t_myinfo_size = $-t_myinfo
  12. f2065 кроме основных текстовых ресурсов в прошивке много и других, которые не ищутся автоматически при загрузке прошивки. Например, ресурсы браузера, строки трассировки. Есть и другие. Ничто не мешает добавить их отображение вручную. Для этого надо добавить в be файл команду StringTable adr="0x0" countadr="0x0" default="0x0" name="" Code="UTF8|ANSI|UNICODE|LUNICODE" type="0" mul="0" Offsets="0x0" соответствено заполнив необходимые значения. adr - адрес таблицы адресов или смещений до строк. countadr - адрес по которому хранится количество этих строк default - количество строк по умолчанию name - название которое будет отображатся в списке языковых ресурсов Code - кодировка строк. надо выбрать один из предложенных вариантов type, mul и Offsets можно не менять, так как они для прошивок Samsung не нужны.
  13. потому как не правильно и надо определить адрес загрузки. Приведи дизассемблированный код с начала прошивки. может получится помочь.
  14. Лучше конечно с такими вопросами приводить код По идее это баг и насколько помню, компилятор должен сообщать об ошибке, но после появления регионов namespace использование одинаковых меток вполне допустимо в разных регионах.
  15. попробуй предыдущей версией программы. Этот модуль в последнее время вроде не изменял. для этого всё в программе есть уже больше года точно. Я использовался только binedit при раскопках, для разбора всей структуры шрифтов хватило полтора дня свободного времени. PS. Могу подсказать если, что (в пределах возможного) через личку или icq
  16. В принципе в настройках компилятора есть пункт "Искать адреса редиректов для длинных переходов". во многих случаях компилятор сам сможет найти нужный редирект и сделать вызов через него. PS. правда настройка мало тестировалась и по умолчанию отключена. На вариантах которыя я сам проверял вроде работало, но мало статистики.
  17. Что именно подразумевается под поддержкой, и какие именно модели китайских прошивок надо поддерживать (MTK, Spreadtrum или ещё что)? На данный момент программе всё равно, от какого телефона прошивка, лишь бы она была для ARM процессора. Единственное для некоторых производителей есть сканирование стандартных ресурсов. Для большинства прошивок от MTK есть определение ID прошивки, плюс есть поддержка некоторых разновидностей строковых ресурсов для этих прошивок. PS. я имею некоторое отношение к проекту GStarTools. т.е. разработки, использованные там, я могу только частично использовать здесь, так как это не коммерческий проект.
  18. в программе реализовано соединение без прокси. или экран межсетевой не пускает. вот прямая ссылка на обновление http://binedit.sgh.ru/BinEdit_min.7z
  19. в этой версии нельзя, только в следующем обновлении.
  20. поправлю. Пока это можно делать вручную. Есть директивы .patchcoment и .req перед опцией пишем .patchcoment .req N после опции .patchcoment .req Y или наоборот
  21. zizu, [AlaSToR] попробую повторить и исправить, я с таким ни разу не сталкивался. Sylar на 100% не возможно. Так как вариантов "компенсации" много. можно только добавлять варианты. В отличии от получения адреса компенсированного перехода, обратный поиск может и не сложнее, но значительно больше, так как найти адрес в прошивке не сложно и место где он используется, тоже, но адрес адрес запуска этой "функции компенсации" определить можно только подбором, что и сильно замедляет поиск. Например, BX PC LDR R12,=adres bx R12 здесь запуск может быть как на BX или THUMB кода, так и на LDR из ARM кода. И это ещё самый простой пример. В общем нужны примеры, тех функций которые не находятся с указанием кода с места вызова и кода самих функций, желательно с HEX данными и адресами их расположения, ну и название прошивки.
  22. Появилось немного времени добавил компиляцию опций. Вот описание: Компиляция опций. .options [check|list] , "Наименование опций" - начала формирования блока опций. По умолчанию формируются опции типа list .option [def|default] [, "Наименование опции"] – заголовок отдельной опции. Опция с ключом default будет использована в основном коде. Приоритет имеет последняя опция с таким ключом. .endoptions - завершение формирования блока опций Примечание. Внутри определения опций не допускается изменение текущего адреса компиляции. В основной код попадает кусок после директивы .options и до первой директивы .option или после директивы .option с ключом default. Длину блоков можно не подбирать, при компиляции будет произведено автоматическое выравнивание длины. Пустое место заполняется нулями, что эквивалентно команде NOP. Для опций типа check наименование опции можно не использовать, всё равно для варианта on будет использоваться первая следующая директива .option, а для off – вторая. Пример. 02346: ;Код до начала описания опций mov R1, 10 add R1, 20 ;заголовок опций .options list, "опции списком" ;этот код окажется в основном коде, если в директивах .option не будет ключа default bl 0x12344 ;описание первой опции .option "Переход на адрес 0x3456" bl 0x3456 ;описание второй опции .option def, "Sub R1, 100" sub R1,100 ;описание третьей опции .option "несколько команд" mov R0, R1 add R1,34 mul r0,r1 ;описание четвёртой опции .option "данные" .word $+7 ;завершения описания опции .endoptions ;код который будет после опций add R1,5 получается такое <?xml version="1.0" encoding="Windows-1251"?> <patch version="0.5"> <info title="" id="00000000" group="" version=""> <description short="" /> <author nickname="AlexeyK" fullname="Калёнов Алексей Владимирович" status="Автор" email="" www="" icq="282456587" donate="" /> </info> <patchdata firmware="" > <changes> <nord offset="0x2346" to="0A2114316439000000000531" /> </changes> <options> <list title="опции списком" offset="0x234A" type="data" values="Переход на адрес 0x3456=01F084F80000;Sub R1, 100=643900000000;несколько команд=081C22314843;данные=532300000000" /> </options> </patchdata> </patch> Давно не занимался патчами, по этому вопрос. Всё ли так получается как должно быть. Если всё нормально, то как только будет возможность выложу обновление (сейчас есть проблемы с доступом к сайту )
×
×
  • Создать...