Решил значит накактать 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);
думаю дай-ко портану
ага.. а если в название вчитаться - становится ясно, что ее в телефоне то нету
нету оранжевого диода
прикрепляю программу для более быстрого переворачивания адресов и выитания\прибавления оффсета