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

Учимся писать патчи : Патчестроение : Патчи : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Патчи
      /  Патчестроение
   /  Учимся писать патчи
На печать 
Правила 
Страница 178 из 180: « 1 ... 174 175 176 177 [178] 179 180 »

IronMaster


VIP Developer


Регистрация: 16.5.06
Сообщений: 1135
Репутация: 8514
Откуда: Пермь




 
  #1771 [29.01.07, 20:10] Учимся писать патчи   

 
Цель этой темы помочь разобраться начинающим (не только) патчеписателям в этом не легком деле. Задавайте свои вопросы. По возможности будем отвечать. Только не надо лить воду. Задаете конкретный вопрос, получаете конкретный ответ.


Итак немного информации:

1. Ниже прикреплены файлы:
- Формат VKP-патчей
- Краткая инструкция (пример) портирования патча от Joker_XT
- Вся графика телефона, если нужно знать код картинки (файлы здесь)
- Исходник патча "Мигание фонаря при входящем" с комментариями
- Исходники патчей на управление гарнитурой v.4 для К750 и W800
ida_babeldr.rar - Теперь не нужно конвертировать прошивку в raw, не нужно выбирать вручную тип процессора и задавать адреса. © den_po

2. Есть тема уже с картинками и обсуждениями (рекомендую для прочтения):
http://www.sony-ericsson.ru/forums2/index.php?showtopic=28929

3. Также есть кратенький пример от den_po по портированию, он на первой странице этого топика:
http://supertrubka.org/newbb_plus/viewtopic.php?topic_id=376&forum=8

4. http://developers.sgh.ru - инфа по патчингу. Портал только открылся, но будет пополнятся. Специализируются на Самсунгах, но есть и общая для всех инфа.
http://binedit.sgh.ru - дизассемблер и не только от AlexeyK. Также умеет работать с vkp патчами.

5. Русифицированная версия професионального HEX-редактора:
http://supertrubka.org/mydownloads/showfile.php?lid=167

6. Информация для портеров и патчерописателей Учет занятого места в прошивке

7. Тема где выкладывают Исходники патчей

8. Мануал по созданию исходника © Shadow Player (перевод от HierOS)

9. Мануал по портированию замейновых патчей от d1gger17 здесь

10. Статья "Как самому стать патчером". Читаем обязательно! и + читаем доки от mnemo

Мануал открытия прошивок А2:

1.Кидаем ИмяПроши.mbn на readDB3150.exe
2.Из папки ИмяПроши.out берем phone_app.cxc
3.Открываем любимым хекс-редактором.
4.Отрезаем кусок от 0 до строки,содержащей повторяющуюся последовательность 18 F0 9F Е5.Например на W760 R3DA026 это смещение 2000.
5.Сохраняем как raw
6.Открываем уже своим любимым инстурментом
.



Народ!
Давайте без флейма, пишем и задаем вопросы, только после того как прочтете все что выше выложено и даны ссылки на материал, и после того как сами уже попробовали и все детально обдумали!

НЕ надо задавать вопросов, а с чего мне начать, ферштейн?



Прикрепленный к сообщению файл:

vkp_file_format.zip vkp_file_format.zip (4.68 kb; 1355 hits) Скачать файл
primer_porta.rar primer_porta.rar (51.89 kb; 1626 hits) Скачать файл
Blink_lamp_R2CA001.rar Blink_lamp_R2CA001.rar (1.14 kb; 681 hits) Скачать файл
english_k750_r1ca021.rar english_k750_r1ca021.rar (48.54 kb; 369 hits) Скачать файл
met_k600_r2bb001.rar met_k600_r2bb001.rar (57.65 kb; 251 hits) Скачать файл
headset.rar headset.rar (1.12 kb; 528 hits) Скачать файл
ida_babeldr.rar ida_babeldr.rar (21.29 kb; 1098 hits) Скачать файл


K700->W810->W850->W705 & W995 (cid81)
==========
WMZ307721639637
WMR675285842893
Спасибо за пожертвования:
Resp, ploik, BanditNN, AlexTin, polza, romanchenko, Ryabchik, Ax, [b]Desp
Спасибо сказали: E1kolyan, Va_st, senseless, Ma8ter, Kilo_Hz, MahmudS, Therion, vile, -BourNe-, DimaBV, MasterBoy, HotRabbit, mclaron, nitr, Oganyan-Arthur, bazk7i, -Sanek-, GaS, vodoo999, Danik, TahaSpawn, hossein_ir, LoDark, Alex_E, ELECTRO-NIC, HeMo, Se-MaG, anarkes, hi2all, Happy, CleverUser, KIBER-DEMON, Melodic_Death, plembo, UserX, MaxxxS, Sandre, SummerWood, Phoenix778, MAVER145, Nook, farid, a6b6, Neodzen, lexxx2345

