Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
  
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
TrackIDentify
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Опросы
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

Учимся писать патчи : Патчестроение : Патчи : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Патчи
      /  Патчестроение
   /  Учимся писать патчи
На печать 
Правила 
Страница 156 из 180: « 1 ... 152 153 154 155 [156] 157 158 159 160 ... 180 »

IronMaster


VIP Developer


Регистрация: 16.5.06
Сообщений: 1135
Репутация: 8514
Откуда: Пермь




 
  #1551 [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.Открываем уже своим любимым инстурментом
.



Народ!
Давайте без флейма, пишем и задаем вопросы, только после того как прочтете все что выше выложено и даны ссылки на материал, и после того как сами уже попробовали и все детально обдумали!

НЕ надо задавать вопросов, а с чего мне начать, ферштейн?



Прикрепленный к сообщению файл:

vkp_file_format.zip vkp_file_format.zip (4.68 kb; 1361 hits) Скачать файл
primer_porta.rar primer_porta.rar (51.89 kb; 1628 hits) Скачать файл
Blink_lamp_R2CA001.rar Blink_lamp_R2CA001.rar (1.14 kb; 682 hits) Скачать файл
english_k750_r1ca021.rar english_k750_r1ca021.rar (48.54 kb; 370 hits) Скачать файл
met_k600_r2bb001.rar met_k600_r2bb001.rar (57.65 kb; 251 hits) Скачать файл
headset.rar headset.rar (1.12 kb; 528 hits) Скачать файл
ida_babeldr.rar ida_babeldr.rar (21.29 kb; 1100 hits) Скачать файл


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
Откуда: Чебоксары




 
  #1552 [15.07.10, 14:54] Re: Учимся писать патчи   

 
RaANdOoM пишет:
И любой dword (4 байта) должен быть расположен по адресу кратному 4-ем.

не любой, а тот, который читается с помощью ldr. макрос adr может использовать некратные адреса в arm режиме. но и в арм чтение дворда по некратным адресам может вызвать ребут. то бишь такое
Код: 
    code32
    adr r0,x ; тут всё ок
    ldr r1,[r0]  ; а вот тут ребут

    align 4
    db 1
x:  dw 2




Добавлено 15.7.10 14:57

2 passes, 104 bytes.
компилятор выполнил два прохода. бывает, что за один проход компилятор не может вычислить все выражения, тогда выполняется повторная компиляция. так до тех пор, пока не будет ошибки либо не будет вычислено всё необходимое.




promt is better than google translate
Спасибо сказали: Ivanchick

Ivanchick


Новичок


Регистрация: 25.8.09
Сообщений: 14
Репутация: 0





 
  #1553 [15.07.10, 21:16] Re: Учимся писать патчи   

 
Вот сейчас сделал еще раз исходник, на 99,99% уверен, что адреса портировал верно:
Код: 
include "x.inc"
; ---------------------------------------------------------------------------
org 0x10FEF1F4  ;117e75e6
LDR     R2, off_10FEF1FA  ;117E75EC
BX      R2
align 4
off_10FEF1FA    DCD loc_12181100+1  ;117E75EC   126ab2e0+1
; ---------------------------------------------------------------------------
addr1 = 0x10FEF1FE+1  ;117E75F0+1
addr2 = 0x10FEF0F5  ;117E74FD
addr3 = 0x1168F908+1  ;1080D3A4+1
addr4 = 0x1168F980+1  ;1080D41C+1
addr5 = 0x115D2E24+1  ;10DF0A04+1
addr6 = 0xBE3  ;BF3
; ---------------------------------------------------------------------------
org 0x12181100  ;126ab2e0
CODE16
loc_12181100:                ;126ab2e0
                    ; DATA XREF: ROM:off_117E75ECo
        LDR    R2, off_12181134  ;126AB314
        LDR    R0, [R6,0x14]
        ADD    R1, R7,    0
        LDR    R3, off_12181138  ;126AB318
        BLX    R3
        LDR    R2, dword_12181144  ;126AB324
        MOV    R1, 0
        LDR    R0, [R6,0x14]
        LDR    R3, off_1218113C  ;126AB31C
        BLX    R3
        adr    R2, sub_12181124  ;126AB304
        ADD    R2, 1
        MOV    R1, 0
        LDR    R0, [R6,0x14]
        LDR    R3, off_12181138  ;126AB318
        BLX    R3
        LDR    R1, off_12181130  ;126AB310
        BX    R1

; =============== S U B    R O U T    I N E =======================================


