IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#1111 [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
jamesbond22
Свой в доску
Регистрация: 19.8.07 Сообщений: 1764 Репутация: 1322
#1112 [07.05.09, 20:23] Re: Учимся писать патчи
I try to port
this patch. I can't stop recording. When i press in "Save" then message does not dissapear. Can anyone help me?
Function void *SoundRecorderDesc_Create is different in phone A2 i think.
My source:
Код:
;W595 SW-R3EA037 LT ;Добавить пункт "Записать" в Функции в Фм-Радио include "x.inc" org 0x10FA53D0 LDR R0, offs BX R0 align 4 offs DCD patch+1 nop skip: org 0x126cd980 patch: LDR R2, off_45CF1AEC MOV R1, 0x11 LDR R0, [R4,0x18] BL sub_45CF1A98 LDR R2, dw_record MOV R1, 0x11 LDR R0, [R4,0x18] BL sub_45CF1A9C LDR R0, [R4,0x18] ADD R2, R5, 0 ADD R1, R7, 0 BL sub_45CF1A98 LDR R3, addr_skip BX R3 loc_45CF1A52: PUSH {R0-R7,LR} ADD R4, R0, 0 BL sub_45CF1AC8 ADD R7, R0, 0 BEQ loc_45CF1A96 MOV R1, 0 MVN R1, R1 ADD R0, R7, 0 BL sub_45CF1AA4 MOV R1, 1 ADD R0, R7, 0 BL sub_45CF1AA8 LDR R1, dword_45CF1AF4 LDR R1, [R4,R1] ADD R0, R7, 0 BL sub_45CF1AAC adr R1, aCardOther ; "/card/other" ADD R0, R7, 0 BL sub_45CF1AB0 adr R1, aFm_amr ; "fm.amr" ADD R0, R7, 0 BL sub_45CF1AB4 ADD R0, R7, 0 BL sub_45CF1AB8 ADD R0, R7, 0 BL sub_45CF1ABC loc_45CF1A96: POP {R0-R7,PC} sub_45CF1A98: LDR R3, off_45CF1AC0 BX R3 sub_45CF1A9C: LDR R3, off_45CF1AC4 BX R3 sub_45CF1AC8: LDR R3, off_45CF1AC8 BX R3 sub_45CF1AA4: LDR R3, off_45CF1ACC BX R3 sub_45CF1AA8: LDR R3, off_45CF1AD0 BX R3 sub_45CF1AAC: LDR R3, off_45CF1AD4 BX R3 sub_45CF1AB0: LDR R3, off_45CF1AD8 BX R3 sub_45CF1AB4: LDR R3, off_45CF1ADC BX R3 sub_45CF1AB8: LDR R3, off_45CF1AE0 BX R3 sub_45CF1ABC: LDR R3, off_45CF1AE4 BX R3 align 4 off_45CF1AC0 DCD 0x1080D364+1 off_45CF1AC4 DCD 0x1080D3DC+1 off_45CF1AC8 DCD 0x10E4AEF9 off_45CF1ACC DCD 0x10E4AF71 off_45CF1AD0 DCD 0x10E4AF9D off_45CF1AD4 DCD 0x10E4B04D off_45CF1AD8 DCD 0x10E4AFB1 off_45CF1ADC DCD 0x10E4AFCD off_45CF1AE0 DCD 0x10E4B061 off_45CF1AE4 DCD 0x10E4AF55 addr_skip DCD skip+1 off_45CF1AEC DCD loc_45CF1A52+1 dw_record DCD 0x576 dword_45CF1AF4 DCD 0x33c align 4 aCardOther du "/card/other",0 align 4 aFm_amr du "fm.amr",0
-BourNe- ,
IDA -> Options -> General -> Analysis -> Processor specific analysis options -> select "Disable pointer dereferencing" -> OK -> Reanalyze program -> OK.
[ Edited by jamesbond22 в 8.5.09 06:51 ]
Added 9.5.09 11:15 Now i trying port patch "Hourly sound". I port all addresses correct! File hourly.mp3 does not play at time 10.00, 11.00, 12.00.... Is some developer who redevelop this source for phone A2?
Код:
;W595 SW-R3EA037 LT ;Hourly sound ;Place file hourly.mp3 to folder /tpa/preset/system/sound/ ;(c) Sic ;(p) jamesbond22 include "x.inc" org 0x10D8D9B2 BLX R0 org 0x10D8DB34 dw patchbody+1 org 0x126CDAd0 patchbody: LDR R0, addr1 ADD R1, SP, 0 PUSH {R0-R7,LR} LDR R3, addr2 BLX R3 CMP R0, 0 BNE loc_POP LDR R0, addr5 LDR R3, addr6 BLX R3 CMP R0, 0 BNE loc_POP LDRB R0, [R1,5] CMP R0, 0 BNE loc_POP LDRB R0, [R1,6] CMP R0, 0 BNE loc_POP adr R2, numbers LDRB R3, [R1,4] LDRB R4, [R2] LDRB R5, [R2,1] LDRB R6, [R2,2] CMP R3, R4 BCC loc1 B loc_POP loc1: CMP R3, R5 BHI loc_plafile B loc_POP loc_plafile: LDR R7, addr4 CMP R6, 0 BEQ loc3 ADD R7, 4 loc3: LDR R0, addr3 adr R1, name_file MOV R2, 6 BLX R7 loc_POP: POP {R0-R7,PC} align 4 addr1 dw 0x11B3BFC0 addr2 dw 0x119DE57D addr3 dw 0x11DA5730 addr4 dw 0x119E00AD addr5 dw 0x10FA7959 addr6 dw 0x10DF01B5 name_file du "hourly.mp3",0 align 4 numbers DCB 0x16 DCB 9 DCB 1
XPeria X8 ROM 2.3.5 GingerDX v008
Joker XT
VIP Developer
Регистрация: 5.8.06 Сообщений: 1292 Репутация: 7582
#1113 [10.05.09, 20:26] Re: Учимся писать патчи
Код:
ldr r1, viewchannel b loc_4 loc_4: ldr r7, BookObj_CallPage
Зачем такая конструкция?))) убери эту "b loc_4"
И что у тебя подаётся в R0?
не бук ведь
Сделай так:
Код:
addr1 dw 0x45107C66 PUSH {R0-R7,LR} ldr R0, isFmRadioBook ldr r6, FindBookEx blx r6 cmp r1, 0x17 beq loc_1 cmp r1, 0x18 beq loc_2 cmp r1, 0x19 beq loc_3 b loc_5 loc_1: mov r1, 0 ldr r7, SwitchRadioStationFromList blx r7 POP {R0-R7, PC} loc_3: mov r1, 1 ldr r7, SwitchRadioStationFromList blx r7 POP {R0-R7, PC} loc_2: cmp r0, 0 beq loc_5 ldr r1, viewchannel ldr r7, BookObj_CallPage blx r7 loc_5: POP {R0-R7, PC}
SE C901 [R1GA028]
jamesbond22
Свой в доску
Регистрация: 19.8.07 Сообщений: 1764 Репутация: 1322
#1114 [10.05.09, 20:37] Re: Учимся писать патчи
Код:
;W595 SW-R3EA037 LT ;Set event on closing slider (keylock, sleepmode, go to standby,...) include "x.inc" org 0x10deeda2 LDR R0, offset BLX R0 org 0x10deedac offset DCD patchbody+1 org 0x126cdb00 patchbody: PUSH {LR} CMP R5, 0x4e BNE neededcode1 MOV R0, 0x36 LDR R7, sub_setEvent BLX R7 LDR R0, event BLX R7 POP {R2-R7,PC} neededcode1: adr R0, neededcode2 LSL R7, R7, 1 POP {PC} align 4 neededcode2: LSL R2, R1, 0 LSL R2, R6, 6 LSL R6, R1, 0xA LSL R0, R6, 4 LSL R4, R0, 9 align 4 event DCD 0x5e28 sub_setEvent DCD 0x10def48c+1
I have problem with this source. Event "0x36" (closing slider) not work...
Added 11.5.09 14:18 Код:
;W595 SW-R3EA037 LT ;Quick access to the functions of the phone via the number keys 2-9 in standby mode ;Added the appointment of events ;Replace ???????? to the desired function/Event ;v.2 ;(c) Sic ;(p) jamesbond22 include "x.inc" org 0x11b65c44 DCD p_body+1 DCB 0x0 org 0x126cdb30 p_body: PUSH {R0-R7,LR} LDR R7, Find_StandbyBook BLX R7 LDR R7, SBY_GetMainInput BLX R7 LDR R7, MainInput_getPNUM BLX R7 LDRB R3, [R0] MOVL R4, 0x10000 CMP R3, 0xF1 BNE button2 LDR R0, shortcut1 CMP R0, R4 BCC loc_UI_Event B loc_to_address button2: CMP R3, 0xF2 BNE button3 LDR R0, shortcut2 CMP R0, R4 BCC loc_UI_Event B loc_to_address button3: CMP R3, 0xF3 BNE button4 LDR R0, shortcut3 CMP R0, R4 BCC loc_UI_Event B loc_to_address button4: CMP R3, 0xF4 BNE button5 LDR R0, shortcut4 CMP R0, R4 BCC loc_UI_Event B loc_to_address button5: CMP R3, 0xF5 BNE button6 LDR R0, shortcut5 CMP R0, R4 BCC loc_UI_Event B loc_to_address button6: CMP R3, 0xF6 BNE button7 LDR R0, shortcut6 CMP R0, R4 BCC loc_UI_Event B loc_to_address button7: CMP R3, 0xF7 BNE button8 LDR R0, shortcut7 CMP R0, R4 BCC loc_UI_Event B loc_to_address button8: CMP R3, 0xF8 BNE button9 LDR R0, shortcut8 CMP R0, R4 BCC loc_UI_Event B loc_to_address button9: CMP R3, 0xF9 BNE loc_POP LDR R0, shortcut9 CMP R0, R4 BCC loc_UI_Event loc_to_address: LDR R7, address B loc_BLX loc_UI_Event: LDR R7, UI_Event loc_BLX: BLX R7 loc_POP: POP {R0-R7,PC} align 4 Find_StandbyBook DCD 0x10D8D728+1 SBY_GetMainInput DCD 0x10F2A3C0+1 MainInput_getPNUM DCD 0x10D8D258+1 address DCD 0x10DDCC5C+1 UI_Event DCD 0x10DEF48C+1 shortcut1 DCD 0x5E28 shortcut2 DCD 0 shortcut3 DCD 0 shortcut4 DCD 0x11B62878 ;Msg_inbox shortcut5 DCD 0 shortcut6 DCD 0 shortcut7 DCD 0 shortcut8 DCD 0 shortcut9 DCD 0
Nothing happens on long press in key.
This source must be redevelop. Is some developer who get it?
XPeria X8 ROM 2.3.5 GingerDX v008
Joker XT
VIP Developer
Регистрация: 5.8.06 Сообщений: 1292 Репутация: 7582
#1115 [11.05.09, 20:32] Re: Учимся писать патчи
нууу, проблема..
Код:
addr1 dw 0x45107C66 PUSH {R0-R7,LR} push {r1} ldr R0, isFmRadioBook ldr r6, FindBookEx blx r6 pop {r1} cmp r1, 0x17 beq loc_1 cmp r1, 0x18 beq loc_2 cmp r1, 0x19 beq loc_3 b loc_5 loc_1: mov r1, 0 ldr r7, SwitchRadioStationFromList blx r7 POP {R0-R7, PC} loc_3: mov r1, 1 ldr r7, SwitchRadioStationFromList blx r7 POP {R0-R7, PC} loc_2: cmp r0, 0 beq loc_5 ldr r1, viewchannel ldr r7, BookObj_CallPage blx r7 loc_5: POP {R0-R7, PC}
SE C901 [R1GA028]
Спасибо сказали: Ilmir5555
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1116 [11.05.09, 21:33] Re: Учимся писать патчи
подозрительные порты heap shift в обратном порядке ;K660i SW-R1FA037 ;(p) kroco_bodo ;info 4 patchmakers: 2A2AC3EC...2A2BC3EB ;K660i SW-R1FA035 ;(p) SOAD ;(i) 7458985 ;info 4 patchmakers: 2A2AC3EC...2A2BC3EB ;W890i SW-R1FA035 ;(p) SOAD ;(i) Bardzo dziwnie się ten patch robiło :P ;info 4 patchmakers: 2A2AC3EC...2A2BC3EB ;W910 SW-R1FA037 ;(p) Photographer ;info 4 patchmakers: 2A2AC3EC...2A2BC3EB ;K630 SW-R1FA032 ;(p) fpopic ;(!) Fixed jump / Jockep ;info 4 patchmakers: 2A2AC3EC...2A2BC3EB ;W910 SW-R1FA035 ;(p) E1kolyan ;info 4 patchmakers: 2A2AC3EC...2A2BC3EB если последнему я верю, то всем остальным - нет
promt is better than google translate
KrasH
VIP Developer
Регистрация: 12.10.07 Сообщений: 993 Репутация: 3014 Откуда: Шахты
#1117 [11.05.09, 21:42] Re: Учимся писать патчи
угу...плюс еще хипшифт не работает на а2,тк должен стартовать до возможности стартовать яву...и не пытайтесь меня переубедить
Samsung GT-I9000 Galaxy S SE C510 R1FA035 + M2 1Gb + HPM-82 WMR: 248608836491 WMZ: 305377005044 Спасибо mazhor (1500wmr),polza (600wmr), & to other(~1100wmr)
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#1118 [11.05.09, 21:49] Re: Учимся писать патчи
;W910 SW-R1FA035
;(p) E1kolyan
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB
от этого 2 патча пашут)))это факт,убеждать не собираюсь
Добавлено 11.5.09 23:50 случайность скорее всего.....
j10i2 r7ca061
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1119 [11.05.09, 21:57] Re: Учимся писать патчи
Va_st , стабильность таких патчей под сомнением. до хипшифта уже наступали на эти грабли. а на а2 хипшифт даже если и правильный (из вышеперечисленных - один), из жавы его ставить бесполезно.
promt is better than google translate
PRO100light
Patcher
Регистрация: 28.6.08 Сообщений: 827 Репутация: 1403 Откуда: DP.UA
#1120 [13.05.09, 01:07] Re: Учимся писать патчи
Хочу отредактировать патч
Патч: ;Add a new item on the Startup menu (normal / flight mode etc), which shuts down Elfpack. ;Patch compatible with Elfpack Mod by Tartes since version 1.9.1 ;Now do not have to choose between standard and heapshift version of Elfpack ;v.2 ;Added 4 point "Music" ;Added 5th option: FM radio
Так что бы, имя пункта "Без эльфов" и его Инфо бралось не из байтов в патче, а из lng.
Значит... примерно, было так:
Код:
loc_45CAB41A: adr R0, byte_45CAB4E8 mov R1, 0 mov R2, 0xB ldr R6, _addr2 blx R6 add R1, R0, 0 add R0, R4, 0 ldr R7, _addr3 blx R7 adr R0, byte_45CAB500 mov R1, 0 mov R2, 0x12 blx R6 ldr R7, _addr3 add R1, R0, 0 add R0, R4, 0 add R7, 0x10 blx R7 ldr R2, dword_45CAB550 mov R1, 0 add R0, R4, 0 add R7, 0x68 blx R7 b loc_45CAB484
Сделал так:
Код:
loc_45CAB41A: adr R0, byte_45CAB4E8 mov R1, 0 mov R2, 0xB ldr R6, _addr2 blx R6 add R1, R0, 0 add R0, R4, 0 ldr R7, _addr3 blx R7 ldr R6, dword_00000005 ldr R7, _addr3 add R1, R6, 0 add R0, R4, 0 add R7, 0x10 blx R7 ldr R2, dword_45CAB550 mov R1, 0 add R0, R4, 0 add R7, 0x68 blx R7 b loc_45CAB484
Инфо берется из lng, а вот если пунк отредактировать так же как редактировал Инфо, то имя меняется но ребутит при выборе этого режима.
_addr2 , я понял функциональный для этого режима.... А как его сохранить то?
K810i R8BA024 orange
RU lenovo p770 + miui 5
vile
Patcher
Регистрация: 7.12.07 Сообщений: 123 Репутация: 500 Откуда: Екатеринбург
#1121 [13.05.09, 09:22] Re: Учимся писать патчи
А смысл изобретать велосипед? И так ведь всё работает ни кому ни холодно ни жарко станет если будет браться из *.lng
C510 SW-R1HA035 Был
iPhone 5s 32gb iOS 9.2
Похожие темы
Тема Ответы Автор Просмотры Обновление Как пропатчить файл прошивки с помощью BinEdit? 34 AleXeR 51296 15.06.15, 16:19 Setool2 Lite - Патчим, прошиваем 793 Zormax 630392 15.06.21, 04:11 патчи и редактор far manager 3 den_po 8542 25.04.21, 21:17 Aino и патчи, эльфы 1 khaker 5023 26.02.17, 19:37 Проблема патчинга с w380 (pnx5230) 3 ALexeY38 6360 15.08.15, 20:09 Запросы на платные патчи 586 Zormax 435807 08.08.14, 16:21 SE DB2010 Font Tool (Патчи) 64 TahaSpawn 83155 23.07.14, 10:57 Патчи для db2020 (Общие вопросы) 554 Zormax 419215 07.01.14, 05:16
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.