IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#1501 [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
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#1502 [02.03.10, 20:26] Re: Учимся писать патчи
Троян , учись делать исходники
j10i2 r7ca061
Троян
Пользователь
Регистрация: 16.1.08 Сообщений: 119 Репутация: 36 Откуда: Брянск
#1503 [02.03.10, 20:38] Re: Учимся писать патчи
Va_st , я исходник замейновой части сделал, нашел адреса, скомпилил... Этот адрес что я писал - это из врезки
(SE) w910i ''white'' sw-R1FA037 CID52 brown
MahmudS
Patchmaster
Регистрация: 3.12.07 Сообщений: 662 Репутация: 3103 Откуда: Черновцы.UA
#1504 [02.03.10, 20:47] Re: Учимся писать патчи
Троян , а что мешает врезки сделать так же? Никогда не понимал зачем их разделять, да и еще таким мозголюбством заниматься.
iPhone 5S Neverlock 64gb iOS 8.4 + Jailbreak C901 R1GA028 Ocean White W715 R1GA030 Black
dimonp25
Prize status
Регистрация: 9.9.06 Сообщений: 178 Репутация: 1300
#1505 [02.03.10, 22:16] Re: Учимся писать патчи
Ну вот как раз в иде меняешь на исходном адресе байты как в патче и смотришь куда ведет переход,находиш этот адрес у себя и через абраген генериш бранч
Имею на руках: С902x3,K790,j10i2,W580,W715,W810
c368511
Patcher
Регистрация: 26.7.09 Сообщений: 117 Репутация: 930 Откуда: Воронежская область
#1506 [18.03.10, 19:04] Re: Учимся писать патчи
Помогите найти ошибку
исходник:
include "x.inc" patch = 0x45C13B20 SWI_0x1A8_UI_Event = 0x452ACED1 SWI_0x28B_isAudioPlayerBook = 0x44F34E55 SWI_0x28E_Shortcut_Run = 0x4538F019 SWI_0x28A_isFmRadioBook = 0x450FAD09 SWI_0x130_FindBook = 0x452ACB09 SWI_0x159_strcmp = 0x44557425 SWI_0x25A_PlaySystemSound = 0x450047E1 SWI_0x14B_GUIObject_SoftKeys_SetAction = 0x45381701 SWI_0x14C_GUIObject_SoftKeys_SetText = 0x45381779 SWI_0x11C_fstat = 0x44E883E1 SWI_0x116__fopen = 0x44E87A4D SWI_0x117_fclose = 0x44E89019 SWI_0x20A_FileDelete = 0x44E88525 _adrr1 = 0x450F8BC2+1 ;452308E6 _adrr2 = 0x44F36BE2+1 ;4505FD14 _adrr3 = 0x4500CEF4+1 ;4505D9AC _adrr4 = 0x44F3490C+1 ;4505D9E0 _adrr5 = 0x44F34928+1 ;4505D9FC _adrr6 = 0x44DC2A1C+1 ;44EEC5C4 _adrr7 = 0x44DC2B7C+1 ;44EEC724 ; --------------------------------------------------------------------------- org 0x450F1C4C ;4505FFF8 DCD 0x45DAEB30+1 org 0x44F36B7E ;4505FD10 NOP BX R5 org 0x450F8BC0 ;452308E4 BLX R1 org 0x44F01444 ;45230930-44F01444 DCD 0x45DAEB90+1 org 0x44DC2B72 ;44EEC71A LDR R3, off_44EEC720 BLX R3 NOP ;align 4 off_44EEC720 DCD 0x45DAEBEC+1 ; --------------------------------------------------------------------------- org patch loc_45DAEB30: LDR R2, off_45DAEBC4 MOV R1, 0xFD LDR R0, [R4,0x1C] LDR R3, off_45DAEBD4 BLX R3 LDR R2, dword_45DAEBB8 MOV R1, 0xFD LDR R0, [R4,0x1C] LDR R3, off_45DAEBD8 BLX R3 LDR R0, [R4,0x1C] MOV R1, 0x15 MOV R2, 0xFF LDR R3, off_45DAEBDC BLX R3 LDR R5, dword_45DAEBC8 LDR R3, off_45DAEBD0 BLX R3 sub_45DAEB54: PUSH {LR} LDR R0, off_45DAEBE0 BL sub_45DAEB5E POP {PC} sub_45DAEB5E: LDR R3, off_45DAEBE4 BX R3 sub_45DAEB62: PUSH {R0-R7,LR} LDR R0, off_45DAEBCC LDR R1, off_45DAEC80 BLX R1 CMP R0, 0 BEQ loc_45DAEB7A LDR R0, dword_45DAEBAC LDR R7, off_45DAEBB4 BLX R7 loc_45DAEB74: BL sub_45DAEC38 POP {R0-R7,PC} ; --------------------------------------------------------------------------- loc_45DAEB7A: LDR R0, off_45DAEBE8 LDR R1, off_45DAEC80 BLX R1 CMP R0, 0 BEQ loc_45DAEB74 LDR R0, dword_45DAEBB0 LDR R7, off_45DAEBB4 BLX R7 BL sub_45DAEC38 POP {R0-R7,PC} ; --------------------------------------------------------------------------- loc_45DAEB90: LDR R2, off_45DAEBC4 LDR R0, [R4,0x18] MOV R1, 0x13 BL sub_45DAECE0 LDR R2, dword_45DAEBB8 LDR R0, [R4,0x18] MOV R1, 0x13 BL sub_45DAECE8 LDR R1, dword_45DAEBBC LDR R0, [R4,0x18] LDR R3, off_45DAEBC0 BX R3 ; --------------------------------------------------------------------------- align 4 dword_45DAEBAC DCD 0x1C21 dword_45DAEBB0 DCD 0x1C22 off_45DAEBB4 DCD SWI_0x1A8_UI_Event dword_45DAEBB8 DCD 0x325 dword_45DAEBBC DCD 0xFB3 off_45DAEBC0 DCD _adrr1 off_45DAEBC4 DCD 0x45DAEC22+1 dword_45DAEBC8 DCD 0x1E9E off_45DAEBCC DCD SWI_0x28B_isAudioPlayerBook off_45DAEBD0 DCD _adrr2 off_45DAEBD4 DCD _adrr3 off_45DAEBD8 DCD _adrr4 off_45DAEBDC DCD _adrr5 off_45DAEBE0 DCD aMenuTimer off_45DAEBE4 DCD SWI_0x28E_Shortcut_Run off_45DAEBE8 DCD SWI_0x28A_isFmRadioBook aMenuTimer DCB "MenuTimer",0 ; --------------------------------------------------------------------------- loc_45DAEBEC: BL sub_45DAEC0C CMP R0, 1 BEQ loc_45DAEC02 MOV R0, 0x18 BL sub_45DAECD8 MOV R0, 1 STRB R0, [R5,0x16] loc_45DAEBFE: LDR R3, off_45DAECC4 BX R3 ; --------------------------------------------------------------------------- loc_45DAEC02: MOV R0, 1 STRB R0, [R5,0x16] BL sub_45DAEB62 B loc_45DAEBFE sub_45DAEC0C: PUSH {R1,R2,LR} LDR R0, off_45DAECC8 MOV R2, 0 adr R1, loc_45DAECCC BL sub_45DAECF0 BMI loc_45DAEC1E MOV R0, 1 B locret_45DAEC20 ; --------------------------------------------------------------------------- loc_45DAEC1E: MOV R0, 0 locret_45DAEC20: POP {R1,R2,PC} ; --------------------------------------------------------------------------- loc_45DAEC22: PUSH {R0-R7,LR} BL sub_45DAEC0C CMP R0, 1 BEQ loc_45DAEC32 BL sub_45DAECA2 POP {R0-R7,PC} ; --------------------------------------------------------------------------- loc_45DAEC32: BL sub_45DAEC38 POP {R0-R7,PC} ; =============== S U B R O U T I N E ======================================= sub_45DAEC38: PUSH {R0-R7,LR} LDR R0, off_45DAECC8 adr R1, loc_45DAECCC MOV R2, 0 BL sub_45DAED08 BL sub_45DAEC4A POP {R0-R7,PC} ; =============== S U B R O U T I N E ======================================= sub_45DAEC4A: PUSH {LR} LDR R0, off_45DAEC58 BL sub_45DAEC74 BL sub_45DAEC78 POP {PC} ; --------------------------------------------------------------------------- align 4 off_45DAEC58 DCD 0x45DAEC5B+1 ; --------------------------------------------------------------------------- loc_45DAEC5C: PUSH {LR} LDR R0, [R0] LDR R0, [R0,4] LDR R1, off_45DAEC8C BL sub_45DAEC7C CMP R0, 0 BNE loc_45DAEC70 MOVS R0, 1 POP {PC} ; --------------------------------------------------------------------------- loc_45DAEC70: MOVS R0, 0 POP {PC} ; =============== S U B R O U T I N E ======================================= sub_45DAEC74: LDR R3, off_45DAEC80 BX R3 ; =============== S U B R O U T I N E ======================================= sub_45DAEC78: LDR R3, off_45DAEC88 BX R3 ; =============== S U B R O U T I N E ======================================= sub_45DAEC7C: LDR R3, off_45DAEC84 BX R3 ; --------------------------------------------------------------------------- ;align 4 off_45DAEC80 DCD SWI_0x130_FindBook off_45DAEC84 DCD SWI_0x159_strcmp off_45DAEC88 DCD _adrr6 off_45DAEC8C DCD 0x44DAEC90 ; --------------------------------------------------------------------------- LSL R4, R2, 1 LSL R1, R5, 1 LSL R5, R5, 1 LSL R5, R4, 1 LSL R2, R6, 1 LSL R2, R0, 1 LSL R7, R5, 1 LSL R7, R5, 1 LSL R3, R5, 1 ; =============== S U B R O U T I N E ======================================= sub_45DAECA2: PUSH {R0-R7,LR} MOV R0, 0 PUSH {R0} LDR R0, off_45DAECC8 adr R1, loc_45DAECCC MOV R2, 4 MOVL R3, 0x180 BL sub_45DAECF8 BL sub_45DAED00 ADD SP, SP, 4 BL sub_45DAEB54 POP {R0-R7,PC} ; --------------------------------------------------------------------------- align 4 off_45DAECC4 DCD _adrr7 ;---------------------------------------------------------------------------- off_45DAECC8 DCD aTpaSystemSetti aTpaSystemSetti du "tpa/system/settings/",0 align 4 loc_45DAECCC: LSL R2, R2, 3 LSL R0, R4, 3 LSL R1, R5, 3 LSL R4, R5, 3 LSL R0, R4, 3 LSL R0, R6, 3 sub_45DAECD8: LDR R3, off_45DAECDC BX R3 ; --------------------------------------------------------------------------- off_45DAECDC DCD SWI_0x25A_PlaySystemSound sub_45DAECE0: LDR R3, off_45DAECE4 BX R3 ; --------------------------------------------------------------------------- off_45DAECE4 DCD SWI_0x14B_GUIObject_SoftKeys_SetAction sub_45DAECE8: LDR R3, off_45DAECEC BX R3 ; --------------------------------------------------------------------------- off_45DAECEC DCD SWI_0x14C_GUIObject_SoftKeys_SetText sub_45DAECF0: LDR R3, off_45DAECF4 BX R3 ; --------------------------------------------------------------------------- off_45DAECF4 DCD SWI_0x11C_fstat sub_45DAECF8: LDR R5, off_45DAECFC BX R5 ; --------------------------------------------------------------------------- off_45DAECFC DCD SWI_0x116__fopen sub_45DAED00: LDR R5, off_45DAED04 BX R5 ; --------------------------------------------------------------------------- off_45DAED04 DCD SWI_0x117_fclose sub_45DAED08: LDR R5, off_45DAED0C BX R5 ; --------------------------------------------------------------------------- off_45DAED0C DCD SWI_0x20A_FileDelete
Как только я захожу в плеер или радио-ребут
[ Редактировано c368511 в 18.3.10 19:06 ]
w 580-R8BE001 aka Dimmu
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#1507 [18.03.10, 19:52] Re: Учимся писать патчи
c368511 писал:
LSL R4, R2, 1 LSL R1, R5, 1 LSL R5, R5, 1 LSL R5, R4, 1 LSL R2, R6, 1 LSL R2, R0, 1 LSL R7, R5, 1 LSL R7, R5, 1 LSL R3, R5, 1
c368511 писал:
LSL R2, R2, 3 LSL R0, R4, 3 LSL R1, R5, 3 LSL R4, R5, 3 LSL R0, R4, 3 LSL R0, R6, 3
j10i2 r7ca061
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#1508 [19.03.10, 16:33] Re: Учимся писать патчи
c368511 писал:
org 0x450F1C4C ;4505FFF8 DCD 0x45DAEB30 +1 org 0x44F36B7E ;4505FD10 NOP BX R5 org 0x450F8BC0 ;452308E4 BLX R1 org 0x44F01444 ;45230930-44F01444 DCD 0x45DAEB90 +1 org 0x44DC2B72 ;44EEC71A LDR R3, off_44EEC720 BLX R3 NOP ;align 4 off_44EEC720 DCD 0x45DAEBEC +1
вроде все)
patch = 0x45C13B20 это тип подсказка ЗЫ пишите хоть название портируемого патча
j10i2 r7ca061
D3mon
Developer
Регистрация: 23.2.08 Сообщений: 1141 Репутация: 10348 Откуда: Краснодар
#1509 [03.04.10, 19:53] Re: Учимся писать патчи
Портирую
Book Manager for A2 v2.1 с w715 себе на w995.
Портанул, компилирую, и такая ошибка:
error: relative jump out of range
Кусок кода:
Код:
org 0x150CA5F0 loc_14DEA208: PUSH {R4,R5,LR} ADDS R5, R1, 0 ADDS R4, R5, 0 ADDS R4, 0x3C MOVS R1, 0x37 LDRB R0, [R4,R1] CMP R0, 0 BEQ loc_14DEA21E MOVS R0, 0 STRB R0, [R4,R1] B loc_14DEA286 ; --------------------------------------------------------------------------- loc_14DEA21E: LDR R3, off_14DEA2B4 BLX R3 ADDS R2, R0, 0 MOVS R1, 1 LDR R0, [R5,0x24] BL 0x155ABCEC <--- Ошибка здесь BL 0x150CA6EC BL 0x150CA6AC CMP R0, 1 ..... ..... .....
Если закомментить эту строку, то патч компилируется..
Как с этим бороться?((
Sony Xperia XZ3 GreenSony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#1510 [03.04.10, 19:58] Re: Учимся писать патчи
С этим нужно бороться выучив английский.. ну или на худой конец воспользоваться переводчиком.
K700->W810->W850->W705 & W995 (cid81) ==========WMZ307721639637 WMR675285842893 Спасибо за пожертвования:Resp , ploik , BanditNN , AlexTin , polza , romanchenko , Ryabchik , Ax , [b]Desp
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#1511 [03.04.10, 20:03] Re: Учимся писать патчи
А еще с погонами... Замени этот бл на ldr r3,=0x155abced blx r3
j10i2 r7ca061
Похожие темы
Тема Ответы Автор Просмотры Обновление Как пропатчить файл прошивки с помощью BinEdit? 34 AleXeR 51283 15.06.15, 16:19 Setool2 Lite - Патчим, прошиваем 793 Zormax 629908 15.06.21, 04:11 патчи и редактор far manager 3 den_po 8541 25.04.21, 21:17 Aino и патчи, эльфы 1 khaker 5023 26.02.17, 19:37 Проблема патчинга с w380 (pnx5230) 3 ALexeY38 6359 15.08.15, 20:09 Запросы на платные патчи 586 Zormax 435490 08.08.14, 16:21 SE DB2010 Font Tool (Патчи) 64 TahaSpawn 83133 23.07.14, 10:57 Патчи для db2020 (Общие вопросы) 554 Zormax 418892 07.01.14, 05:16
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.