sub_12181124:                ;126AB304
        PUSH    {R0-R7,LR}
        MOV    R1, 0
        LDR    R7, off_12181140  ;126AB320
        BLX    R7
        POP    {R0-R7,PC}
; End of function sub_126AB304

; ---------------------------------------------------------------------------
align 4
off_12181130    DCD addr1    ;126AB310
off_12181134    DCD addr2    ;126AB314
off_12181138    DCD addr3    ;126AB318
                    ; ROM:126AB2FCr
off_1218113C    DCD addr4    ;126AB31C
off_12181140    DCD addr5    ;126AB320
dword_12181144    DCD addr6        ;126AB324
; ends


Хоть здесь адреса и не кратны 4-ем, ошибки не выдало:
Код:
org 0x10FEF1F4  ;117e75e6
LDR     R2, off_10FEF1FA  ;117E75EC
BX      R2
align 4
off_10FEF1FA    DCD loc_12181100+1  ;117E75EC   126ab2e0+1



Получилось вот:
Патч:
+10000000

Но телефон при воспроизведении мелодии из ФМ ребутит... (при воспроизведении должна появляться кнопка "сверн.")Код:



Therion


Developer/Admin


Регистрация: 9.2.08
Сообщений: 1748
Репутация: 10884
Откуда: Украина, г. Киев




 
  #1554 [15.07.10, 21:50] Re: Учимся писать патчи   

 
Столкнулся с проблемой. получаю ребут при использовании функции

Вот часть кода:

ldr r0, icon2 ; загрузка иконки пункта, если её нету
ldr r2, _null ; 0xFFFF
push {r0}
mov r3, 0 ; центрирование иконки
mov r1, 3 ; установка для определённого пункта
add r0, r4, 0 ; указатель гуи
bl _setup_icons ; установка иконки
add sp, sp, 8

..................

_setup_icons:
push {r3}
ldr r3, _set_funk
mov r12, r3
pop {r3}
bx r12
.................
_set_funk dw 0x452D9F10+1 ; ListMenu_SetItemIcon

ято я не так делаю?




-Sotik-


Patcher


Регистрация: 28.12.07
Сообщений: 880
Репутация: 2655
Откуда: Днепр-City UA




 
  #1555 [16.07.10, 00:49] Re: Учимся писать патчи   

 
Ivanchick писал:
Хоть здесь адреса и не кратны 4-ем, ошибки не выдало:
Код:
org 0x10FEF1F4 ;117e75e6
LDR R2, off_10FEF1FA ;117E75EC
BX R2
align 4
off_10FEF1FA DCD loc_12181100+1 ;117E75EC 126ab2e0+1

а для чего ты писал здесь align 4?
Код:
align (англ.яз), Глагол
выравнивать 
присоединяться

з.ы. что за патч и откуда-куда портируешь?




SE W610 R6CA001 ORANGE
SE K810 R8BA024 ORANGE
HTC DESIRE S

Joker XT


VIP Developer


Регистрация: 5.8.06
Сообщений: 1292
Репутация: 7582





 
  #1556 [16.07.10, 04:56] Re: Учимся писать патчи   

 
Тэйрон, ты чё)
После ф-ии эдд сп, сп, 4 надо а не 8, тыж тока один регистр в стек бросил




SE C901 [R1GA028]

Therion


Developer/Admin


Регистрация: 9.2.08
Сообщений: 1748
Репутация: 10884
Откуда: Украина, г. Киев




 
  #1557 [16.07.10, 07:46] Re: Учимся писать патчи   

 
Joker XT, вобщем я пересмотрел как юзается эта функа в мэйне.. я перепробывал и
add sp,sp,4
add sp,sp,8
add sp,sp,0xC

результат один и тот же.. ребут остался..
пробывал менять вызов функи,то есть

_setup_icons:
push {r3}
ldr r3, ListMenu_SetItemIcon
mov r12, r3
pop {r3}
bx r12

и так:
_setup_icons:
ldr r3, ListMenu_SetItemIcon
blx r3

вообще наверное надо дать больше кода,дело может быть и в другом..

org 0x44DC0D60
ldr r3, list
bx r3
list dw patch_list+1

org0x...
patch_list:
cmp r0, r1
bne case
ldr r1, no_name_text
b next

case:
add r1, r0, 0

next:
add r0, r4, 0
ldr r3, SetMenuItemText0
blx r3

ldr r0, icon2 ; загрузка иконки пункта, если её нету
ldr r2, _null ; 0xFFFF
mov r3, 0 ; центрирование иконки
mov r1, 2 ; установка для определённого пункта
push {r0}
add r0, r4, 0 ; указатель гуи
bl _setup_icons ; установка иконки
add sp, sp, 4

