Учимся писать патчи : Патчестроение : Форум

Страница 178 из 180: « 1 ... 174 175 176 177 [178] 179 180 »

 K790Alex:
11.10.11, 02:27
 I have a question! How to create a "THREAD"?

 den_po:
11.10.11, 05:30
 K790Alex, create_process

 QWASZXERDFCV:
01.04.12, 16:24
 уважаемые люди ...напишите пожалуйста как установить патч ...любой ...пример...я в этом первый день... в двух словах....есть - main. ida. hex и radio_without_headsets_w810_r4ek001 - что делать то надо и как . заранее спасибо ... Саша

 infinite83:
03.02.13, 21:53
 Доброго времени суток!
Возник вопрос:
При портировании исходник получается больше и соответственно патч тоже больше, что я делаю не так?

Пытаюсь портировать на C902 R3EJ001 AO (BROWN52).
Патч:
;C902 R3EG004 AO
;Fast access to SMS
;Remove the "SMS, MMS, Etc menu" when pressing "New message" and opens SMS right away
;© IronMaster
;(a2) jamesbond22
;(p) buhh83

Пробовал тупо менять совпадающие строки в файлах *.cxc (с учетом новой адресации строк) - не работает.

Вот что у меня получается, инструкция для замейновых патчей но мне так думается что разницы нет, поправьте меня если не прав.
Патч: 
;C902 R3EJ001 AO
;pAtChFiLe=/boot/phone_app.cxc
10C37988: 0021201C10F608F8F06200282ED02968 FF10A0E3151081E2011094E70010D1E5
10C37998: 7BF57CFCF06A09217BF59AFB 000096E5C698FFEB0210A0E3
10C37998: 7BF57CFCF06A09217BF59AFB 000084E2537206EB0D0000EA

А вот исходник:
Код: 

include "x.inc"
org 0x10C37988
MOVL    R1, 0x114
LDR     R1, [R4,R1]
LDRB    R1, [R1]
LDR     R0, [R6]
BL      0x10C1DCBC ; (было sub_)
MOV     R1, 2
org 0x10C37998
ADD     R0, R4, 0
BL      0x10DD42F0 ; (было sub_)
B       0x10C379DC ; (было loc_)

И еще вопрос:
Адреса в исходнике привязаны к старой прошивке (R3EG004) и при портировании их нужно менять или адреса не привязаны к конкретной прошивке?
Не адреса смещения для патча (org ***********, их я сменил на новые, 2-й адрес не факт что правильный, так как в PatSearch нашлось очень много совпадений, я выбрал ближайший адрес), адреса в "теле патча".
Просто в новой прошивке (R3EJ001) имеется сдвиг +0x20 в относительно адресов прошивки R3EG004.

Времени нету все изучать (с ассемблером не дружу), так что уж извиняйте за мой "английский".

[ Редактировано infinite83 в 3.2.13 22:55 ]

[ Редактировано infinite83 в 3.2.13 22:57 ]

 Legas:
04.02.13, 00:19
 
Времени нету все изучать

уж прийдётся найти ;) даже на понимание ответов на твои вопросы + возникновение новых вопросов потребуется время. Что ты хочешь - сам портировать, или чтобы тебе портировали?
их нужно менять или адреса не привязаны к конкретной прошивке?

если никакой привязки не существует, то зачем люди вообще портируют что-то? :)

Просто в новой прошивке (R3EJ001) имеется сдвиг +0x20 в относительно адресов прошивки R3EG004

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

даже если будешь просто портировать, со временем начнёшь понимать что общего в этих сочетаниях буков.
в PatSearch нашлось очень много совпадений

вбивай больше кода. А вообще, надёжнее xref портировать
При портировании исходник получается больше и соответственно патч тоже больше, что я делаю не так?

патч в режиме THUMB а скомпилирован в ARM. добавь строчку code16 в начале патча ;)

 infinite83:
04.02.13, 20:31
 
Legas2 пишет:
Времени нету все изучать

уж прийдётся найти ;) даже на понимание ответов на твои вопросы + возникновение новых вопросов потребуется время. Что ты хочешь - сам портировать, или чтобы тебе портировали?
их нужно менять или адреса не привязаны к конкретной прошивке?

если никакой привязки не существует, то зачем люди вообще портируют что-то? :)

Просто в новой прошивке (R3EJ001) имеется сдвиг +0x20 в относительно адресов прошивки R3EG004

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

даже если будешь просто портировать, со временем начнёшь понимать что общего в этих сочетаниях буков.
в PatSearch нашлось очень много совпадений

вбивай больше кода. А вообще, надёжнее xref портировать
При портировании исходник получается больше и соответственно патч тоже больше, что я делаю не так?

патч в режиме THUMB а скомпилирован в ARM. добавь строчку code16 в начале патча ;)

В итоге получилось! (Если долго мучаться что нибудь получится) :)
Был не внимателен, напортачил с адресами на переходах к функциям и меткам.

Вот 2 порта (проверил на своем телефоне, работают как ожидалось):
Патч:
;C902 R3EJ001 AO
;Fast access to SMS
;Remove the "SMS, MMS, Etc menu" when pressing "New message" and opens SMS right away
;© IronMaster
;(a2) jamesbond22
;(p) infinite83
;pAtChFiLe=/boot/phone_app.cxc

