esto es lo que me aparece en el offset del parche
pero no se encuentran los mismos bytes en el firm a portar
esto es lo que me aparece en el offset del parche
pero no se encuentran los mismos bytes en el firm a portar
si pero segun lo que veo, eso aparece cuando aplicas el parche
necesito ver como estaba antes de aplicar el parche
es decir a la izquierda deben aparecer los bits
E9F0D0F92449A06A6CF38CF8
y no 201CFFF7C3FF00F061F8F0BD, que es lo que veo en la imagen
mira aqui te dejo lo que mira aqui te dejo lo que dice sin parchar el offset del parche pero hay mas codigo abajo tambien lo quieres ver o con esto men??
a ver si me puedes ayudar porque no paso de ese punto
ahora si (me falto preguntar a que modelo lo estas portando)
pero bueno, intenta con esta secuenciencia en el smelter:
????????2449A06A????????274AA06A291C????????A06A00 22291c????????A06A291c1d4d
si no encuentras nada intenta
??????????49A06A??????????4AA06A291C????????A06A00 22291c????????A06A291c????
y en último caso con
????????????A06A????????????A06A291C????????A06A00 22291c????????A06A291c????
donde seguramente aparecerán muchas opciones, debes decidir cual es segun los comandos que ves a la derecha, el que mas parecido tenga...
la idea es esta:
los bits (numeros) de la instrucción BL sub_xxx nunca son los mismos entre firmware/modelos distintos, debes poner todo ????????
los CMP, MOV, ADD, si no tienen dentro de la instruccion algun sub_xxx o loc_xx puedes poner todos los numeros tal cual, casi siempre coinciden
para el LDR hay que tener en cuenta si o no tienen una dirección de referencia, por ejemplo en
LDR R0, dwor_xxxx
la referencia R0 podra ser la misma en diferentes firmware pero seguramente el dwor_xxxx no, asi que pueden variar 2 de los 4 bits en el mejor de los casos, o sino todos los 4
EDITO:
es mucho mas facil si subes un poco en el IDA hasta que veas algun PUSH, justo luego de un espacio sin bits a la izquierda (encabezado con un sub_xxxx o loc_xxx) que gerealmente indica el inicio de una función o subfunción
en ese caso comienzas la secuencia a buscar con los 4 numeros correspondientes al PUSH que casi siempre son los mismos en los firmware/modelos a portar
Última edición por jkram; 08/05/2009 a las 20:06:48
no men los 3 codigos que me diste dan el mismo offset y no son iguales los bits nadamas 3 pares) que al original y las estructuras no se parecen una es mas corta que la original mira te dejo el offset que me dio el smelter para que veas que sale
![]()
mmm alguien me podria responder ami? porfavor![]()
tengo un problema al momento de querer probar el parche con armpc la pantaalla de cmd me sale lo siguiente y no me crea el parche espero que me sepan ayudar en que anda fallando
mi archivo asm es este
y este es el parcheCódigo:include "x.inc" dir1 equ 0x10E58164 dir2 equ 0x11C480BC patch equ 0x11B74970 hook1 equ 0x11C47EC4 hook2 equ 0x11C47EBC org patch org hook1 loc_11C47EC4: LDR R1, off_11C4808C ASR R7, R6, 6 org hook2 loc_11C47EBC: LDR R1, dir2 ASR R7, R6, 6 loc_11B74970: PUSH {R0-R7,LR** LDR R7, off_11B7498C BLX R7 ADD R0, 0xA LDR R7, dword_11B74990 BLX R7 POP {R0-R7,PC** DCB 0xFF DCB 0xB5 LDR R7, off_11B7498C BLX R7 SUB R0, 0xA LDR R7, dword_11B74990 BLX R7 POP {R0-R7,PC** align 4 off_11B7498C DCD dir1+1 dword_11B74990 DCD 0x10E581A5
espero su ayuda
soad16
enonctraste los offsets?
no logro ver las imagenes, en mi trabajo tienen bloqueadas algunas páginas y por ello algunas imagenes no las veo lo siento
el comando correcto para el assabler eso
...make name_of_asm.asm Name_firmware.raw +xxxxx
te falto poner el nombre del asm
vulreilt29
no entiendo bien el problema, podrias alclararlo mejor?
de que telefono y a que telefono estas portando
db2010 a db2020 duro casi imposible si no tienes conocimientos de assambler
db2020 a db2020 facil en la mayoria de casos un juego de niños
db2020 a db3150 facil, se parecen mucho ambas plataformas, de vez en cuando se complica...
para el base address de los db3150, no se si ya esta en algun lado del foro
1) Abrir phone_app.cxc en cualquier hex-editor
2) bajar hasta ver el siguiente codigo 18 F0 9F E5 18 F0 9F E5....
3) Remover todo el codigo que esta antes de la direccion donde encontraste el codigo anterior
4) guarda el raw y al usarlo con IDA la base que usaras sera 0x10000000
o puedes usar phone_app.cxc inicial sin recortar nada pero el base address sera 0x10000000-la direccion que encontraste arriba
Última edición por jkram; 13/05/2009 a las 15:17:48
dejame ver el parche que estas portando ...y el asm original
Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)
Marcadores