K790Alex


Developer


Регистрация: 4.7.09
Сообщений: 53
Репутация: 975
Откуда: Mexico




 
  #1772 [11.10.11, 02:27] Re: Учимся писать патчи   

 
I have a question! How to create a "THREAD"?




W705 R1GA031 ;)

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3278
Репутация: 10763
Откуда: Чебоксары




 
  #1773 [11.10.11, 05:30] Re: Учимся писать патчи   

 
K790Alex, create_process




promt is better than google translate
Спасибо сказали: K790Alex, Vov4ик, a6b6

QWASZXERDFCV


Новичок


Регистрация: 1.4.12
Сообщений: 1
Репутация: -46





 
  #1774 [01.04.12, 16:24] Re: Учимся писать патчи   

 
уважаемые люди ...напишите пожалуйста как установить патч ...любой ...пример...я в этом первый день... в двух словах....есть - main. ida. hex и radio_without_headsets_w810_r4ek001 - что делать то надо и как . заранее спасибо ... Саша


Предупреждение от Joker XT
Нарушение правил:
5.3.23. Нарушение правил отдельно взятой темы (субправила первого поста).


'Фу' сказали: Vov4ик, iksrman, Nook, farid

infinite83


Новичок


Регистрация: 14.11.09
Сообщений: 7
Репутация: 142





 
  #1775 [03.02.13, 21:53] Re: Учимся писать патчи   

 
Доброго времени суток!
Возник вопрос:
При портировании исходник получается больше и соответственно патч тоже больше, что я делаю не так?

Пытаюсь портировать на C902 R3EJ001 AO (BROWN52).
Патч:
;C902 R3EG004 AO
;Fast access to SMS
;Remove the "SMS, MMS, Etc menu" when pressing "New message" and opens SMS right away
;© IronMaster
;(a2) jamesbond22
;(p) buhh83

Пробовал тупо менять совпадающие строки в файлах *.cxc (с учетом новой адресации строк) - не работает.

Вот что у меня получается, инструкция для замейновых патчей но мне так думается что разницы нет, поправьте меня если не прав.
Патч: 
;C902 R3EJ001 AO
;pAtChFiLe=/boot/phone_app.cxc
10C37988: 0021201C10F608F8F06200282ED02968 FF10A0E3151081E2011094E70010D1E5
10C37998: 7BF57CFCF06A09217BF59AFB 000096E5C698FFEB0210A0E3
10C37998: 7BF57CFCF06A09217BF59AFB 000084E2537206EB0D0000EA

А вот исходник:
Код: 

include "x.inc"
org 0x10C37988
MOVL    R1, 0x114
LDR     R1, [R4,R1]
LDRB    R1, [R1]
LDR     R0, [R6]
BL      0x10C1DCBC ; (было sub_)
MOV     R1, 2
org 0x10C37998
ADD     R0, R4, 0
BL      0x10DD42F0 ; (было sub_)
B       0x10C379DC ; (было loc_)

И еще вопрос:
Адреса в исходнике привязаны к старой прошивке (R3EG004) и при портировании их нужно менять или адреса не привязаны к конкретной прошивке?
Не адреса смещения для патча (org ***********, их я сменил на новые, 2-й адрес не факт что правильный, так как в PatSearch нашлось очень много совпадений, я выбрал ближайший адрес), адреса в "теле патча".
Просто в новой прошивке (R3EJ001) имеется сдвиг +0x20 в относительно адресов прошивки R3EG004.

Времени нету все изучать (с ассемблером не дружу), так что уж извиняйте за мой "английский".

[ Редактировано infinite83 в 3.2.13 22:55 ]

[ Редактировано infinite83 в 3.2.13 22:57 ]




Sony Ericsson Xperia X10i (Rachael) - Android 4.1 JellyBean
Sony Ericsson C902 - R3EJ001 AO (Brown)

Legas


Expert


