Цель этой темы помочь разобраться начинающим (не только) патчеписателям в этом не легком деле. Задавайте свои вопросы. По возможности будем отвечать. Только не надо лить воду. Задаете конкретный вопрос, получаете конкретный ответ.
4. http://developers.sgh.ru - инфа по патчингу. Портал только открылся, но будет пополнятся. Специализируются на Самсунгах, но есть и общая для всех инфа. http://binedit.sgh.ru - дизассемблер и не только от AlexeyK. Также умеет работать с vkp патчами.
1.Кидаем ИмяПроши.mbn на readDB3150.exe 2.Из папки ИмяПроши.out берем phone_app.cxc 3.Открываем любимым хекс-редактором. 4.Отрезаем кусок от 0 до строки,содержащей повторяющуюся последовательность 18 F0 9F Е5.Например на W760 R3DA026 это смещение 2000. 5.Сохраняем как raw 6.Открываем уже своим любимым инстурментом .
Народ! Давайте без флейма, пишем и задаем вопросы, только после того как прочтете все что выше выложено и даны ссылки на материал, и после того как сами уже попробовали и все детально обдумали!
НЕ надо задавать вопросов, а с чего мне начать, ферштейн?
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. компилятор выполнил два прохода. бывает, что за один проход компилятор не может вычислить все выражения, тогда выполняется повторная компиляция. так до тех пор, пока не будет ошибки либо не будет вычислено всё необходимое.
заманался с этим патчем уже.... получилось у меня прилепить функой SetListObjectItemIcon ,но это одна иконка на все пункты а мне надо отдельную на все..
Пытаюсь портировать с 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 Откуда: Чебоксары Сити
Ivanchick, для твоей прошивки адрес off_ итак кратен 4, так что "align 4" ничего не изменит
Кароче, вот исх:
Код:
;W910 SW-R1FA037 ;Добавить "Свернуть" на левый софт при воспроизведении музыки в ФМ ;Для остановки воспроизведения необходимо перейти к буке "Опции файла" через Активити меню ;(!) Необходимо наличие патчей BookManager + Minimalize books ;v.1 ;(c) jamesbond22 ;(p) HotRabbit (Mobilefree.Ru) ;Oryginal idea by yener90 ;pAtChFiLe=/boot/phone_app.cxc
;W910 SW-R1FA037 ;Добавить "Свернуть" на левый софт при воспроизведении музыки в ФМ ;Для остановки воспроизведения необходимо перейти к буке "Опции файла" через Активити меню ;(!) Необходимо наличие патчей BookManager + Minimalize books ;v.1 ;(c) jamesbond22 ;(p) HotRabbit (Mobilefree.Ru) ;Oryginal idea by yener90 ;pAtChFiLe=/boot/phone_app.cxc
Spoiler:
Есть косяк с пропаданием метки при использовании патча "Звук при переключении активности сети GPRS" во время проигрывания звука (проверялось без этого - ;(!) Необходимо наличие патчей BookManager + Minimalize books), других косяков не выявлено Если интересно, дальше сам разбирайся, мне лениво
Ivanchick писал:
И еще вопрос: я взял чистый phone_app.cxc, вырезал из него все до 18F09FE518F09FE5
Компилировать надо на чистом phone_app.cxc Если в дизассемблере хочешь видеть нули, отрезай до 0x2000, и после 0x2181000 (для W910 R1FA037), добавь нулей сколько надо, если надо... Или юзай cxc_loader, а для замейновых патчей правь сегменты
Ivanchick писал:
И еще, поставил heap shift, но разницы не заметил... и адресов, которые должны были появиться, как я понимаю, нет...
Куды девались? Это адреса памяти (0x2Axxxxxx), которая выделяется под нужды патчей И судя по этому посту HeapShift на W910 вряд ли правильный
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.