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

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

IronMaster


VIP Developer


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




 
  #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 по портированию, он на первой странице этого топика:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=376&forum=8

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

5. Русифицированная версия професионального HEX-редактора:
https://mobilefree.justdanpo.ru/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; 1370 hits) Скачать файл
primer_porta.rar primer_porta.rar (51.89 kb; 1636 hits) Скачать файл
Blink_lamp_R2CA001.rar Blink_lamp_R2CA001.rar (1.14 kb; 689 hits) Скачать файл
english_k750_r1ca021.rar english_k750_r1ca021.rar (48.54 kb; 376 hits) Скачать файл
met_k600_r2bb001.rar met_k600_r2bb001.rar (57.65 kb; 258 hits) Скачать файл
headset.rar headset.rar (1.12 kb; 534 hits) Скачать файл
ida_babeldr.rar ida_babeldr.rar (21.29 kb; 1114 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
Сообщений: 3279
Репутация: 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
Репутация: 1422





 
  #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
Репутация: 1422





 
  #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.06 секунд | 11 Запросов | HTML: 66.02 КБ -