Регистрация: 30.4.09
Сообщений: 444
Репутация: 1407





 
  #1776 [04.02.13, 00:19] Re: Учимся писать патчи   

 
Времени нету все изучать

уж прийдётся найти ;) даже на понимание ответов на твои вопросы + возникновение новых вопросов потребуется время. Что ты хочешь - сам портировать, или чтобы тебе портировали?
их нужно менять или адреса не привязаны к конкретной прошивке?

если никакой привязки не существует, то зачем люди вообще портируют что-то? :)

Просто в новой прошивке (R3EJ001) имеется сдвиг +0x20 в относительно адресов прошивки R3EG004

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

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

вбивай больше кода. А вообще, надёжнее xref портировать
При портировании исходник получается больше и соответственно патч тоже больше, что я делаю не так?

патч в режиме THUMB а скомпилирован в ARM. добавь строчку code16 в начале патча ;)




improved make.bat (armpc)
--
Sе C902 SW-R3EG004 AO
Sе w995 SW-R1HA035
k800, k850, c510, c905, w880, w910, w705, w715, j105
j20 cid81

infinite83


Новичок


Регистрация: 14.11.09
Сообщений: 7
Репутация: 142





 
  #1777 [04.02.13, 20:31] Re: Учимся писать патчи   

 
Legas2 пишет:
Времени нету все изучать

уж прийдётся найти ;) даже на понимание ответов на твои вопросы + возникновение новых вопросов потребуется время. Что ты хочешь - сам портировать, или чтобы тебе портировали?
их нужно менять или адреса не привязаны к конкретной прошивке?

если никакой привязки не существует, то зачем люди вообще портируют что-то? :)

Просто в новой прошивке (R3EJ001) имеется сдвиг +0x20 в относительно адресов прошивки R3EG004

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

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

вбивай больше кода. А вообще, надёжнее xref портировать
При портировании исходник получается больше и соответственно патч тоже больше, что я делаю не так?

патч в режиме THUMB а скомпилирован в ARM. добавь строчку code16 в начале патча ;)

В итоге получилось! (Если долго мучаться что нибудь получится) :)
Был не внимателен, напортачил с адресами на переходах к функциям и меткам.

Вот 2 порта (проверил на своем телефоне, работают как ожидалось):
Патч:
;C902 R3EJ001 AO
;Fast access to SMS
;Remove the "SMS, MMS, Etc menu" when pressing "New message" and opens SMS right away
;© IronMaster
;(a2) jamesbond22
;(p) infinite83
;pAtChFiLe=/boot/phone_app.cxc

Патч:
;C902 R3EJ001 AO
;Changes operator name to SE_C902i or any you want
;(c) Sic
;(p,e) infinite83
;pAtChFiLe=/boot/phone_app.cxc

И кстати я не говорил что во всей прошивке сдвиг +0x20 (не правильно кстати написал, на самом деле смещение по адресам +1C (т. е. 10D729F6+1C, это 28 в десятичной системе)), естественно что она скорее всего только частично сдвинута (заметил при портировании адреса первого патча, что одна функция изменена (обрезана и перенаправлена), искал вручную, PatSearch дал несколько адресов, рылся по ним, удачно :)), ведь когда дорабатываешь программу исходник не переписываешь каждый раз, а меняешь часть кода (за исключением некоторых случаев).

Больше кода вбивать сам догадался :)

Было дело начинал изучать ассемблер, но все эти команды и макросы, слишком короткие для запоминания, паскаль и си проще усваиваются :) Хотя я даже что то помню из ассемблера еще, JNZ по моему Jump if not zero, PUSH положить в стек, POP достать из стека, DB вроде переменную назначить :)

[ Редактировано infinite83 в 4.2.13 21:33 ]

[ Редактировано infinite83 в 4.2.13 21:35 ]

[ Редактировано infinite83 в 4.2.13 21:37 ]

[ Редактировано infinite83 в 4.2.13 21:44 ]




Sony Ericsson Xperia X10i (Rachael) - Android 4.1 JellyBean
Sony Ericsson C902 - R3EJ001 AO (Brown)

a6b6


Patcher


Регистрация: 15.5.10
Сообщений: 150
Репутация: 2580





 
  #1778 [18.02.13, 12:55] Re: Учимся писать патчи   

 
Привет всем.
Проблема у меня такая ,хочу во временном списке в проигрывателе Добавить в заголовок название "Плейлист"
нужна помощь разработчиков! Вопрос такой
Правильно ли я сделал сам исходник?
и помогите найти врезку

