| |
|
IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
|
#291 [29.01.07, 20:10] Учимся писать патчи
Цель этой темы помочь разобраться начинающим (не только) патчеписателям в этом не легком деле. Задавайте свои вопросы. По возможности будем отвечать. Только не надо лить воду. Задаете конкретный вопрос, получаете конкретный ответ. Итак немного информации: 1. Ниже прикреплены файлы: - Формат VKP-патчей - Краткая инструкция (пример) портирования патча от Joker_XT- Вся графика телефона, если нужно знать код картинки (файлы здесь) - Исходник патча "Мигание фонаря при входящем" с комментариями - Исходники патчей на управление гарнитурой v.4 для К750 и W800 ida_babeldr.rar - Теперь не нужно конвертировать прошивку в raw, не нужно выбирать вручную тип процессора и задавать адреса. © den_po2. Есть тема уже с картинками и обсуждениями (рекомендую для прочтения): http://www.sony-ericsson.ru/forums2/index.php?showtopic=289293. Также есть кратенький пример от den_po по портированию, он на первой странице этого топика: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=376&forum=84. http://developers.sgh.ru - инфа по патчингу. Портал только открылся, но будет пополнятся. Специализируются на Самсунгах, но есть и общая для всех инфа. http://binedit.sgh.ru - дизассемблер и не только от AlexeyK. Также умеет работать с vkp патчами. 5. Русифицированная версия професионального HEX-редактора: https://mobilefree.justdanpo.ru/mydownloads/showfile.php?lid=1676. Информация для портеров и патчерописателей Учет занятого места в прошивке7. Тема где выкладывают Исходники патчей8. Мануал по созданию исходника © Shadow Player (перевод от HierOS) 9. Мануал по портированию замейновых патчей от d1gger17 здесь10. Статья "Как самому стать патчером". Читаем обязательно! и + читаем доки от mnemoМануал открытия прошивок А2: 1.Кидаем ИмяПроши.mbn на readDB3150.exe2.Из папки ИмяПроши.out берем phone_app.cxc3.Открываем любимым хекс-редактором. 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
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#292 [04.07.07, 14:03] Re: Учимся писать патчи
vetaxa-manchyk пишет: что я здесь не доделал? подскажите молодцы вы, ребята. сообщения компилятора кто читать будет? org 0x21464201 - адрес не может нечётным PUSH {LR} LDR R7, loc_21464218 - адрес метки loc_21464218 должен быть кратен 4 BLX R7 PUSH {R0-R7} MOV R1, 4 MOV R2, 2 LDR R3, =0x137D - не поддерживается такой синтаксис. переложи аргумент в другое место и укажи ссылку на него. на будущее в ida используй галку "disable pointer dereferencing" в настройках LDR R7, loc_21464214 - адрес метки loc_21464214 должен быть кратен 4 BLX R7 POP {R0-R7,PC} loc_21464214: - начиная отсюда - не исполняемый код, а данные LDMIA R4!, {R0,R2,R6} ADD SP, R11 loc_21464218: ADD R5, 1113 ADD R9, SP dword_2146421C DCD 0x137D
promt is better than google translate
|
-=Tanusha_SE=-
Патчмейкерша
Регистрация: 16.3.07 Сообщений: 164 Репутация: 585 Откуда: Чебоксары
|
#293 [04.07.07, 14:10] Re: Учимся писать патчи
Мальчики скажите пожалуйста вот сделала все по правилам include"vibra_call.inc" include "x.inc" org 0x451D4550 code32 STMFD SP!, {R1-R7,LR} _ldr R0, d_451D45F4 LDRB R0, [R0,8] CMP R0, 4 LDMNEFD SP!, {R1-R7,PC} MOV R0, 100 MOV R1,50 MOV R2, 250 MOV LR, PC _ldr PC, d_451D45F8 _ldr R0, d_451D45FC MOV R1, 1 BL sub_451D4588 LDMFD SP!, {R1-R7,PC} ; --------------- S U B R O U T I N E --------------------------------------- sub_451D4588: ; CODE XREF: ROM:451D4580p STMFD SP!, {R4-R7,LR} _ldr R3, d_451D4600 STR R0, [R3] STR R1, [R3,8] MOV R0,1 STRB R0, [R3,8] LDMFD SP!, {R4-R7,PC} ; End of function sub_451D4588 ; --------------------------------------------------------------------------- STMFD SP!, {R0-R3,LR} _ldr R8, d_451D4600 LDRB R0, [R8,8] CMP R0, 1 BNE loc_451D45CC _ldr R0, [R8,4] SUB R0, R0, 1 STR R0, [R8,4] CMP R0, 0 BEQ loc_451D45E8 loc_451D45CC: ; CODE XREF: ROM:451D45B4j ; DATA XREF: ROM:off_451D4608o LDMFD SP!, {R0-R3} MOV R2,1000 MOV R1, 4 MOV LR, PC _ldr PC, d_451D4604 LDMFD SP!, {PC} ; --------------------------------------------------------------------------- loc_451D45E8: ; CODE XREF: ROM:451D45C8j STRB R0, [R8,8] _ldr LR, off_451D4608 _ldr PC, [R8] ; --------------------------------------------------------------------------- d_451D45F4 dw 0x4C08A2C0 ; DATA XREF: ROM:451D4554r d_451D45F8 dw 0x44F8AF35 ; DATA XREF: ROM:451D4574r d_451D45FC dw 0x44F8B085 ; DATA XREF: ROM:451D4578r d_451D4600 dw 0x4C06E390 ; DATA XREF: sub_451D4588+4r ; ROM:451D45A8r d_451D4604 dw 0x44E40ADD ; DATA XREF: ROM:451D45E0r off_451D4608 dw loc_451D45CC ; DATA XREF: ROM:451D45ECr ; ROM ends на вот этом застопорилась Правило 8 Все конкретные адресса заменяем на переменые addr1, addr2 и т.д. а из значения выносим в *.inc файл. не могу понять какие конкретные адреса и где их брать? Смотрела файл inc там некоторые адреса даже не упоминаются
SЕ Xperia Pro MIUI v5, Bootloader Unlock,kernel Fusion 5.5
|
svinuk
Patchmaster
Регистрация: 13.3.07 Сообщений: 223 Репутация: 8 Откуда: Ukraine,Zovti Vodi
|
#294 [04.07.07, 14:44] Re: Учимся писать патчи
absolutew800i впатче есть адреса которые ведут в прошивку....и для разных прошивок они разные....вот тебе нужно найти адреса для своей прошивки и прописать их в *.inc файл. Тоесть, допустим у нас в патче есть переход вида "B 441D45CC". Для текущей прошивки этот адрес является адресом начала подпроцедуры, для другой прошивки адрес будет другим. вот нада искать эти адреса. Затем в исходнике вместо таких адресов пишеш addr1, addr2 и т.д А в *.inc файле пишешь сами адреса addr1: 44184736 addr2: 45937С26 (к примеру)
и тогда адреса с инк файла при компиляции беруться и подставляются в исходник.... Сделано так для того чтоб сделав один раз исходник можно было только находя адреса портировать патч под все прошивки данного тела.
уранили мишку напал атарвали мишке лапу..... распароли мишке брюха сердце вырвали и ухо... #нос засунули в желудок здохни плюшевый ублюдок.
|
IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
|
#295 [04.07.07, 14:48] Re: Учимся писать патчи
Да любой адрес можно вынести в инк файл и обозвать, а в коде уже использовать не адрес, это название. Например super-puper_function = 0х44668800 А в коде уже буду писать bl super-puper_function
Добавлено 4.7.07 16:53
Так... Дальше... svinuk, сразу могу сказать вариант не рабочий. Так как код вибры, который используется в патче специфичен для старых моделей (может и у вас так, но рам точно менять надо). И вообще зачем портировать мой, если для ваших телов есть от Сингла?
K700->W810->W850->W705 & W995 (cid81) ========== WMZ307721639637 WMR675285842893 Спасибо за пожертвования: Resp, ploik, BanditNN, AlexTin, polza, romanchenko, Ryabchik, Ax, [b]Desp
|
svinuk
Patchmaster
Регистрация: 13.3.07 Сообщений: 223 Репутация: 8 Откуда: Ukraine,Zovti Vodi
|
#296 [04.07.07, 15:18] Re: Учимся писать патчи
IronMaster для опыта.
уранили мишку напал атарвали мишке лапу..... распароли мишке брюха сердце вырвали и ухо... #нос засунули в желудок здохни плюшевый ублюдок.
|
BREND
Вникающий
Регистрация: 12.5.07 Сообщений: 23 Репутация: -5 Откуда: Амбер
|
#298 [04.07.07, 18:56] Re: Учимся писать патчи
Что-то я не понимаю зачем компилировать код? Я делаю так: ищу в IDA то, что нужно, делаю vkp завливаю, включаю тел и смотрю, что произошло.
Может кто знает, как сделать яркость меньше чем 50%? Я нарыл что-то на 44EAA8CA. здесь в R0 кладется процент, ставлю меньше 50, все равно ничего не изменилось.
На все вопросы существуют ответы, но кто сказал, будто все ответы должны быть известны тебе?
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#300 [05.07.07, 10:52] Re: Учимся писать патчи
BREND пишет: Что-то я не понимаю зачем компилировать код? Я делаю так: ищу в IDA то, что нужно, делаю vkp завливаю, включаю тел и смотрю, что произошло. попробуй сложные патчи так портировать :D
promt is better than google translate
|
BREND
Вникающий
Регистрация: 12.5.07 Сообщений: 23 Репутация: -5 Откуда: Амбер
|
#301 [05.07.07, 12:52] Re: Учимся писать патчи
портировать не интересно, лучше "ковырять" код
На все вопросы существуют ответы, но кто сказал, будто все ответы должны быть известны тебе?
|
Похожие темы
| | Тема | Ответы | Автор | Просмотры | Обновление | | | Как пропатчить файл прошивки с помощью BinEdit? | 34 | AleXeR | 51284 | 15.06.15, 16:19
| | | Setool2 Lite - Патчим, прошиваем | 793 | Zormax | 629946 | 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 | 6360 | 15.08.15, 20:09
| | | Запросы на платные патчи | 586 | Zormax | 435572 | 08.08.14, 16:21
| | | SE DB2010 Font Tool (Патчи) | 64 | TahaSpawn | 83133 | 23.07.14, 10:57
| | | Патчи для db2020 (Общие вопросы) | 554 | Zormax | 418994 | 07.01.14, 05:16
|
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.
|
|
|