IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8544 Откуда: Пермь
#1781 [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
#1782 [09.03.13, 09:29] Re: Учимся писать патчи
align 4 нахрен?)
j10i2 r7ca061
Legas
Expert
Регистрация: 30.4.09 Сообщений: 444 Репутация: 1407
#1783 [09.03.13, 17:09] Re: Учимся писать патчи
если речь про пример a6b6, то во врезке да, он нахрен не упал...
Legas
Expert
Регистрация: 30.4.09 Сообщений: 444 Репутация: 1407
#1784 [12.03.13, 20:11] Re: Учимся писать патчи
есть ли какие-нибудь плюсы при использовании adr вместо ldr, кроме экономии 2-4 байт в некоторых случаях?
RaANdOoM
Developer
Регистрация: 26.12.07 Сообщений: 148 Репутация: 1422 Откуда: Люберецкий
#1785 [16.03.13, 02:26] Re: Учимся писать патчи
Legas2 , adr получает адрес чего-нибудь (указатель), а ldr получает значение (которое может быть и указателем) по адресу. Если нужен указатель на что-нибудь находящееся рядом - почему бы не использовать adr. Если adr не дотянется, то получай указатель через ldr. И выигрыш и красота.
Nokia N 900 Спасибо: Va_st, Therion.
Legas
Expert
Регистрация: 30.4.09 Сообщений: 444 Репутация: 1407
#1786 [16.03.13, 02:39] Re: Учимся писать патчи
да, я уже заметил, что он получает указатель, а не значение.
зато, указатели удобно складывать, когда значения лежат друг за другом...
возник новый вопрос:
у memalloc первый аргумент - int minus_one
тогда как понять:
Код:
10050774 00 20 MOVS R0, #0 10050776 C0 43 MVNS R0, R0 10050778 00 F0 44 F8 BL j_j_memalloc_1175B640_1
после mvn содержимое р0 равно "1", или я чего-то не учитываю при инвертировании?
RaANdOoM
Developer
Регистрация: 26.12.07 Сообщений: 148 Репутация: 1422 Откуда: Люберецкий
#1787 [16.03.13, 02:56] Re: Учимся писать патчи
Legas2 , mvn берет значение из регистра, делает NOT и кладет в другой регистр, но в данном случае в тот же самый. То есть: NOT 0 = -1. Проверь калькулятором.
Nokia N 900 Спасибо: Va_st, Therion.
Legas
Expert
Регистрация: 30.4.09 Сообщений: 444 Репутация: 1407
#1788 [16.03.13, 04:07] Re: Учимся писать патчи
ага, не учёл, что регистре не 1 бит
Pavlus
Опытный
Регистрация: 23.12.08 Сообщений: 223 Репутация: 174 Откуда: Украина.Сумы.Конотоп
#1789 [17.05.13, 15:27] Re: Учимся писать патчи
Спасибо сказали: Therion
vetel
Опытный
Регистрация: 27.4.10 Сообщений: 171 Репутация: 1282 Откуда: Россия
#1790 [06.05.14, 01:57] Re: Учимся писать патчи
Привет всем! все еще пользуюсь с510-тым!, хочу вот изменить патч:
Патч: ;Выбор времени автоблокировки клавиатуры и подсветки ;Выбор осуществляется в меню Параметры->Общие->Защита->Автоблок. клавиш ;v. 1.5 ;(c) IronMaster
так чтобы было например - 10, 20 , 30, минута,2 мин, 4 мин, но не могу найти в исхе где значения менять, мож кто подскажет, исх:
Код:
include "x.inc" ;Выбор времени автоблокировки клавиатуры и подсветки org 0x1449F6A8 BLX R1 org 0x1449F6C2 BLX R1 org 0x1449F6F8 DCD loc_15D0B5F0+1 org 0x1449F700 DCD loc_15D0B604+1 org 0x15A30F08 DCD loc_15D0B650+1 org 0x1449FC98 BLX R2 MOVS R1, 0 org 0x1449FCC4 DCD sub_15D0B77C+1 org 0x143F263E LDR R5, off_143F2644 BLX R5 B 0x143F2648 off_143F2644 DCD loc_15D0B78A+1 org 0x15D0B5F0 CODE16 loc_15D0B5F0: MOVS R3, 0 PUSH {R3-R7,LR} BL sub_15D0B61C ADDS R0, R0, 1 MOVLS R1, 0x2700 ADDS R1, 0x10 MUL R1, R0 POP {R3-R7,PC} ; --------------------------------------------------------------------------- loc_15D0B604: MOVS R3, 0 PUSH {R2-R7,LR} BL sub_15D0B61C MOVLS R1, 0x2700 ADDS R1, 0x10 MUL R1, R0 MOVLS R2, 0x7D0 SUBS R1, R1, R2 POP {R2-R7,PC} ; =============== S U B R O U T I N E ======================================= sub_15D0B61C: PUSH {R4-R7,LR} SUB SP, SP, 4 MOV R1, SP MOVS R2, 0 STR R2, [SP] ADR R0, aLightTime BL sub_15D0B8B0 LDR R0, [SP] CMP R0, 0 BNE loc_15D0B634 MOVS R0, 2 loc_15D0B634: ADD SP, SP, 4 POP {R4-R7,PC} ; --------------------------------------------------------------------------- loc_15D0B638: PUSH {R4-R7,LR} ADDS R1, R0, 0 ADR R0, aLightTime BL sub_15D0B8B8 POP {R4-R7,PC} ; --------------------------------------------------------------------------- aLightTime DCB "light-time",0 DCB 0xFF ; --------------------------------------------------------------------------- loc_15D0B650: PUSH {R4-R7,LR} ADDS R4, R1, 0 MOVS R1, 0 ADDS R0, R4, 0 BL sub_15D0B838 STR R0, [R4,0x1C] LDR R1, dword_15D0B7BC BL sub_15D0B878 LDR R0, [R4,0x1C] MOVS R1, 7 BL sub_15D0B860 ADR R1, sub_15D0B714 ADDS R1, 1 LDR R0, [R4,0x1C] BL sub_15D0B868 BL sub_15D0B61C ADDS R1, R0, 0 LDR R0, [R4,0x1C] BL sub_15D0B848 LDR R0, [R4,0x1C] ADR R2, sub_15D0B6AC ADDS R2, 1 LDR R1, dword_15D0B7B0 BL sub_15D0B870 LDR R0, [R4,0x1C] LDR R2, off_15D0B7A4 LDR R1, dword_15D0B7B4 BL sub_15D0B870 LDR R0, [R4,0x1C] LDR R2, off_15D0B7A4 LDR R1, dword_15D0B7B8 BL sub_15D0B870 LDR R0, [R4,0x1C] BL sub_15D0B880 POP {R4-R7,PC} ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_15D0B6AC: PUSH {R4-R7,LR} SUB SP, SP, 4 ADDS R5, R1, 0 ADDS R0, R1, 0 BL sub_15D0B840 ADDS R6, R0, 0 BEQ loc_15D0B6F2 BL sub_15D0B61C CMP R0, R6 BEQ loc_15D0B6EE ADDS R1, R0, 0 LDR R2, dword_15D0B7C8 PUSH {R2} MOVS R3, 0 LDR R2, dword_15D0B7D4 ADDS R0, R5, 0 BL sub_15D0B850 ADD SP, SP, 4 ADDS R0, R6, 0 BL loc_15D0B638 ADDS R1, R6, 0 LDR R2, dword_15D0B7C4 loc_15D0B6E0: PUSH {R2} MOVS R3, 0 LDR R2, dword_15D0B7D4 ADDS R0, R5, 0 BL sub_15D0B850 ADD SP, SP, 4 loc_15D0B6EE: ADD SP, SP, 4 POP {R4-R7,PC} ; --------------------------------------------------------------------------- loc_15D0B6F2: MOV R0, SP BL sub_15D0B8C0 MOV R1, SP LDRB R0, [R1] MOVS R1, 1 SUBS R6, R1, R0 ADDS R0, R6, 0 BL sub_15D0B8C8 MOVS R1, 0 CMP R6, 0 BEQ loc_15D0B710 LDR R2, dword_15D0B7CC B loc_15D0B6E0 ; --------------------------------------------------------------------------- loc_15D0B710: LDR R2, dword_15D0B7D0 B loc_15D0B6E0 ; =============== S U B R O U T I N E ======================================= sub_15D0B714: PUSH {R4-R7,LR} SUB SP, SP, 4 ADDS R4, R0, 0 BL sub_15D0B888 CMP R0, 1 BNE loc_15D0B75A ADDS R0, R4, 0 BL sub_15D0B890 ADDS R5, R0, 0 BEQ loc_15D0B75E SUBS R0, R0, 1 LSLS R1, R0, 4 ADR R0, a10A5 ;"10 A\x045\x04:\x04" ADDS R0, R0, R1 MOVS R1, 0 MOVS R2, 0xC BL sub_15D0B8A8 ADDS R1, R0, 0 ADDS R0, R4, 0 BL sub_15D0B898 BL sub_15D0B61C CMP R0, R5 BEQ loc_15D0B750 LDR R2, dword_15D0B7C8 B loc_15D0B752 ; --------------------------------------------------------------------------- loc_15D0B750: LDR R2, dword_15D0B7C4 loc_15D0B752: MOVS R1, 0 ADDS R0, R4, 0 BL sub_15D0B8A0 loc_15D0B75A: ADD SP, SP, 4 POP {R4-R7,PC} ; --------------------------------------------------------------------------- loc_15D0B75E: LDR R1, dword_15D0B7C0 ADDS R0, R4, 0 BL sub_15D0B898 MOV R0, SP BL sub_15D0B8C0 MOV R1, SP LDRB R0, [R1] CMP R0, 0 BEQ loc_15D0B778 LDR R2, dword_15D0B7CC B loc_15D0B752 ; --------------------------------------------------------------------------- loc_15D0B778: LDR R2, dword_15D0B7D0 B loc_15D0B752 ; =============== S U B R O U T I N E ======================================= sub_15D0B77C: LDR R2, off_15D0B7AC PUSH {R0-R4,R6,R7,LR} BL sub_15D0B61C MOVS R5, 0xA MUL R5, R0 POP {R0-R4,R6,R7,PC} ; --------------------------------------------------------------------------- loc_15D0B78A: LDR R5, [R0,4] ADDS R4, R1, 0 LSLS R0, R1, 5 LDR R1, dword_15D0B7A8 ADDS R6, R1, R0 PUSH {R0,R1,R3-R7,LR} BL sub_15D0B61C MOVLS R2, 0x2700 ADDS R2, 0x10 MUL R2, R0 POP {R0,R1,R3-R7,PC} ; --------------------------------------------------------------------------- off_15D0B7A4 DCD 0x1541E430+1 dword_15D0B7A8 DCD 0x4BA07AE0 off_15D0B7AC DCD 0x1422F9D4+1 dword_15D0B7B0 DCD 0xFC2 dword_15D0B7B4 DCD 0xFBF dword_15D0B7B8 DCD 0xFC0 dword_15D0B7BC DCD 0x2C0 dword_15D0B7C0 DCD 0x112D dword_15D0B7C4 DCD 0x145 dword_15D0B7C8 DCD 0x7F5 dword_15D0B7CC DCD 0xF454 dword_15D0B7D0 DCD 0x143 dword_15D0B7D4 DCD 0xFFFF a10A5 DCB "1",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a20A5 DCB "2",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a30A5 DCB "3",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a40A5 DCB "4",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a50A5 DCB "5",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a60A5 DCB "9",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 ; =============== S U B R O U T I N E ======================================= sub_15D0B838: LDR R3, off_15D0B83C BX R3 ; --------------------------------------------------------------------------- off_15D0B83C DCD 0x14285AF9 ; =============== S U B R O U T I N E ======================================= sub_15D0B840: LDR R3, off_15D0B844 BX R3 ; --------------------------------------------------------------------------- off_15D0B844 DCD 0x142800F9 ; =============== S U B R O U T I N E ======================================= sub_15D0B848: LDR R3, off_15D0B84C BX R3 ; --------------------------------------------------------------------------- off_15D0B84C DCD 0x14417A81 ; =============== S U B R O U T I N E ======================================= sub_15D0B850: PUSH {R3} LDR R3, off_15D0B85C MOV R12, R3 POP {R3} BX R12 ; --------------------------------------------------------------------------- align 4 off_15D0B85C DCD 0x1427C809 ; =============== S U B R O U T I N E ======================================= sub_15D0B860: LDR R3, off_15D0B864 BX R3 ; --------------------------------------------------------------------------- off_15D0B864 DCD 0x14280611 ; =============== S U B R O U T I N E ======================================= sub_15D0B868: LDR R3, off_15D0B86C BX R3 ; --------------------------------------------------------------------------- off_15D0B86C DCD 0x14302735 ; =============== S U B R O U T I N E ======================================= sub_15D0B870: LDR R3, off_15D0B874 BX R3 ; --------------------------------------------------------------------------- off_15D0B874 DCD 0x1417BACD ; =============== S U B R O U T I N E ======================================= sub_15D0B878: LDR R3, off_15D0B87C BX R3 ; --------------------------------------------------------------------------- off_15D0B87C DCD 0x1443F741 ; =============== S U B R O U T I N E ======================================= sub_15D0B880: LDR R3, off_15D0B884 BX R3 ; --------------------------------------------------------------------------- off_15D0B884 DCD 0x144CB9BD ; =============== S U B R O U T I N E ======================================= sub_15D0B888: LDR R3, off_15D0B88C BX R3 ; --------------------------------------------------------------------------- off_15D0B88C DCD 0x142C5CA5 ; =============== S U B R O U T I N E ======================================= sub_15D0B890: LDR R3, off_15D0B894 BX R3 ; --------------------------------------------------------------------------- off_15D0B894 DCD 0x142C5BB5 ; =============== S U B R O U T I N E ======================================= sub_15D0B898: LDR R3, off_15D0B89C BX R3 ; --------------------------------------------------------------------------- off_15D0B89C DCD 0x1438A539 ; =============== S U B R O U T I N E ======================================= sub_15D0B8A0: LDR R3, off_15D0B8A4 BX R3 ; --------------------------------------------------------------------------- off_15D0B8A4 DCD 0x144CC8B5 ; =============== S U B R O U T I N E ======================================= sub_15D0B8A8: LDR R3, off_15D0B8AC BX R3 ; --------------------------------------------------------------------------- off_15D0B8AC DCD 0x141818E4+1 ; =============== S U B R O U T I N E ======================================= sub_15D0B8B0: LDR R3, off_15D0B8B4 BX R3 ; --------------------------------------------------------------------------- off_15D0B8B4 DCD 0x140C541C+1 ; =============== S U B R O U T I N E ======================================= sub_15D0B8B8: LDR R3, off_15D0B8BC BX R3 ; --------------------------------------------------------------------------- off_15D0B8BC DCD 0x14C8007C+1 ; =============== S U B R O U T I N E ======================================= sub_15D0B8C0: LDR R3, off_15D0B8C4 BX R3 ; --------------------------------------------------------------------------- off_15D0B8C4 DCD 0x140C5514+1 ; =============== S U B R O U T I N E ======================================= sub_15D0B8C8: LDR R3, off_15D0B8CC BX R3 ; --------------------------------------------------------------------------- off_15D0B8CC DCD 0x14DFB5AC+1
пробовал тут:
Код:
a10A5 DCB "1",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a20A5 DCB "2",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a30A5 DCB "3",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a40A5 DCB "4",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a50A5 DCB "5",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a60A5 DCB "9",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0
но здесь тока циферки меняются но не время подсветки
[ Редактировано vetel в 6.5.14 02:00 ]
Sony Xperia XASamsung SM-J120F/DS Galaxy J12016 C510 R1HA035 Brown снова со мной K550 R8BA024 почти помер
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1791 [06.05.14, 22:39] Re: Учимся писать патчи
vetel , писал:
a10A5 DCB "1",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a20A5 DCB "2",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a30A5 DCB "3",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a40A5 DCB "4",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a50A5 DCB "5",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0 a60A5 DCB "9",0,"0",0," ",0,"A",4,"5",4,":",4,0,0,0,0
потыцай тут клавишу A (eng)
сколько в оригинале, есть выбор времени ?
Спасибо сказали: vetel
Похожие темы
Тема Ответы Автор Просмотры Обновление Патчи для db2020 (Общие вопросы) 558 Zormax 433160 24.03.25, 17:51 Как пропатчить файл прошивки с помощью BinEdit? 34 AleXeR 52304 15.06.15, 16:19 Setool2 Lite - Патчим, прошиваем 793 Zormax 647148 15.06.21, 04:11 патчи и редактор far manager 3 den_po 8727 25.04.21, 21:17 Aino и патчи, эльфы 1 khaker 5158 26.02.17, 19:37 Проблема патчинга с w380 (pnx5230) 3 ALexeY38 6678 15.08.15, 20:09 Запросы на платные патчи 586 Zormax 447082 08.08.14, 16:21 SE DB2010 Font Tool (Патчи) 64 TahaSpawn 84742 23.07.14, 10:57
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.