Код: 
include "x.inc"

org 0x?????????
                     ???????????????
                     ???????????????

off_patchbody    dw patchbody+1
org 0x15D4828C

patchbody:
             
PUSH    {LR}
LDR     R1, title_ 
LDR     R3, SetTitleText
BLX     R3
LDR     R0, [R6,0x1C]
MOVS    R1, 0
LDR     R3, SetCursor
BLX     R3
MOVS    R7, 0
POP     {PC}
; ---------------------------------------------------------------------------
title_              dw 0x                    ; Метка    
SetTitleText    dw 0x1443F740+1  ; void GUIObject_SetTitleText( GUI*, TEXTID );  
SetCursor       dw 0x14FEA938+1 ; void NOfMany_SetCursor( GUI_NOFMANY*, int item );




с510 ) w660i

Legas


Expert


Регистрация: 30.4.09
Сообщений: 444
Репутация: 1407





 
  #1779 [18.02.13, 13:55] Re: Учимся писать патчи   

 
Код: 
include "x.inc"
include "library.asm.inc"

hook=0xXXXXXXXX
LNG_ID=0x??
patch_body=0x???

code16
org hook
ldr r3, _patchbody      ;org hook
bx r3                         ;org hook+2
align 4                       ;org hook+4 || NULL
_patchbody    dw patchbody+1   ;org hook+6 || hook+4

org patch_body
patchbody:             
LDR     R1, _title
LDR     R3, SetTitleText
BLX     R3
;restore hook
;restore hook+2
;restore hook+4
;...
;restore hook+n

ldr r3, _return
bx r3
; ---------------------------------------------------------------------------
align 4
_return          dw hook+n+1     ;n=количество затёртых байтов в врезке (+2, если последний байт затирает пол инструкции)
_title              dw LNG_ID                  ; Метка    
SetTitleText    dw GUIObject_SetTitleText+1  ; void GUIObject_SetTitleText( GUI*, TEXTID );

заменил blx на bx во врезке, а то ещё ребуты получешь если прям так и скопируешь :)

[ Редактировано Legas2 в 20.2.13 12:27 ]




improved make.bat (armpc)
--
Sе C902 SW-R3EG004 AO
Sе w995 SW-R1HA035
k800, k850, c510, c905, w880, w910, w705, w715, j105
j20 cid81
Спасибо сказали: a6b6

a6b6


Patcher


Регистрация: 15.5.10
Сообщений: 150
Репутация: 2580





 
  #1780 [28.02.13, 13:25] Re: Учимся писать патчи   

 
Помогите разработчики !
проблема в чем заключается, при подключение зарядки через зарядное устройство, работает хорошо!
а при подключение к компьютеру телефон зависает .. ни знаю как эту проблему исправить!?

Код: 
;Блокировка и включение слипмода при подключение зарядки



include "x.inc"
vrezka_1 equ 0x152E6BF8 
patch equ 0x15D0C790
UI_Event equ 0x140C5938
org vrezka_1
align 4
DCD patch+1
org patch
PUSH    {LR}
BL    sub_15D7EEDA
BL    sub_15D7EECC
POP    {PC}

sub_15D7EECC:                

PUSH    {LR}
LDR    R0, dword_15D7EEE0 
BL    sub_15D7EED6
POP    {PC}

sub_15D7EED6:                

LDR    R3, off_15D7EEE4
BX    R3

sub_15D7EEDA:                

LDR    R3, off_15D7EEE8
BX    R3
align 4
dword_15D7EEE0    DCD 0x5E27        
off_15D7EEE4    DCD UI_Event+1    
off_15D7EEE8    DCD 0x144A2DA8+1




с510 ) w660i

Therion


Developer/Admin


Регистрация: 9.2.08
Сообщений: 1748
Репутация: 10884
Откуда: Украина, г. Киев




 
  #1781 [28.02.13, 14:29] Re: Учимся писать патчи   

 
возможно теряешь данные. ну и упростить немного можно
org patch
PUSH {R4-R7,LR}
BL sub_15D7EEDA
LDR R0, dword_15D7EEE0
BL sub_15D7EED6
POP {R4-R7,PC}



Спасибо сказали: a6b6
Страница 178 из 180: « 1 ... 174 175 176 177 [178] 179 180 »


Похожие темы

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

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