IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#991 [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
arban
Elfmaker
Регистрация: 2.3.08 Сообщений: 802 Репутация: 3111
#992 [31.03.09, 15:40] Re: Учимся писать патчи
Обновил первый пост, добавил ссылку на тему с подробным факом по созданию исходника.
Спасибо сказали: -BourNe-
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#993 [31.03.09, 21:36] Re: Учимся писать патчи
У меня вопрос. Последнее время все патчи которые я портирую ложатся только с мисматчем. Вот например. Портанул этот патч ;W850 SW-R1KG001
Патч: ;Change Video GUI to fullscreen ;v. 1 ;(c) michlantecuhtli ;(e,p) jamesbond22
Получил
Патч: ;W660 SW-R8BB001 ;Графический интерфейс в "Видео"+Полный экран ;Change Video GUI to fullscreen ;v. 1 ;(c) michlantecuhtli ;(e) jamesbond22 ;(p) -=Mur@metS=-
Уверен на все 100 что всё сделал правильно. Но при установке патча мисматч, и сам патч не работает.
Вот мой исх(только замэйн, комплится нормально). В верхней части тоже все байты правильные. Но патч не робит
Код:
include "x.inc" org 0x45cf2250 CODE16 ADD R0, R4, 0 BL sub_443BB17C MOV R1, 4 LDR R0, [R5,4] BL sub_443BB174 LDR R0, [R5,4] BL sub_443BB170 LDR R0, [R5,4] BL sub_443BB178 LDR R0, [R5,4] LDR R3, dword_443BB188 BX R3 sub_443BB170: LDR R3, dword_443BB180 BX R3 sub_443BB174: LDR R3, dword_443BB184 BX R3 sub_443BB178: LDR R3, dword_443BB190 BX R3 sub_443BB17C: LDR R3, dword_443BB18C BX R3 align 4 dword_443BB180 DCD 0x454AB88D dword_443BB184 DCD 0x4548EC1D dword_443BB188 DCD 0x45367541 dword_443BB18C DCD 0x4536776D dword_443BB190 DCD 0x454AB875
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
Alex
Patchmaster
Регистрация: 31.10.07 Сообщений: 80 Репутация: 155
#994 [31.03.09, 21:41] Re: Учимся писать патчи
MurametS , а учет замейна учитывал
R233563810518 W710 SW-R1JC002 K790 SW-R8BF003 W910 SW-R1FA035
jamesbond22
Свой в доску
Регистрация: 19.8.07 Сообщений: 1764 Репутация: 1322
#995 [31.03.09, 22:04] Re: Учимся писать патчи
MurametS ,
Код:
;W850 SW-R1KG001 ;Change Video GUI to fullscreen ;v. 1 ;(c) michlantecuhtli ;(e,p) jamesbond22 include "x.inc" org 0x4535def4 LDR R3, offsvideo BX R3 align 4 offsvideo dw patch+1 skip: org 0x443bb150 patch: ADD R0, R4, 0 BL needsub MOV R1, 4 LDR R0, [R5,4] BL guistyle LDR R0, [R5,4] BL backgrsoftkeys LDR R0, [R5,4] BL remsoftkeys LDR R0, [R5,4] LDR R3, nextcode BX R3 backgrsoftkeys: LDR R3, rem_backgr BX R3 guistyle: LDR R3, setstyle BX R3 remsoftkeys: LDR R3, removingsoftkeys BX R3 needsub: LDR R3, addrneedsub BX R3 align 4 rem_backgr dw 0x454a1f21 setstyle dw 0x454852bd nextcode dw skip+1 addrneedsub dw 0x4535e128+1 removingsoftkeys dw 0x454a1f09
XPeria X8 ROM 2.3.5 GingerDX v008
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#996 [31.03.09, 22:25] Re: Учимся писать патчи
Alex , учитывал. Конфликт не в замэйнеjamesbond22 , спасибо конечно за исходник. Но все таки хотелось знать в чем дело...даже простейшие патчи некоторые с мисматчем ложатся
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
Xamid
Patchmaster
Регистрация: 26.8.07 Сообщений: 449 Репутация: 1965 Откуда: Ростов-на-Дону
#997 [31.03.09, 22:30] Re: Учимся писать патчи
MurametS , может тупо в фасмарме не твоя проша указана при компиляции?
SGS3 white
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#998 [31.03.09, 22:46] Re: Учимся писать патчи
Xamid , не. Я врезки вручную портирую
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
Alex
Patchmaster
Регистрация: 31.10.07 Сообщений: 80 Репутация: 155
#999 [31.03.09, 23:02] Re: Учимся писать патчи
MurametS , может не указываешь +441140000....а то у меня фасмарм без +44140000 кривые адреса выдает
R233563810518 W710 SW-R1JC002 K790 SW-R8BF003 W910 SW-R1FA035
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#1000 [01.04.09, 14:46] Re: Учимся писать патчи
Alex , вообще-то да, у меня компилятор без +4414000 компил, ну думаю не из-за этого. А как настраивать ставить 4414000 или нет? патч сделал, изменений не заметил
пысы///в этом исхе компилятор ругается на строку
SBCS.W R5, SP, 0x89000000 . Что сделать с этой строкой?
Код:
org 0x45C555E0 CODE16 LSR R2, R7, 0x20 LSL R0, R0, 0 ORR R5, R6 CMP R2, R8 LSR R3, R7, 0x20 LSL R0, R0, 0 ORR R5, R6 CMP R2, R8 LSL R2, R1, 1 LSL R0, R0, 0 EOR R5, R7 CMP R2, R8 LSL R5, R1, 1 LSL R0, R0, 0 LSL R5, R2 CMP R2, R8 LSL R1, R2, 1 LSL R0, R0, 0 LDRSB R1, [R4,R2] CMP SP, R8 LSL R3, R2, 1 LSL R0, R0, 0 LDRSB R5, [R4,R2] CMP SP, R8 LSR R0, R1, 1 LSL R0, R0, 0 SUB R7, 0xB1 CMP R2, R8 LSR R0, R2, 0x18 LSL R0, R0, 0 SUB R7, 0xB1 CMP R2, R8 LSL R0, R0, 0 LSL R0, R0, 0 LSL R0, R0, 0 LSL R0, R0, 0 LSR R1, R7, 0x20 LSL R0, R0, 0 SBCS.W R5, SP, 0x89000000 CMP R1, 0xCE LSL R0, R0, 0 LSL R5, R5, 4 CMP R2, R1 CMP R1, 0xCD LSL R0, R0, 0 LSL R1, R4, 5 CMP R2, R1 ADD R1, R4, 0 LSL R0, R0, 0 LSL R1, R7, 6 CMP R2, R1 MOV R1, 0xFD LSL R0, R0, 0 DCB 0x51 DCB 0xF2 CMP R1, R1 CMP R1, 0xCC LSL R0, R0, 0 DCB 0x5D DCB 0xF2 CMP R1, R1 LSL R4, R2, 0xA LSL R0, R0, 0 SBFX.W R5, SP, 0x10, 0xA LSR R6, R2, 1 LSL R0, R0, 0 LDRSB R5, [R7,R2] CMP SP, R8 LSR R7, R2, 1 LSL R0, R0, 0 LDRSB R3, [R0,R3] CMP SP, R8 LSR R1, R2, 0x1C LSL R0, R0, 0 LDRSB R1, [R1,R3] CMP SP, R8 LSR R2, R2, 0x1C LSL R0, R0, 0 LDRSB R7, [R1,R3] CMP SP, R8 LSL R7, R0, 1 LSL R0, R0, 0 LSL R1, R4, 7 CMP R2, R1 CMP R2, 0x48 LSL R0, R0, 0 LSL R1, R4, 7 CMP R2, R1 CMP R1, 0xD1 LSL R0, R0, 0 LSL R5, R1, 8 CMP R2, R1 LSL R0, R0, 0 LSL R0, R0, 0 LSL R0, R0, 0 LSL R0, R0, 0 LDR R7, dword_45C55768 B loc_45C556A6 LDR R7, dword_45C5576C loc_45C556A6: PUSH {LR} LDR R0, dword_45C55774 BL sub_45C5575C CMP R0, 0 BEQ locret_45C556BA ADD R0, R7, 0 BL sub_45C55758 LDR R0, dword_45C55770 locret_45C556BA: POP {PC} MOV R7, 4 MOV R6, 0x11 B loc_45C556D2 MOV R7, 2 MOV R6, 0x12 B loc_45C556D2 MOV R7, 5 MOV R6, 0x4B B loc_45C556D2 MOV R7, 3 MOV R6, 0x4E loc_45C556D2: PUSH {R1-R7,LR} LDR R0, dword_45C55774 BL sub_45C5575C CMP R0, 0 BEQ loc_45C556EC LDR R4, dword_45C55790 LDRB R5, [R4] CMP R5, R6 BEQ loc_45C556F2 ADD R1, R7, 0 BL sub_45C55760 loc_45C556EC: MOV R5, 0 STRB R5, [R4] POP {R1-R7,PC} loc_45C556F2: CMP R6, 0x11 BEQ loc_45C556FC CMP R6, 0x12 BEQ loc_45C55704 B loc_45C556EC loc_45C556FC: LDR R7, dword_45C55788 BLX R7 MOV R1, 0x4B B loc_45C5570A loc_45C55704: LDR R7, dword_45C5578C BLX R7 MOV R1, 0x4E loc_45C5570A: LDR R7, dword_45C55790 STRB R1, [R7] POP {R1-R7,PC} MOV R7, 0x11 B loc_45C55716 MOV R7, 0x12 loc_45C55716: ADD R5, R1, 0 PUSH {R3-R7,LR} LDR R1, dword_45C55790 STRB R7, [R1] CMP R7, 0x11 BEQ loc_45C55726 ADR R1, sub_45C55740 B loc_45C55728 loc_45C55726: ADR R1, sub_45C55738 loc_45C55728: ADD R1, 1 MOVL R0, 0x3E8 ADD R2, R5, 0 BL sub_45C55764 POP {R3-R7,PC} NOP sub_45C55738: PUSH {R0-R7,LR} MOV R5, 0x4B LDR R6, dword_45C55794 B loc_45C55746 sub_45C55740: PUSH {R0-R7,LR} MOV R5, 0x4E LDR R6, dword_45C55798 loc_45C55746: ADD R0, R1, 0 LDR R4, dword_45C55790 LDRB R7, [R4] CMP R7, R5 BEQ locret_45C55756 BLX R6 MOV R5, 0 STRB R5, [R4] locret_45C55756: POP {R0-R7,PC} sub_45C55758: LDR R3, dword_45C55778 BX R3 sub_45C5575C: LDR R3, dword_45C5577C BX R3 sub_45C55760: LDR R5, dword_45C55780 BX R5 sub_45C55764: LDR R3, dword_45C55784 BX R3 dword_45C55768 DCD 0xF11 dword_45C5576C DCD 0xF12 dword_45C55770 DCD 0x29A dword_45C55774 DCD 0x45094BE5 dword_45C55778 DCD 0x45410325 dword_45C5577C DCD 0x4540FF5D dword_45C55780 DCD 0x4509AE81 dword_45C55784 DCD 0x4540E569 dword_45C55788 DCD 0x4509F37D dword_45C5578C DCD 0x4509F389 dword_45C55790 DCD 0x2018C3CC dword_45C55794 DCD 0x45423FD9 dword_45C55798 DCD 0x454240FD
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1001 [01.04.09, 15:22] Re: Учимся писать патчи
MurametS , исходник кривой. начало по крайней мере. нужно учиться отделять исполняемый код от данных.
promt is better than google translate
Спасибо сказали: MurametS
Похожие темы
Тема Ответы Автор Просмотры Обновление Как пропатчить файл прошивки с помощью BinEdit? 34 AleXeR 51296 15.06.15, 16:19 Setool2 Lite - Патчим, прошиваем 793 Zormax 630418 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 435814 08.08.14, 16:21 SE DB2010 Font Tool (Патчи) 64 TahaSpawn 83160 23.07.14, 10:57 Патчи для db2020 (Общие вопросы) 554 Zormax 419231 07.01.14, 05:16
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.