IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#1661 [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.Открываем уже своим любимым инстурментом
.
Народ! Давайте без флейма, пишем и задаем вопросы, только после того как прочтете все что выше выложено и даны ссылки на материал, и после того как сами уже попробовали и все детально обдумали! НЕ надо задавать вопросов, а с чего мне начать, ферштейн?
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
agnalp
Patcher
Регистрация: 21.1.10 Сообщений: 61 Репутация: 303
#1662 [24.03.11, 20:17] Re: Учимся писать патчи
Therion , Its not working
Still showing second row on the left side
I did like this;
Код:
MOV R1, 5 LDR R0, [R4,0x18] BL GUIObject_SetTitleType_ BL Getfreeheap ADD R1, R0, 0 LDR R0, [R4,0x18] BL GUIObject_SetSecondRowTitleText_ mov r1, 2 ldr r0, [r4, 0x18] bl SetTitleAlign_ adr r0, aQuickAccessMenu mov r1, 0 mov r2, 0xFF bl Str2ID_ ADD R1, R0, 0 LDR R0, [R4,0x18] BL GUIObject_SetTitleText_ LDR R1, _icontitle LDR R0, [R4,0x18] BL GUIObject_SetTitleIcon_ LDR R0, off_45CCCB10 BX R0 align 4 SetTitleAlign_: ldr r3, SetTitleAlign1 bx r3 SetTitleAlign1 dw 0x454708F0+1
Proud K810 R8BF003 Owner
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1663 [24.03.11, 20:25] Re: Учимся писать патчи
sub sp, sp, 0xC adr r0, aQuickAccessMenu mov r1, 0 mov r2, 0xFF bl Str2ID_ str r0, [sp] ldr r0, aEnter str r0, [sp,4] bl Getfreeheap str r0, [sp,8] mov r2,3 mov r1,5 add r0,sp,0 bl Str2ID_ add sp, sp, 0xC add r1, r0, 0 ldr r0, [r4,0x18] bl GUIObject_SetTitleText_ mov r1, 2 ldr r0, [r4, 0x18] bl SetTitleAlign_ aEnter dw 0x7800000A я не уверен, но ... [ Редактировано Therion в 24.3.11 20:31 ]
agnalp
Patcher
Регистрация: 21.1.10 Сообщений: 61 Репутация: 303
#1664 [24.03.11, 20:37] Re: Учимся писать патчи
Therion , Still not working
Now it is showing only Number
8 in the title
Proud K810 R8BF003 Owner
agnalp
Patcher
Регистрация: 21.1.10 Сообщений: 61 Репутация: 303
#1665 [25.03.11, 13:21] Re: Учимся писать патчи
In this asm, when i try to select play or pause function it gives restarts :(
Play Pause get function not working :(
Icon & labels are showing correctly.
Please help me :)
Код:
playpause_First_Line_Item: LDR R0, isAudioPlayerBook_1 BL FindBook_ CMP R0, 0 BEQ loc_45CCC5D82 LDR R6, Pause_Lng LDR R7, Pause_Icn; 0xEC33 STR R0, [SP,4] B Second_line_Texts loc_45CCC5D82: LDR R6, Play_Lng LDR R7, Play_Icn; 0xEC34 B Second_line_Texts playpause_Secondline: LDR R1, NowPlaying_Lng1 B GUIonMessage_SetMenuItemSecondLineText1 GUIonMessage_SetMenuItemSecondLineText1: ADD R0, R4, 0 BL GUIonMessage_SetMenuItemSecondLineText_ playpause_Get_function: LDR R0, UI_MEDIAPLAYER_CONTROL_EVENT; 0x1C23 BL UI_Event_ align 4 UI_MEDIAPLAYER_CONTROL_EVENT dw 0x1C23 isAudioPlayerBook_1 dw IsAudioPlayerBook+1 UI_Event_: LDR R3, UI_Event_1 BX R3 UI_Event_1 dw UI_Event+1 GUIonMessage_SetMenuItemSecondLineText_: LDR R3, off_45CCC8A0 BX R3 off_45CCC8A0 dw GUIonMessage_SetMenuItemSecondLineText+1
Proud K810 R8BF003 Owner
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1666 [25.03.11, 15:40] Re: Учимся писать патчи
Статус плеера. Получения состояния для вывода соотв. иконки::
GetPlayerStatusDesc: push {r0,r1,lr} ldr r0, _isAudioPlayerBook5 bl findBook ldr r0, [r0, 0x18] cmp r0, 0 beq playerStop_Desc ;compare for pause movl r1, 0x200 cmp r0, r1 beq playerPause_Desc ;compare for play movl r1, 0x100 cmp r0, r1 beq playerPlay_Desc playerStop_Desc: ldr r2, stopIcon b PlayerStatusDesc_end playerPause_Desc: ldr r2, pauseIcon b PlayerStatusDesc_end playerPlay_Desc: ldr r2, playIcon PlayerStatusDesc_end: pop {r0,r1,pc}
Получения статуса плеера для соотв. акшина:
push {r0} ldr r0, _isAudioPlayerBook2 bl findBook add r4, r0, 0 ldr r0, [r0, 0x18] cmp r0, 0 beq stoped_paused ;compare for pause movl r2, 0x200 cmp r0, r2 beq stoped_paused ;compare for play movl r2, 0x100 cmp r0, r2 beq played stoped_paused: mov r1, 0 add r0, r4, 0 bl PlayerControl played: pop {r0}
Мать твою, ну открой же исходник Топлевела. Там всё есть. Я блин что, за плюсики его исх выложил? Ну готовое же,ну открой ты глаза!
Добавлено 25.3.11 14:42 в первом куске кода - в R2 возвращается иконка состояния плеера
во втором - если плеер на паузе или остановлен - включается воспроизведение музыки
Спасибо сказали: Vov4ик
SOS2010
Новичок
Регистрация: 12.7.10 Сообщений: 4 Репутация: 3
#1667 [11.04.11, 17:02] Re: Учимся писать патчи
Почему не фурычит??
patch = 0x45bb0000 include "x.inc" org 0x452B772C DCD patch+1 org patch push {r1-r5,lr} LDR r4, adr1 LDR r3, adr2 LDR r2, adr3 LDR r1, adr4 LDR r5, Message BLX r5 pop {r1-r5,pc} align 4 adr1 DCD 0x812 adr2 DCD 0x813 adr3 DCD 0xe687 adr4 DCD 0x00 Message DCD 0x452B0C0D+1
Вызывает ребут
D3mon
Developer
Регистрация: 23.2.08 Сообщений: 1141 Репутация: 10348 Откуда: Краснодар
#1668 [11.04.11, 17:27] Re: Учимся писать патчи
SOS2010 , потому что чушь написана, откровенная!
Код:
org patch PUSH {R0-R5,LR} MOVS R0, 0 ; 0, будет висеть пока не нажмёшь ОК MOVS R1, 0 PUSH {R0,R1} LDR R0, header_text LDR R1, body_text LDR R2, icon MOVS R3, 1 ; или 0, смотря какой стиль нужен BL _MessageBox ADD SP, SP, 8 POP {R0-R5,PC} align 4 header_text DCD 0x ; номер лнг метки заголовка body_text DCD 0x ; номер лнг метки текста icon DCD 0x ; номер иконки _MessageBox: PUSH {R3} LDR R3, msgbox MOV R12, R3 POP {R3} BX R12 align 4 msgbox DCD 0x452B0C0C +1
В следующий раз пиши, блин, что хочешь сделать, что за телефон, что за врезка!! А то тут не экстрасенсы!!
Sony Xperia XZ3 GreenSony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
Спасибо сказали: Vov4ик
D3mon
Developer
Регистрация: 23.2.08 Сообщений: 1141 Репутация: 10348 Откуда: Краснодар
#1669 [14.04.11, 17:20] Re: Учимся писать патчи
Написал простенький патч, чтобы эквалайзер стал полноэкранным.
Код:
org 0x14E4040C LDR R3, topatch BX R3 topatch DCD patch+1 code16 org patch ADDS R0, R7, 0 MOVS R1, 4 LDR R3, _GUIObject_SetStyle BLX R3 ADDS R1, R7, 0 ; Восстановление ADDS R0, R4, 0 ; Восстановление LDR R3, _BookObj_AddGUIObject ; Восстановление BLX R3 LDR R3, exit BX R3 align 4 _GUIObject_SetStyle DCD GUIObject_SetStyle+1 _BookObj_AddGUIObject DCD BookObj_AddGUIObject+1 exit DCD 0x14E40414+1
Вроде бы работает. Но!
Если заходить в эквалайзер при книжной ориентации, то внизу появляется серая полоска!
А если при альбомной, то всё нормально!
Знающие люди, помогите, пожалуйста!
Прикрепленный к сообщению файл:
Sony Xperia XZ3 GreenSony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1670 [14.04.11, 17:36] Re: Учимся писать патчи
ну по идеи у тебя ж ориентировка эква менятся,а на обоих она одинаковая
machoner113
Новичок
Регистрация: 9.4.10 Сообщений: 7 Репутация: 0 Откуда: Балаково
#1671 [29.06.11, 08:31] Re: Учимся писать патчи
9. Мануал по портированию замейновых патчей от d1gger17 здесь - можно рабочую ссылку?
Похожие темы
Тема Ответы Автор Просмотры Обновление Как пропатчить файл прошивки с помощью BinEdit? 34 AleXeR 51278 15.06.15, 16:19 Setool2 Lite - Патчим, прошиваем 793 Zormax 629509 15.06.21, 04:11 патчи и редактор far manager 3 den_po 8540 25.04.21, 21:17 Aino и патчи, эльфы 1 khaker 5022 26.02.17, 19:37 Проблема патчинга с w380 (pnx5230) 3 ALexeY38 6359 15.08.15, 20:09 Запросы на платные патчи 586 Zormax 435080 08.08.14, 16:21 SE DB2010 Font Tool (Патчи) 64 TahaSpawn 83097 23.07.14, 10:57 Патчи для db2020 (Общие вопросы) 554 Zormax 418485 07.01.14, 05:16
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.