IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#821 [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
lexa4311
Пользователь
Регистрация: 12.12.07 Сообщений: 104 Репутация: -95 Откуда: Беларусь
#822 [01.02.09, 18:23] Re: Учимся писать патчи
Grinvich11 , спасибо..
ПРОСТИТЕ ВЕЛИКОДУШНО, ИЗВОЛЬТЕ ВАС СПРОСИТЬ И ПО ВОЗМОЖНОСТИ ОТВЕТИТЬ НА МОЙ ВОПРОС, РАСЧИТЫВАЮ НА ВАШУ СНИСХОДИТЕЛЬНОСТЬ И МИЛОСТЬ, ПРОШУ ПО ВОЗМОЖНОСТИ НЕ ОТВЕЧАТЬ ТЕМ, КОМУ НЕЧЕГО ОТВЕТИТЬ, НЕ ПРИЗЫВАЮ, НЕ ЗАСТАВЛЯЮ, НЕ УПРЕКАЮ ВАС И НИЧЕГО НЕ ТРЕБУЮ
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#823 [01.02.09, 18:36] Re: Учимся писать патчи
Сделал IDA исходник патча
Патч: ;W660 SW-R8BB001 orange ;Управление плеером ;2 - Громкость + ;8 - Громкость - ;# - Выход на главный экран ;3 - Эквалайзер ;7 - Передача файла ;9 - Режим воспроизведения ;0 - Информация о файле ;v. 2.1 ;(c) Sic ;(e) E1kolyan ;(p) Ploik
Так вот, что в этом исходнике не правильно? И ещё, где найти свободный замейн на W660 R8BB001? (что бы вставить в ORG 0x45C48B50 )
Untitled1.asm: Код:
include "W660.inc" include "x.inc" ; --------------------------------------------------------------------------- ORG 0x45C48B50 CODE16 ADD R6, R1, 0 MOV R0, SP LDRB R5, [R0,0x18] PUSH {R0-R7,LR} MOV R2, 0x18 CMP R1, 0x15 BEQ loc_45C48BB8 CMP R1, 0x1B BEQ loc_45C48BBC CMP R1, 0x1E BEQ loc_45C48BC0 CMP R1, 0x16 BEQ loc_45C48BA6 CMP R1, 0x1C BEQ loc_45C48B8A CMP R1, 0x13 BEQ loc_45C48B7C CMP R1, 0x1A BEQ loc_45C48B98 CMP R1, 0xB BEQ loc_45C48BC8 B locret_45C48BCE ; --------------------------------------------------------------------------- loc_45C48B7C: ; CODE XREF: ROM:45C48B70j LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BE4 B loc_45C48BB2 ; --------------------------------------------------------------------------- loc_45C48B8A: ; CODE XREF: ROM:45C48B6Cj LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BE0 B loc_45C48BB2 ; --------------------------------------------------------------------------- loc_45C48B98: ; CODE XREF: ROM:45C48B74j LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BE8 B loc_45C48BB2 ; --------------------------------------------------------------------------- loc_45C48BA6: ; CODE XREF: ROM:45C48B68j LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BDC loc_45C48BB2: ; CODE XREF: ROM:45C48B88j ; ROM:45C48B96j ... LDR R7, dword_45C48BD8 BLX R7 locret_45C48BB6 ; CODE XREF: ROM:45C48B84j ; ROM:45C48B92j ... POP {R0-R7,PC} ; --------------------------------------------------------------------------- loc_45C48BB8: ; CODE XREF: ROM:45C48B5Cj MOV R0, 0x4A B loc_45C48BC2 ; --------------------------------------------------------------------------- loc_45C48BBC: ; CODE XREF: ROM:45C48B60j MOV R0, 0x4D B loc_45C48BC2 ; --------------------------------------------------------------------------- loc_45C48BC0: ; CODE XREF: ROM:45C48B64j LDR R0, dword_45C48BD4 loc_45C48BC2: ; CODE XREF: ROM:45C48BBAj ; ROM:45C48BBEj LDR R7, dword_45C48BD0 BLX R7 MOV R2, 0x8C loc_45C48BC8: ; CODE XREF: ROM:45C48B78j LDR R0, [SP,0x20] ADD R0, R0, R2 STR R0, [SP,0x20] locret_45C48BCE ; CODE XREF: ROM:45C48B7Aj POP {R0-R7,PC} ; --------------------------------------------------------------------------- align 4 dword_45C48BD0 DCD addr1 ; DATA XREF: ROM:loc_45C48BC2r dword_45C48BD4 DCD 0x848 ; DATA XREF: ROM:loc_45C48BC0r dword_45C48BD8 DCD addr2 ; DATA XREF: ROM:loc_45C48BB2r dword_45C48BDC DCD addr3 ; DATA XREF: ROM:45C48BB0r dword_45C48BE0 DCD addr4 ; DATA XREF: ROM:45C48B94r dword_45C48BE4 DCD addr5 ; DATA XREF: ROM:45C48B86r dword_45C48BE8 DCD addr6 ; DATA XREF: ROM:45C48BA2r dword_45C48BEC DCD addr7 ; DATA XREF: ROM:loc_45C48B7Cr ; ROM:loc_45C48B8Ar ... dword_45C48BF0 DCD 0x4540FF5D ; DATA XREF: ROM:45C48B7Er ; ROM:45C48B8Cr ... ; ROM ends
W660.inc: [
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#824 [01.02.09, 19:15] Re: Учимся писать патчи
MurametS а где врезки???замени ORG>>>>>org,свободное место смотри в учете занятого места в замейне для твоей прошивки....
MurametS писал:
locret_45C48BCE ; CODE XREF: ROM:45C48B7Aj POP {R0-R7,PC}
тут где двоеточие????
Добавлено 1.2.09 21:16 MurametS писал:
locret_45C48BB6 ; CODE XREF: ROM:45C48B84j ; ROM:45C48B92j ...
и тут где
[ Редактировано Va_st в 1.2.09 21:18 ]
j10i2 r7ca061
Спасибо сказали: MurametS
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#825 [01.02.09, 19:56] Re: Учимся писать патчи
Va_st , так? остальное всё правильно? Сам исходник правильный? Что за врезки? Учёт занятого места
тут например ?
Код:
include "W660.inc" include "x.inc" ; --------------------------------------------------------------------------- org 0x45C48B50 CODE16 ADD R6, R1, 0 MOV R0, SP LDRB R5, [R0,0x18] PUSH {R0-R7,LR} MOV R2, 0x18 CMP R1, 0x15 BEQ loc_45C48BB8 CMP R1, 0x1B BEQ loc_45C48BBC CMP R1, 0x1E BEQ loc_45C48BC0 CMP R1, 0x16 BEQ loc_45C48BA6 CMP R1, 0x1C BEQ loc_45C48B8A CMP R1, 0x13 BEQ loc_45C48B7C CMP R1, 0x1A BEQ loc_45C48B98 CMP R1, 0xB BEQ loc_45C48BC8 B locret_45C48BCE ; --------------------------------------------------------------------------- loc_45C48B7C: ; CODE XREF: ROM:45C48B70j LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BE4 B loc_45C48BB2 ; --------------------------------------------------------------------------- loc_45C48B8A: ; CODE XREF: ROM:45C48B6Cj LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BE0 B loc_45C48BB2 ; --------------------------------------------------------------------------- loc_45C48B98: ; CODE XREF: ROM:45C48B74j LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BE8 B loc_45C48BB2 ; --------------------------------------------------------------------------- loc_45C48BA6: ; CODE XREF: ROM:45C48B68j LDR R0, dword_45C48BEC LDR R1, dword_45C48BF0 BLX R1 CMP R0, 0 BEQ locret_45C48BB6 LDR R1, dword_45C48BDC loc_45C48BB2: ; CODE XREF: ROM:45C48B88j ; ROM:45C48B96j ... LDR R7, dword_45C48BD8 BLX R7 locret_45C48BB6: ; CODE XREF: ROM:45C48B84j ; ROM:45C48B92j ... POP {R0-R7,PC} ; --------------------------------------------------------------------------- loc_45C48BB8: ; CODE XREF: ROM:45C48B5Cj MOV R0, 0x4A B loc_45C48BC2 ; --------------------------------------------------------------------------- loc_45C48BBC: ; CODE XREF: ROM:45C48B60j MOV R0, 0x4D B loc_45C48BC2 ; --------------------------------------------------------------------------- loc_45C48BC0: ; CODE XREF: ROM:45C48B64j LDR R0, dword_45C48BD4 loc_45C48BC2: ; CODE XREF: ROM:45C48BBAj ; ROM:45C48BBEj LDR R7, dword_45C48BD0 BLX R7 MOV R2, 0x8C loc_45C48BC8: ; CODE XREF: ROM:45C48B78j LDR R0, [SP,0x20] ADD R0, R0, R2 STR R0, [SP,0x20] locret_45C48BCE: ; CODE XREF: ROM:45C48B7Aj POP {R0-R7,PC} ; --------------------------------------------------------------------------- align 4 dword_45C48BD0 DCD addr1 ; DATA XREF: ROM:loc_45C48BC2r dword_45C48BD4 DCD 0x848 ; DATA XREF: ROM:loc_45C48BC0r dword_45C48BD8 DCD addr2 ; DATA XREF: ROM:loc_45C48BB2r dword_45C48BDC DCD addr3 ; DATA XREF: ROM:45C48BB0r dword_45C48BE0 DCD addr4 ; DATA XREF: ROM:45C48B94r dword_45C48BE4 DCD addr5 ; DATA XREF: ROM:45C48B86r dword_45C48BE8 DCD addr6 ; DATA XREF: ROM:45C48BA2r dword_45C48BEC DCD addr7 ; DATA XREF: ROM:loc_45C48B7Cr ; ROM:loc_45C48B8Ar ... dword_45C48BF0 DCD 0x4540FF5D ; DATA XREF: ROM:45C48B7Er ; ROM:45C48B8Cr ... ; ROM ends
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
HierOS
Patcher/Moder
Регистрация: 9.5.07 Сообщений: 1279 Репутация: 761 Откуда: ЖелезЯка
#826 [01.02.09, 20:00] Re: Учимся писать патчи
MurametS , вроде да,только мне не ясно где врезки и зачем выносить адреса в отдельный файл если можно в шапку хотя бы? или планируется под разные тела компилить и портировать?
Хорошо смеется тот, кто админ и модератор.
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#827 [01.02.09, 20:47] Re: Учимся писать патчи
врезки-от слова древнерусского "врезать"
в твоем случае это
45091d94: 0E1C6846057E0B290BD0 004E01E0518BC445B047
j10i2 r7ca061
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#828 [01.02.09, 21:13] Re: Учимся писать патчи
Va_st,HierOS,делал по мануалу поэтому адреса вынесены в отдельный файл. Выложите тогда исправленный вариант со врезками? ///И как находить врезки? [ Редактировано MurametS в 1.2.09 21:19 ]
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
Va_st
Patchmaster
Регистрация: 3.8.08 Сообщений: 440 Репутация: 1142
#829 [01.02.09, 21:51] Re: Учимся писать патчи
Почитай мануал от Joker XT там и Врезки и все все все
j10i2 r7ca061
MurametS
Patcher
Регистрация: 18.1.08 Сообщений: 180 Репутация: 385 Откуда: Малмыж
#830 [01.02.09, 22:03] Re: Учимся писать патчи
Va_st,выложи исправленный вариант? Я его буду как пример юзать Или скажите, в какое место (xD) вставлять врезки? /////где узнать свободный замейн? [ Редактировано MurametS в 2.2.09 14:26 ] [ Редактировано MurametS в 2.2.09 14:39 ]
LG Optimus Black SE W580 R6CA001 Orange SE K800 R8BF003 PSP 3008 6.20 TN
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#831 [02.02.09, 18:38] Re: Учимся писать патчи
для меня этот HEX-редактор самый удобный и имент много ф-ций. Прошу разработчиков оценить!!!!!!!!!!!!! П.С: если вы таким ужэ пользуетесь или он вам не понравился---прошу не ругать... SЕ [ Редактировано Therion в 2.2.09 17:46 ]
Прикрепленный к сообщению файл: HEXSetup.rar (
561.79 kb; 12 hits)
Скачать файл
Похожие темы
Тема Ответы Автор Просмотры Обновление Как пропатчить файл прошивки с помощью 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
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.