Tengo una pregunta, ya he terminado el ASM, y procedi con el compilado con Fasarm, el tema es que queda casi identico al codigo base del que partio, quisiera saber como me doy cuenta de mis errores:
Codigo base:
Si se fijan coinciden casi todos, sacando el ultimo offset, 1575610, del cual hay 2 errores:
codigo verdadero: 816A2045EB556B45C9556B45
codigo compilado hecho por mi:
816AA042EB556B45C9556B4
Quisiera saber si el error es pequeño osea tengo que editar el ultimo offset nada mas o debido a este error debo editar todo de nuevo.
PD: Si alguien me quiere ayudar a buscar el error:
Bueno, dragoblazt se me adelanto, pero puso varias direcciones innecesarias, que te pueden complicar a la hora de portar (Fijate que muchos de las loc_ ya estan definidas dentro del parche). Te dejo adjunto el ASM completo que reproduce exactamente el parche original.
Pido perdon, dije que algunas instrucciones eran DCDs y estaba equivocado (No lo habia visto detenidamente), solamente 2 son DCD.
Respecto al problema que tuviste, es por las direcciones que se definen despues del "align4", seguramente habras forzado al IDA a analizarlo 2 veces.
Te deben haber aparecido lineas de 4 pares de cifras (pasó automaticamente a 32-bit) en este caso hay dejarlas así, no las fuerces a estar en 16-bit.
Ahora tenes que portar solo los EQUs.
No te quiero desalentar, pero la cruel realidad es que hasta acá fue la parte "sencilla", ahora viene lo dificil: La fase 2 es la mas laboriosa y en la que se pueden presentar los problemas. No te preocupes, con perseverancia y practica lo vas a lograr:a18:
Si ves que las cosas se te complican, empeza con un parche mas sencillo, alguno que ya este portado para practicar y que puedas comparar resultados.
Saludos:a16:
22/09/2008, 01:22:33
ts005
Respuesta: Crear / Portar parches VKP complejos
Como dice karl05 se me pasaron algunas direcciones de mas Ups, no estan digamos tan fuera de lugar el parche compila, pero igual si quires obviar eso las siguientes direcciones estan de mas.
dir1 equ 0x456B55C6
dir2 equ 0x456B55C8
dir3 equ 0x456B55E2
dir8 equ 0x456B560A
dir10 equ 0x456B55EA
dir11 equ 0x456B55C8
patch equ 0x456B55B0 (aunque habria que editar el asm y dejarlo asi
org 0x456B55B0).
Aunque te pueden servir de referencia si quieres rediccionar el codigo nuevo.
saludos
28/04/2009, 22:32:36
vulreilt29
Respuesta: Crear / Portar parches VKP complejos
hola amigos disculpen quiero hacer y portar parches con un w595 y me gutaria saber que diferencias hay o no cambia nada y luego me gustaria saber el rom start address o si es el mismo y como dije antes tambien cambia en otras cosas?
29/04/2009, 14:47:59
Karl05
Respuesta: Crear / Portar parches VKP complejos
Portar entre modelos de la misma plataforma era relativamente sencillo, pero las cosas se complicaban cuando intentaba portar entre db2010 a db2020 o viceversa. Muchas funciones eran muy distintas y se hacia imposible localizarlas. Pero uno podia ayudarse con las libs del elfpack para orientarse.
Los modelos nuevos como el w595 tienen plataforma A2, que imagino debe ser muy distinta a los modelos anteriores y como tampoco tenemos elfpack ni libs en estos modelos creo que esta bastante complicado por ahora.
29/04/2009, 14:57:31
m1ch43lzm
Respuesta: Crear / Portar parches VKP complejos
Cita:
Iniciado por vulreilt29
hola amigos disculpen quiero hacer y portar parches con un w595 y me gutaria saber que diferencias hay o no cambia nada y luego me gustaria saber el rom start address o si es el mismo y como dije antes tambien cambia en otras cosas?
En lugar del MAIN, tomas el phone_app.cxc que está dentro de la carpeta BOOT
Tambien hay que "recortar" con un editor hexadecimal los primeros 0x1000 (o 0x2000) bytes, dependiendo del modelo/firmware (con el editor hexadecimal, buscas 18 F0 9F E5 18 F0 9F E5 desde el principio, y recortas todo lo anterior, antes del primer 18 F0 9F E5, dependiendo del editor esa opcion se puede llamar "borrar bytes")
En ROM Start address sería 0x10000000 despues de "recortar" el phone_app.cxc
02/05/2009, 02:47:29
vulreilt29
Respuesta: Crear / Portar parches VKP complejos
si , pues ando intentado y eh podido solo que me eh atorado en la parte donde debo de colocar el patch 1 y 2 no eh podido encontrar el room donde se encuentre el codigo para ponerlo en el patch 1 y al final en los off set me salio todavia esto
Align 4
off_117D3C04 DCD dir4
loc_117D3C08
LSL R1, R0, 0x19
ASR R5, R3, 5
loc_117D3C0C
ADD R1, 0xB1
ASR R0, R3, 5
loc_117D3C10
STRH R5, [R4,R1]
no se si valle bien
08/05/2009, 02:27:47
soad16
Respuesta: Crear / Portar parches VKP complejos
yo tengo una duda esq cuando buscas los bytes con el smelter y no encuentra niguna coincidencia con el del parche que debo acer?? nadamas encuentra los primeros 3 o 4 pares de los bytes pero no todo que hago??
al aplicar el parche en el firmware W760_R3EA037, que comandos aparece?
Para ayudarte postea la parte del codigo (en IDA) que esta en el offset 10983c24, correspondiente a E9F0D0F92449A06A6CF38CF8
(no tengo IDA ni el main del W760 por el momento)
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
08/05/2009, 15:28:57
soad16
Respuesta: Crear / Portar parches VKP complejos
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
08/05/2009, 20:03:11
jkram
Respuesta: Crear / Portar parches VKP complejos
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
09/05/2009, 03:41:35
soad16
Respuesta: Crear / Portar parches VKP complejos
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:a19:
13/05/2009, 03:48:13
soad16
1 Archivos adjunto(s)
Respuesta: Crear / Portar parches VKP complejos
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
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
y este es el parche
espero su ayuda
13/05/2009, 15:03:22
jkram
Respuesta: Crear / Portar parches VKP complejos
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
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
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
gracias por responderme amigo pues mira es de un w910 a un w595 y ´pues me refiero a que no veo la direccion donde poner el ´path 1 y el path 2, pues en si solo eh llegado a poner el path y hasta ahi me quede por eso puse eso no se si lo pueda dejar asi o que le puedo poner?
14/05/2009, 11:36:58
jkram
Respuesta: Crear / Portar parches VKP complejos
dejame ver el parche que estas portando ...y el asm original
19/05/2009, 17:49:36
vulreilt29
Respuesta: Crear / Portar parches VKP complejos
mmmm es que es el parche para poder cambiar la cancion, o detenelar mediante las manos libres y pues el asm xD que es es que ya no me aacuerdo
17/07/2009, 16:04:30
crash_200
1 Archivos adjunto(s)
[Crear / Portar parches VKP complejos]: error con fasarm!!
hola estoy portando este parche para w200 r4ha014
ya arme el asm pero el fasarm me tira este error (lo dejo adjunto)
a que se debe este error?