Патч:
;C902 R3EJ001 AO
;Changes operator name to SE_C902i or any you want
;(c) Sic
;(p,e) infinite83
;pAtChFiLe=/boot/phone_app.cxc

И кстати я не говорил что во всей прошивке сдвиг +0x20 (не правильно кстати написал, на самом деле смещение по адресам +1C (т. е. 10D729F6+1C, это 28 в десятичной системе)), естественно что она скорее всего только частично сдвинута (заметил при портировании адреса первого патча, что одна функция изменена (обрезана и перенаправлена), искал вручную, PatSearch дал несколько адресов, рылся по ним, удачно :)), ведь когда дорабатываешь программу исходник не переписываешь каждый раз, а меняешь часть кода (за исключением некоторых случаев).

Больше кода вбивать сам догадался :)

Было дело начинал изучать ассемблер, но все эти команды и макросы, слишком короткие для запоминания, паскаль и си проще усваиваются :) Хотя я даже что то помню из ассемблера еще, JNZ по моему Jump if not zero, PUSH положить в стек, POP достать из стека, DB вроде переменную назначить :)

[ Редактировано infinite83 в 4.2.13 21:33 ]

[ Редактировано infinite83 в 4.2.13 21:35 ]

[ Редактировано infinite83 в 4.2.13 21:37 ]

[ Редактировано infinite83 в 4.2.13 21:44 ]

 a6b6:
18.02.13, 12:55
 Привет всем.
Проблема у меня такая ,хочу во временном списке в проигрывателе Добавить в заголовок название "Плейлист"
нужна помощь разработчиков! Вопрос такой
Правильно ли я сделал сам исходник?
и помогите найти врезку

Код: 
include "x.inc"

org 0x?????????
                     ???????????????
                     ???????????????

off_patchbody    dw patchbody+1
org 0x15D4828C

patchbody:
             
PUSH    {LR}
LDR     R1, title_ 
LDR     R3, SetTitleText
BLX     R3
LDR     R0, [R6,0x1C]
MOVS    R1, 0
LDR     R3, SetCursor
BLX     R3
MOVS    R7, 0
POP     {PC}
; ---------------------------------------------------------------------------
title_              dw 0x                    ; Метка    
SetTitleText    dw 0x1443F740+1  ; void GUIObject_SetTitleText( GUI*, TEXTID );  
SetCursor       dw 0x14FEA938+1 ; void NOfMany_SetCursor( GUI_NOFMANY*, int item );


 Legas:
18.02.13, 13:55
 
Код: 
include "x.inc"
include "library.asm.inc"

hook=0xXXXXXXXX
LNG_ID=0x??
patch_body=0x???

code16
org hook
ldr r3, _patchbody      ;org hook
bx r3                         ;org hook+2
align 4                       ;org hook+4 || NULL
_patchbody    dw patchbody+1   ;org hook+6 || hook+4

org patch_body
patchbody:             
LDR     R1, _title
LDR     R3, SetTitleText
BLX     R3
;restore hook
;restore hook+2
;restore hook+4
;...
;restore hook+n

ldr r3, _return
bx r3
; ---------------------------------------------------------------------------
align 4
_return          dw hook+n+1     ;n=количество затёртых байтов в врезке (+2, если последний байт затирает пол инструкции)
_title              dw LNG_ID                  ; Метка    
SetTitleText    dw GUIObject_SetTitleText+1  ; void GUIObject_SetTitleText( GUI*, TEXTID );

заменил blx на bx во врезке, а то ещё ребуты получешь если прям так и скопируешь :)

[ Редактировано Legas2 в 20.2.13 12:27 ]

 a6b6:
28.02.13, 13:25
 Помогите разработчики !
проблема в чем заключается, при подключение зарядки через зарядное устройство, работает хорошо!
а при подключение к компьютеру телефон зависает .. ни знаю как эту проблему исправить!?

Код: 
;Блокировка и включение слипмода при подключение зарядки



include "x.inc"
vrezka_1 equ 0x152E6BF8 
patch equ 0x15D0C790
UI_Event equ 0x140C5938
org vrezka_1
align 4
DCD patch+1
org patch
PUSH    {LR}
BL    sub_15D7EEDA
BL    sub_15D7EECC
POP    {PC}

sub_15D7EECC:                

PUSH    {LR}
LDR    R0, dword_15D7EEE0 
BL    sub_15D7EED6
POP    {PC}

sub_15D7EED6:                

LDR    R3, off_15D7EEE4
BX    R3

sub_15D7EEDA:                

LDR    R3, off_15D7EEE8
BX    R3
align 4
dword_15D7EEE0    DCD 0x5E27        
off_15D7EEE4    DCD UI_Event+1    
off_15D7EEE8    DCD 0x144A2DA8+1


 Therion:
28.02.13, 14:29
 возможно теряешь данные. ну и упростить немного можно
org patch
PUSH {R4-R7,LR}
BL sub_15D7EEDA
LDR R0, dword_15D7EEE0
BL sub_15D7EED6
POP {R4-R7,PC}
Страница 178 из 180: « 1 ... 174 175 176 177 [178] 179 180 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=965&start=1770

© 2005-2018 supertrubka.org