ldr r3, return_list
bx r3

_setup_icons:
ldr r3, ListMenu_SetItemIcon
blx r3

align 4
ListMenu_SetItemIcon dw 0x452D9F10+1
_null dw 0xFFFF
icon2 dw 0xEDD0
SetMenuItemText0 dw 0x452DA718+1
no_name_text dw 0xA29

заманался с этим патчем уже....
получилось у меня прилепить функой SetListObjectItemIcon ,но это одна иконка на все пункты а мне надо отдельную на все..


Добавлено 16.7.10 06:48

return_list dw 0x44DC0D70+1




Joker XT


VIP Developer


Регистрация: 5.8.06
Сообщений: 1292
Репутация: 7582





 
  #1558 [16.07.10, 09:20] Re: Учимся писать патчи   

 
Давай в аську, а то с тела не удобно)




SE C901 [R1GA028]
Спасибо сказали: Therion

Ivanchick


Новичок


Регистрация: 25.8.09
Сообщений: 14
Репутация: 0





 
  #1559 [16.07.10, 09:35] Re: Учимся писать патчи   

 
Sotik11 пишет:
Ivanchick писал:
Хоть здесь адреса и не кратны 4-ем, ошибки не выдало:
Код:
org 0x10FEF1F4 ;117e75e6
LDR R2, off_10FEF1FA ;117E75EC
BX R2
align 4
off_10FEF1FA DCD loc_12181100+1 ;117E75EC 126ab2e0+1

а для чего ты писал здесь align 4?
Код:
align (англ.яз), Глагол
выравнивать 
присоединяться

з.ы. что за патч и откуда-куда портируешь?

Потому что было так:
Код:
org 0x10FEF1F4
LDR     R2, off_10FEF1FA
BX      R2
DCB 0xFF
DCB 0xFF
off_10FEF1FA    DCD loc_12181100+1


Пытаюсь портировать с W595 R3EF001 на W910 R1FA037 патч:
Патч:
;Add left softkey "Minimize" for playing music in FileManager
;To stop playing you must go to book "File Options" from Activity Menu
;(!) Need to use with BookManager


И еще вопрос: я взял чистый phone_app.cxc, вырезал из него все до 18F09FE518F09FE5, затем глянул на места для замейна... Сначала где нужно (согласно учету замейна) шли нули, а потом нули сменили разные последовательности (опять же в местах соласно учету замейна). Мне их что, на нули править?
И еще, поставил heap shift, но разницы не заметил... и адресов, которые должны были появиться, как я понимаю, нет... Что я неправильно сделал или что я не понимаю?



HotRabbit


Patchmaster


Регистрация: 30.1.09
Сообщений: 204
Репутация: 4297
Откуда: Чебоксары Сити




 
  #1560 [16.07.10, 13:21] Re: Учимся писать патчи   

 
Ivanchick,
для твоей прошивки адрес off_ итак кратен 4, так что "align 4" ничего не изменит
Кароче, вот исх: 
Вот патч: 
Spoiler: 


Ivanchick писал:
И еще вопрос: я взял чистый phone_app.cxc, вырезал из него все до 18F09FE518F09FE5
Компилировать надо на чистом phone_app.cxc
Если в дизассемблере хочешь видеть нули, отрезай до 0x2000, и после 0x2181000 (для W910 R1FA037), добавь нулей сколько надо, если надо...
Или юзай cxc_loader, а для замейновых патчей правь сегменты

Ivanchick писал:
И еще, поставил heap shift, но разницы не заметил... и адресов, которые должны были появиться, как я понимаю, нет...
Куды девались? :lol:
Это адреса памяти (0x2Axxxxxx), которая выделяется под нужды патчей
И судя по этому посту HeapShift на W910 вряд ли правильный ;-)




WMR - R320282074812
WMZ - Z178545716672

D3mon


Developer


Регистрация: 23.2.08
Сообщений: 1141
Репутация: 10348
Откуда: Краснодар




 
  #1561 [03.08.10, 02:03] Re: Учимся писать патчи   

 
Подскажите, пожалуйста, каким образом можно узнать кол-во дорожек, находящихся во временном списке в плеере..




Sony Xperia XZ3 Green
Sony Xperia Z3 Compact Orange
W995i SW-R1GA026
:(
Страница 156 из 180: « 1 ... 152 153 154 155 [156] 157 158 159 160 ... 180 »


Похожие темы

  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.23 секунд | 13 Запросов | HTML: 69.62 КБ -