| |
|
zapret
Moder
Регистрация: 27.5.07 Сообщений: 1577 Репутация: 1813 Откуда: Königsberg-Калининград
|
#51 [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); думаю дай-ко портану ага.. а если в название вчитаться - становится ясно, что ее в телефоне то нету нету оранжевого диода прикрепляю программу для более быстрого переворачивания адресов и выитания\прибавления оффсета
Прикрепленный к сообщению файл: per_v.2.2.zip ( 3.91 kb; 390 hits) Скачать файл HxD.zip ( 736.83 kb; 209 hits) Скачать файл
samsung galaxy S3 4.2.2 W580\K750i\k550
если собрали учет занятого места в прошивке - обращайтесь
|
Спасибо сказали: Va_st, Zormax, Joker XT, Man1980, sam22, Den750, VoiD, timos_06, Double_A, Pharaon, Deitro, 68-artem, yr4ik_07, BloodyMessage, ArmageddON, qwert, Zart, Ricollin, TOLIK111, DarkDarin, InDiGo, PUZ, Fanse, RedNaxLex, Dragon94, Frost-by, Krab, ANSARIK, metalist-tula, Rusty, ENSAIER, User_Vetal, NakedGun, TahaSpawn, vodoo999, flips, $lavko, RomaRi, dimony
|
qwert
Опытный
Регистрация: 7.1.08 Сообщений: 210 Репутация: 41 Откуда: Новосибирск
|
#52 [28.09.08, 13:54] Re: FAQ. Наиболее легкий способ портирования функций
agregat писал: E1kolyan писал: Цид значения не имеет
а по какому критерию подбирается модель тела и прошивка???
Добавлено 28.9.08 11:47
ПОРТИРОВАЛ!!! от w610 R6BC002 на свой w710 R1JC002... портировал Идой. 12 функций... BcfgEdit_main заработал
как портировать функции???(из либа w610 ) : 0AEC: 00000000 94901820 ;82BB: FONT_DESC *GetFontDesc(void); 0AF0: 00000000 28931820 ;82BC: int *GetFontCount();
тут какая то беда с адресами
читай внимательно ФАК'и, если после первой прочити ничего не понял, прочитай ещё раз.
W810 R4EA031 *ElfPack Tartes 1.9.2*
|
agregat
Новичок
Регистрация: 27.9.08 Сообщений: 8 Репутация: 0
|
#53 [28.09.08, 14:02] Re: FAQ. Наиболее легкий способ портирования функций
qwert, а нельзя ли ссылочку на тот ФАК где написано про портирование этих функций: 0AEC: 00000000 94901820 ;82BB: FONT_DESC *GetFontDesc(void); 0AF0: 00000000 28931820 ;82BC: int *GetFontCount(); и если не трудно может сами подскажите? Конечно послать искать,читать и перечитывать проще чем подсказать....
|
qwert
Опытный
Регистрация: 7.1.08 Сообщений: 210 Репутация: 41 Откуда: Новосибирск
|
#54 [28.09.08, 14:08] Re: FAQ. Наиболее легкий способ портирования функций
тебе что на портирование каждой функции по факу нада? по крайней мере в этом топике аж ТРИ(!) фака смотри внимательнее! . есть ещё один топик по портированию с видео.
W810 R4EA031 *ElfPack Tartes 1.9.2*
|
yr4ik
Elfmaker
Регистрация: 6.12.07 Сообщений: 462 Репутация: 1165 Откуда: Чернигов & Киев
|
#55 [28.09.08, 14:21] Re: FAQ. Наиболее легкий способ портирования функций
agregat,
А почитать было впадлу??
Например если портируеш 0AEC: FFFFFFFF DC29184C ;82BB: FONT_DESC *GetFontDesc(void); пробуй в поиск вбить DC29184C в проше, с которой портируешь, а потом по похожим местам найди адрес в своей проше. если не находит ничего, пробуй от адреса убрать 4, 4C1829D8.
w580 R8BE001 WMR: R168151148681 WMU: U112893933179 WME: E123439764501 WMZ: Z161980978444
|
agregat
Новичок
Регистрация: 27.9.08 Сообщений: 8 Репутация: 0
|
#56 [28.09.08, 14:28] Re: FAQ. Наиболее легкий способ портирования функций
yr4ik_07, Спасибо!!! надеюсь поможет!!! qwert, да нада! Если самый умный может мне либу сделаешь?
|
zapret
Moder
Регистрация: 27.5.07 Сообщений: 1577 Репутация: 1813 Откуда: Königsberg-Калининград
|
#57 [28.09.08, 16:04] Re: FAQ. Наиболее легкий способ портирования функций
qwert, ну в общем-то не нужно так паниковать. по-крайней мере в своем факе я не описывал портирование таких функций.
samsung galaxy S3 4.2.2 W580\K750i\k550
если собрали учет занятого места в прошивке - обращайтесь
|
DarkDarin
Вникающий
Регистрация: 20.1.08 Сообщений: 29 Репутация: 5
|
#58 [28.09.08, 16:27] Re: FAQ. Наиболее легкий способ портирования функций
Кстати, действительно, не подскажете, что с этими функциями делать? Если адрес функции перевернуть, то не найти ее в прошивке. Вычесть 4 с конца-не помогает, адреса функций в прошивке в диапазоне 44хххххх-45хххххх, а тут 4Cхххххх. Подскажите, что делать, или ткните носом, где читать :) . Думаю, многим будет интересно.
Главное - всегда знать, чего ты хочешь. Тогда не придется думать, чего хочется другим.
|
agregat
Новичок
Регистрация: 27.9.08 Сообщений: 8 Репутация: 0
|
#59 [28.09.08, 17:30] Re: FAQ. Наиболее легкий способ портирования функций
yr4ik_07, не получилось этим способом.... У меня шрифты барбисайз в Станди мод)))) когда пытаюсь их увеличить с помощью bcfgEdit то ребут...функции не хвататет((((
|
Zormax
Admin
Регистрация: 12.12.05 Сообщений: 5826 Репутация: 5274 Откуда: Nizhniy Novgorod
|
#60 [28.09.08, 20:47] Re: FAQ. Наиболее легкий способ портирования функций
DarkDarin писал: Вычесть 4 с конца-не помогает, адреса функций в прошивке в диапазоне 44хххххх-45хххххх, а тут 4Cхххххх. 4Cхххххх - это оперативка. в DB2020 адреса начинаются на 2XXXXX в DB2010 и DB2000 на 4XXXXXX Если портите на одинаковых платформах, то адрес оперативы будет либо таким же, либо на 4 больше, конечно может и больше быть или меньше, но в основном либо такой либо отличатся на 0x4 если разные платформы, то ищите адрес в оригинальной проше где эта оператива, смотрте там код что выше и ниже и ищите такой же код у себя.
TOOKY T83 (1.3.1-L2), MK808B
|
DarkDarin
Вникающий
Регистрация: 20.1.08 Сообщений: 29 Репутация: 5
|
#61 [28.09.08, 20:48] Re: FAQ. Наиболее легкий способ портирования функций
Кароче, способ не для новичков :). Придется ждать, пока кто нить портанет эти функи. Пока займемся другими. Спасиб за ответ.
Главное - всегда знать, чего ты хочешь. Тогда не придется думать, чего хочется другим.
|
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.
|
|
|