#21 [22.09.08, 19:40] FAQ. Наиболее легкий способ портирования функций
Решил значит накактать FAQ по портированию функций библиотеки. как мне кажется уже проще моего - некуда. В примере будет описано портирование функции 0450: 00000000 B9616744 ; 114: int sprintf(char *buf, const char *fmt, ...); с W850 SW-R1KG001 для W580 SW-R8BE001 Что значит нам понадобится: 1) фактически единственная прога HxDen (прикрепил) (вместо нее можно использовать другие подобные проги, к примеру бинэдит. просто что в этой нет ничего лишнего). 2) Так же понадобятся уже сконвертированные прошивки w580 и w850 в формат raw. И так приступим. 1.Открываем программой HxDen обе прошивки. выбираем для начала w850. 2. теперь рассмотрим функцию "B9616744". для начала перевернем ее попарно. получаем 446761b9 . 3 теперь открываем виндовский калькулятор. вычитаем из 446761b9 - оффсет(конкретно в моем случае 44140000. чвой оффсет можно узнать с помошью программы babe2raw) получаем 5361B9 . 4.значит переходим по этому адресу(offset). и вот перед нами участок кода по этому адресу. я беру 7 байт(должно хватить)(в раззных случаях берем по-разному. иногда может хватить и 3 байт, иногда нужно больше) B4 10 B5 82 B0 04 1C 04 - вот они те самые 7 байт. 5. теперь переходим в прощивку w580. жмем Ctrl + F в открывшимся окне в поле Seath for: вводим те самые найденные "B4 10 B5 82 B0 04 1C 04" в поле Datatypes выбираем Hex-values ставим галочку на all и жмепм окей. получаем offset(в левом нижнем углу) 417079. 6.теперь снова открываем калькулятор. вводим получившееся значение "417079" и прибавляем 44140000. получаем 44557079. теперь попарно переварачиваем и получаем 79705544. вот впринципе и все.
Этот способ я считаю одним из самых простых. в место м предлагаемой мною проги HxDen можно использовать иду. Этим способом возможно получится портировать не все функции. Будут вопросы - задавайте. врятли получится портировать с одной платформы на другую. (с) zapret007 специально для сайтов mobilefree и se-team
P.S. не бросаемся сразу портировать все недастоющие функции. сначала нужно посмотреть ее описание вот к примеру функция для w580 непортированная. ;0B70: xxxxxxxx yyyyyyyy ; 2DC: void OrangeLED_Control(int _free_val, int or_LED_ID, int level, int fade_time); думаю дай-ко портану ага.. а если в название вчитаться - становится ясно, что ее в телефоне то нету нету оранжевого диода
прикрепляю программу для более быстрого переворачивания адресов и выитания\прибавления оффсета
Регистрация: 7.1.08 Сообщений: 210 Репутация: 41 Откуда: Новосибирск
#22 [24.09.08, 19:13] Re: FAQ. Наиболее легкий способ портирования функций
zapret007, я взял для поиска 7байт, с 7байтами я не нашёл, убрал 1 байт, прога нашла адрес, ради интереса убрал ещё один байт, прога показала уже совсем другой адрес, вопрос вот в чём, для поиска адреса, лучше указывать, чем больше байт тем лучше или нет?
хотел портануть функу 29F из w800 R1BD001 на w810 R4EA031. а через иду кстати совсем другие адреса получились, 8 адресов для 29F нашёл. ни один адрес не совпал с найденными адресами в HxDen. странно...
Регистрация: 7.1.08 Сообщений: 210 Репутация: 41 Откуда: Новосибирск
#24 [24.09.08, 20:41] Re: FAQ. Наиболее легкий способ портирования функций
68-artem писал:
qwert, Она на В800 не верна
а не подскажешь как можно портировать фуеки с дб2020 на дб2010? и ещё вопрос, писали что у дб2010 адрес 44020000, а на дб2020 44140000, у меня в810, он дб2010, а адрес показывает в бэйб2рав 44140000, ясно понятно что 44140000 правильно, но почему в 810 такой особенный?
#31 [24.09.08, 22:43] Re: FAQ. Наиболее легкий способ портирования функций
qwert, Впринципе чем больше байт берешь - тем правильнее .. НО т.к. проиши отличаются, то может не найти тех байт, которые указал. т.е нужно еще сверять предыдущие и постидушие прикольное слово получилось
samsung galaxy S3 4.2.2 W580\K750i\k550
если собрали учет занятого места в прошивке - обращайтесь
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.