Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
  
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
TrackIDentify
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Опросы
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

FAQ. Наиболее легкий способ портирования функций : Эльфостроение : Эльфы : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Эльфы
      /  Эльфостроение
   /  FAQ. Наиболее легкий способ портирования функций
На печать 
Правила 
Страница 7 из 16: « 1 ... 3 4 5 6 [7] 8 9 10 11 ... 16 »

zapret


Moder


Регистрация: 27.5.07
Сообщений: 1577
Репутация: 1813
Откуда: Königsberg-Калининград




 
  #61 [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 per_v.2.2.zip (3.91 kb; 390 hits) Скачать файл
HxD.zip 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

Zormax


Admin


Регистрация: 12.12.05
Сообщений: 5826
Репутация: 5274
Откуда: Nizhniy Novgorod




 
  #62 [28.09.08, 21:08] Re: FAQ. Наиболее легкий способ портирования функций   

 
В привате спросили:
4Cхххххх - это оперативка.
в DB2020 адреса начинаются на 2XXXXX в DB2010 и DB2000 на 4XXXXXX

Если портите на одинаковых платформах, то адрес оперативы будет либо таким же, либо на 4 больше, конечно может и больше быть или меньше, но в основном либо такой либо отличатся на 0x4

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


т.е. если я портирую с w610 db2020 на w710 db2020 и функция на w610 имеет следующий вид:

0AEC: 00000000 94901820 ;82BB: FONT_DESC *GetFontDesc(void);

то адрес для либы w710 будет или такой же или 94901824 или 94901816 ??


ответ:
или такой же или 90901820
или 98901820

адрес переверни и работай с 4 в конце ты же 4 в самом начале меняешь


Добавлено 28.9.08 21:09

Опять же не факт что это правильно, адрес может и на большее кол-во байт отличатся, но это уже другая история.

[ Редактировано Zormax в 28.9.08 21:10 ]




TOOKY T83 (1.3.1-L2), MK808B

agregat


Новичок


Регистрация: 27.9.08
Сообщений: 8
Репутация: 0





 
  #63 [28.09.08, 21:23] Re: FAQ. Наиболее легкий способ портирования функций   

 
Zormax, где об этой истории можно узнать подробнее??? а то перебирать что то не очень охото ;-)



Zormax


Admin


Регистрация: 12.12.05
Сообщений: 5826
Репутация: 5274
Откуда: Nizhniy Novgorod




 
  #64 [28.09.08, 21:33] Re: FAQ. Наиболее легкий способ портирования функций   

 
Надо с оригинальным адресом смотреть LDR
в LDR обычно указание загрузить мол адрес и если есть в скобках типа:
R1 = 2XXXXXX
LDR R2, (R1,0x4)

значит прибавляется 4 а нам надо вычитать эти 4




TOOKY T83 (1.3.1-L2), MK808B

KrasH


VIP Developer


Регистрация: 12.10.07
Сообщений: 993
Репутация: 3014
Откуда: Шахты




 
  #65 [28.09.08, 23:41] Re: FAQ. Наиболее легкий способ портирования функций   

 
Пример установки хука...
KBD *SetProc(void *proc(int key,int,int mode)):
ldr r1, ram ;грузим
str r0, [r1,4] ;пишем в рам+4
bx lr ;идём на адр.возврата
Пишу с тела так шо не пинать!
И того в ram+4 будет клавы обработчик...


Добавлено 28.9.08 23:43

Между платфорамами порт отнимает от 6 до 20 минут в среднем
Ищеться в основном по хрефам,пагам и прочей близко лежащей мелочи




Samsung GT-I9000 Galaxy S
SE C510 R1FA035
+ M2 1Gb + HPM-82
WMR: 248608836491
WMZ: 305377005044
Спасибо mazhor(1500wmr),polza(600wmr), & to other(~1100wmr)

agregat


Новичок


Регистрация: 27.9.08
Сообщений: 8
Репутация: 0





 
  #66 [29.09.08, 00:46] Re: FAQ. Наиболее легкий способ портирования функций   

 
хм....что такое LDR, как и чем его получить и чем и как смотреть?

и ещё если можно то ткните на какую нить понятную инфу по этому LDR =)))

[ Редактировано agregat в 28.9.08 23:58 ]



Zormax


Admin


Регистрация: 12.12.05
Сообщений: 5826
Репутация: 5274
Откуда: Nizhniy Novgorod




 
  #67 [29.09.08, 07:20] Re: FAQ. Наиболее легкий способ портирования функций   

 
agregat, В теме "Учимся писать патчи"




TOOKY T83 (1.3.1-L2), MK808B

M@rvin


Expert


Регистрация: 22.12.07
Сообщений: 252
Репутация: 292
Откуда: Москва




 
  #68 [01.10.08, 21:44] Re: FAQ. Наиболее легкий способ портирования функций   

 
Я вот пробовал сделать по факу. Как узнать сколько нужно байт выбирать? И как узнать где кончается та или иная функция




nokia n97 mini))) sw 12.0.110


w580 R8BE001+эльфы)+патчи))+моддинг+ граф патч от меня)))))-мертв


+немного кривые руки

zapret


Moder


Регистрация: 27.5.07
Сообщений: 1577
Репутация: 1813
Откуда: Königsberg-Калининград




 
  #69 [01.10.08, 21:52] Re: FAQ. Наиболее легкий способ портирования функций   

 
Артур666, я б ща как ответил, но боюсь обидишься.
. Как узнать сколько нужно байт выбирать

сколько хочешь - столько и бери.
И как узнать где кончается та или иная функция

тебя это не волнует. тебе нужно найти только ее начало и получить тем самым адрес ее. как правило функа начинается байтом b5 заканчивается байтом 00. но не всегда




samsung galaxy S3 4.2.2
W580\K750i\k550

если собрали учет занятого места в прошивке - обращайтесь

GaS


Expert


Регистрация: 18.1.08
Сообщений: 644
Репутация: 2553
Откуда: г.Кимры Россия




 
  #70 [01.10.08, 23:33] Re: FAQ. Наиболее легкий способ портирования функций   

 
вот я смотрю тема набирает обороты, а главное что название " Наиболее легкий..." народ притягивает, но ФАК юрчика на мой взгляд более нагляднее и новичкам только туда...до недавнего времени сам нифига не петрил в этом, а сейчас в основном всё понятно, правда есть и трудные функи, но в ИДА их хоть можно сравнить визуально и на ошибку меньше шансов...




SONY Xperia GO ,J105 R1HA035

zapret


Moder


Регистрация: 27.5.07
Сообщений: 1577
Репутация: 1813
Откуда: Königsberg-Калининград




 
  #71 [01.10.08, 23:37] Re: FAQ. Наиболее легкий способ портирования функций   

 
GaS, да откровенно говоря я уже сто раз пожалел, что создал фак=) почему-то новечкам он походу еще труднее дается, чем опытным.. когда ктонить из этих новечков станет по-опытне, то поймет, что все же это самый элементарный спосб, не требующий особого напряга. единственное - возможность ошибки, но опять же я таким способом еще не разу не ошибался..




samsung galaxy S3 4.2.2
W580\K750i\k550

если собрали учет занятого места в прошивке - обращайтесь
Страница 7 из 16: « 1 ... 3 4 5 6 [7] 8 9 10 11 ... 16 »



  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.17 секунд | 13 Запросов | HTML: 51.84 КБ -