ola bro nesecito que me digas este parche que le faltal
yo ya lo prober y no funciona
Acavo de checar en el ida y si esta mal la base con el offset ke estas sumando no dan el full offset correcto a la ruta ke estas intentando cambiar sabes portar? si es asi mejor abre ida y usa full offset es mas facil ya porte el correcto offset
es este:
Código:
org 0x11FFEB78
aIfsSettingsCam du "/card/other/camera ",0
y la ruta original es esta
Código:
;aIfsSettingsCam du "/ifs/settings/camera",0
si te das cuenta la ruta vieja tiene mas caracteres que la ruta que estas queriendo poner entonces si lo haces en asm
pones la ruta y al final le agregas los espacios faltantes para rellenar todos los caracteres usados por la ruta original o si lo haces por editor hexa reemplazas los caracteres sobrantes por 0000 en este caso la ruta vieja usa 20 caracteres y tu ruta nueva solo usa 18 entonces le agrege dos espacios para que se llenen los 20 caracteres de la ruta original para que quede bien tu nueva ruta. espero me allas entendido ;)
y tambien igual no te iva a funcionar por mas que hubieces tenido el offset correcto por que tambien pusiste mal la ruta en tu parche lo pusiste asi bro /crard/other/camera
y deveria ser como te lo puse arriba
Código:
aIfsSettingsCam du "/card/other/camera ",0
14/02/2011, 22:23:54
rAcEr
Respuesta: [DISCUSION] Archivos Assembling (ASM)
entonces lo puedes armar bien el parche para probarlo ya te entendi pero nesecito que lo armes jejejeje
26/02/2011, 00:03:51
rAcEr
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por Cr@cShoT
Cita:
Iniciado por skpjmh
Ya pude compilar sin ningun problema...ahora una preguntas mas...
como utilizo el patsearchnt o que otro progama puedo utilizar??
tambien tengo que aumentar el tamaño del phone_app.cxc del modelo al que voy a portar?
Otra opciones que tienes es el Smelter, pero personalmente prefiero el patsearchnt, a ese no necesitas agregarle lineas al CXC solo la base de tu cxc (dependiendo de la version que tengas)
ayuda con mi nuevo codigo me sale esto quiero pasarlo al w760
pues este es el parche original
y este es el resultado del programa ARM Patch Compiler
pienso yo que esto ya es compilado
segui el tuto de Como poner Nuevo código a un Parche y Como se redirecciona un Parche
pues y se todo y este fue mi resultado del 12844540
lo reste mi offset disponible que es este 12844540 - 109C90E2 = 12844540 y el resultado sigue siendo el mismo
y ya me quedaria asi no?????????
en el far me sale mismach 16/36 bytes
ayuda :a07:
y como funciona? Por que le hago doble click y me sale una pantalla negra y rapido se quita y aparte estan dos exe y pues no se cuales el que compila
Te falta cambiarle el espacio vacio en el firm. Del parche que lo estas portando tiene el espacion libre 0x127A3040 y es el mismo que tiene el parche que compilaste; cambiaselo a uno que este vacio en tu firm y te funcionara. Salu2
26/02/2011, 21:22:31
rAcEr
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por 05M4N
Te falta cambiarle el espacio vacio en el firm. Del parche que lo estas portando tiene el espacion libre 0x127A3040 y es el mismo que tiene el parche que compilaste; cambiaselo a uno que este vacio en tu firm y te funcionara. Salu2
y como puedo ver el espacio de mi firm????????????' oo los offset disponibles???
26/02/2011, 23:50:40
laurafarsa
Respuesta: [DISCUSION] Archivos Assembling (ASM)
pues usa IDA y selecciona un espacion en blanco, no?
26/02/2011, 23:51:44
albertnet3
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por rAcEr
Cita:
Iniciado por 05M4N
Te falta cambiarle el espacio vacio en el firm. Del parche que lo estas portando tiene el espacion libre 0x127A3040 y es el mismo que tiene el parche que compilaste; cambiaselo a uno que este vacio en tu firm y te funcionara. Salu2
y como puedo ver el espacio de mi firm????????????' oo los offset disponibles???
pues si te fijas puedes usar el ultimo espacio usado por un parche sumandole +10 en hexadecimal ejemplo por lo que vi este es el ultimo parche que se a portado a tu firmware:
y el codigo usado para este parche fue este:
128442F0 - 12844530
entonces ahora al ultimo offset usado le sumas +10 en hexadecimal y ya tienes tu espacio libre entonces ahora a 12844530 le sumas +10 y te da 12844540 y ya tienes un nuevo espacio libre para usar en el parche que portes o quieras hacer.
10/03/2011, 15:44:54
Juanchy
Respuesta: [DISCUSION] Archivos Assembling (ASM)
hola tengo una duda! alguien podria indicarme como encontrar este valor en el siguiente parche?
Código:
dw 0x2004AE78 ;2004FFE0
esta direccion ZuRyMX/ALTHOM la encontro en un patch portado por mns81 pero una version anterior v1.2 de no ser por este no lo hubiese podido portar. alguien me indica com encontrar esto?
el parche funciona solo quisiera saber como encontrar esto
hola tengo una duda! alguien podria indicarme como encontrar este valor en el siguiente parche?
Código:
dw 0x2004AE78 ;2004FFE0
esta direccion ZuRyMX/ALTHOM la encontro en un patch portado por mns81 pero una version anterior v1.2 de no ser por este no lo hubiese podido portar. alguien me indica com encontrar esto?
el parche funciona solo quisiera saber como encontrar esto
Primero, busca que ese offset no sea una funcion de libreria, verifica eso, segundo... podria ser un offset "Heapshift" pero segun el comentario de tu parche no lo es... lo mas seguro es que sea una funcion de libreria, en todo caso, si no lo fuera, inviertelo y buscalo en un editor hexa
11/03/2011, 01:29:01
anarkes
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Es una direccion de heap (NO heapshift), para portarlo puedes hacer lo que dice cr@cshot "inviertelo"
Código:
2004FFE0 = E0,FF,04,20
y busca coincidencias en PatSearch, ese es del w580 R8BE001 verdad?
11/03/2011, 16:40:26
Juanchy
Respuesta: [DISCUSION] Archivos Assembling (ASM)
si es de w580, entonces se busca solo invertido!! seria la direccion de origen ahi buscar los valores que contenga cierto?
edito: no entendi como hacer la busqueda jajaja xD
podrian ser un poquito mas especificos xD si no es mucho pedir
y alguien puede postear el lib2func porfa o indiquenme donde lo encuentro!!
12/03/2011, 14:58:38
laurafarsa
Respuesta: [DISCUSION] Archivos Assembling (ASM)
pues ya te dijeron como lo inviertas(E0,FF,04,20)
yo esas direcciones las busco en IDA del firm original y despues porto la direccion en la que se encuentra como cualquier otro offset
ok busque el valor ya invertido pero me aparecen muchos :a23:, como saber cual de todos es!!!
gracias laura por el lib2func...
12/03/2011, 19:42:53
albertnet3
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por juanchy
si es de w580, entonces se busca solo invertido!! seria la direccion de origen ahi buscar los valores que contenga cierto?
edito: no entendi como hacer la busqueda jajaja xD
podrian ser un poquito mas especificos xD si no es mucho pedir
y alguien puede postear el lib2func porfa o indiquenme donde lo encuentro!!
es mas facil con hexworkshop.exe o winhex.exe
es un editor hexadecimal
y lo que haces es como te dijo laura invertir la instruccion a la ram en el main original y lo inviertes mas facil con entrypoint que esta aqui posteado EntryPoint Converter.exe-TopSony
pones el valor en donde dice offset y en el ultima linea te dara el entrypoint osea el offset invertido
luego abres tu main en hexworkshop y presionas alt+F y pegas ahi el entrypoint luego das click a aceptar y ahi te buscara ese valor una ves encontrado te posisionas de donde empiesa ese valor 4bytes antes o despues lo copias abres el main al que quieres portar la instruccion a ram en otra pestaña presionas alt+F y pegas ahi lo que copiaste y lo buscara te dara el resultado y si lo encontro entonces acuerdate que despues de esos 4bytes que buscaste estara tu instruccion asia la ram que portaste
12/03/2011, 19:51:13
Juanchy
Respuesta: [DISCUSION] Archivos Assembling (ASM)
hice exacto loque dices albernet3 pero al momento de buscar en el hexadecimal (uso el HxD) me aparecieron muchos vlalores identicos y no se cual tomar de todos! :a26:
12/03/2011, 20:47:49
anarkes
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Continuo con la manera que yo uso:
Despues de que buscas con el patsearch, te salen aproximadamente 12 coincidencias, seleccionamos la primera 4537CE38 y nos dirigimos a ella en el IDB. Ya estando hay veremos lo siguente:
Haces doble click sobre sub_4537CCB4+2r y te llebara a el principio de esa funcion 4537CCB6 en otras palabras donde se llama esa direccion de heap. Ahora hay seleccionas algo de codigo (con el cual buscaremos en el nuevo firm)
Y ahora eso usaremos para buscar en el nuevo firm.
Y por ejemplo busque en un w380 R11CA002 y me dio de resultado 211236AE.
Despues vamos a ese offset en el nuevo firm (en mi caso 211236AE) y notaremos que hay un LDR, Rx, cualquierNombre hacemos clic sobre el nombre (en mi caso dword_21123828) y eso nos llebara a un nuevo offset donde esta algo asi:
dword_21123828 DCD 0x48040DE8
Y listo, ya lo he portado mi heap para w380 seria 0x48040DE8.
Nota: Esto era a lo que se referia laura :)
Espero haberme dado a entender :).
Saludos.
02/06/2011, 01:52:45
rAcEr
3 Archivos adjunto(s)
Re: [DISCUSION] Archivos Assembling (ASM)
alguien me puede ayudar por que me sale esto en el Armpc
Cita:
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrador>cd \armpc
C:\Armpc>make tu.asm phone_app.raw
No se encuentra C:\Armpc\tu.asm.vkp
flat assembler for ARM version 1.67.22 (808872 kilobytes memory)
tu.asm [13]:
LDR R1, dword_10840278
x.inc [109] ldr [24]:
ldr rg , [pc,(p1-($ and 0xFFFFFFFC)-4)]
error: undefined symbol.
cant open temp.bin
No se encuentra C:\Armpc\temp.bin
y lo quiero pasar al w760 alguien me guia con ese error
les dejo abjuntos los archivos
02/06/2011, 02:04:28
Heber
Re: [DISCUSION] Archivos Assembling (ASM)
De donde salio esta parte marcada con rojo? porque la pusiste? no veo que sea del hook ni del codigo nuevo :a18: lo que te esta marcando indefinido esta ahi, lo puse con azul
Quita esa parte (todo lo rojo y lo azul) e intenta compilar de nuevo.
06/06/2011, 21:48:46
rAcEr
2 Archivos adjunto(s)
Re: [DISCUSION] Archivos Assembling (ASM)
ya le hice y pues no me compila nada te dejo mis pruebas
Cita:
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrador>cd \armpc
C:\Armpc>make tu.asm phone_app.raw
No se encuentra C:\Armpc\tu.asm.vkp
flat assembler for ARM version 1.67.22 (907561 kilobytes memory)
2 passes, 40 bytes.
:-/
C:\Armpc>
te dejo mi asm.vkp
06/06/2011, 22:41:40
Josthyn
Re: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por rAcEr
ya le hice y pues no me compila nada te dejo mis pruebas
te dejo mi asm.vkp
Cita:
C:\Armpc>make tu.asm phone_app.raw
La extension del phone.app es "cxc" no "raw", de donde me sacar el raw???, raw solo se usa para los db2010/20 no en A2.
27/08/2012, 19:08:59
zyonyluc
Re: [DISCUSION] Archivos Assembling (ASM)
que tal amigos
estoy iniciandome en esto de portar parches y quiero portar este:
Código:
;C510 SW-R1HA035
;Vibra en una llamada saliente cuando el receptor contesta
;(c) IronMaster
;(p) Ax
;pAtChFiLe=/boot/phone_app.cxc
1504B490: 24342078 27488047
1504B530: 180A0000 A154D215
15D254A0: 00000000000000000000000000000000 24342078FFB581B06846064988470098
15D254B0: 00000000000000000000000000000000 7D21C90032220B1C0668D4003659B047
15D254C0: 0000000000000000 01B0FFBD1DA3DB14
lo tengo en mi c510 y funciona bien pero lo quiero para mi c905 ya cree el asm pero porfavor diganme si esta bien o que estoy haciendo mal, este es el ams:
Código:
include "x.inc" ;<---------- Incluye el archivo necesario a la hora de compilar
me pueden decir que estoy haciendo mal por que trate de compilarlo con el arm patch Compiler pero me da este error
Código:
loc_1504B4A6
error: illegal instruction
ademas en el arm patch compiler hay que poner la base addresss y no se cual es ya que estoy creando el asm de un c510 para portarlo a un c905 y ojala los patch porter , los patch master y todos los que tengan conocimiento en el tema se decidieran a crear un nuevo tuto para portar desde cero seria de graan ayuda y mejor si hacen el tuto portando para a2 por que hasta ahorita solo he visto tutoriales para crear el asm pero no para portar
solo es una sugerencia
saludos a todos!!!!!
28/08/2012, 19:58:14
anarkes
Re: [DISCUSION] Archivos Assembling (ASM)
Eso ya se ve un poco mejor :D
En el primer hook copiaste código de más deberías de haber copiado hasta 1504B493 debería quedar así
Código:
org 0x1504B490
LDR R0, off_1504B530
BLX R0
¿Como lo se?
Es facil solo debes de ver el parche compilado y te lo dira
1504B490: 24342078 27488047
En la parte izquierda después de los dos puntos esta el código original, y en la derecha esta el código nuevo. Ahora, supe que es hasta el 1504B493 por que solo hice la suma de 4 bytes (creo que son cuatro XD) así
Ese codigo debería hacer exactamente lo mismo que en una sola linea
En el segundo hook analizaste mal, en lugar de analizar eso con la tecla C analizalo con la tecla D para que te quede así
Código:
org 0x1504B530
loc_1504B530 DCD 0x15D254A0+1
Hecho eso, el asm debe quedar algo así
Código:
include "x.inc"org 0x1504B490
LDR R0, off_1504B530 ;Carga en R0 lo que exista en off_1504B530
BLX R0 ; Ve, ejecuta lo que esta en R0, y regresa el contador de programa a la siguiente instruccion
org 0x1504B530
loc_1504B530 DCD 0x15D254A0+1 ;Salto hacia codigo nuevo
;Codigo nuevo
org 0x15D254A0: ;Aqui le agregue dos puntos (:) por que se trata de una función
ADD R4, 0x24
LDRB R0, [R4]
PUSH {R0-R7,LR}
SUB SP, SP, 4
MOV R0, SP
LDR R1, off_15D254C4
BLX R1
LDR R0, [SP]
MOVL R1, 0x3E8
MOV R2, 0x32
ADD R3, R1, 0
LDR R6, [R0]
LSL R4, R2, 3
LDR R6, [R6,R4]
BLX R6
ADD SP, SP, 4
POP {R0-R7,PC}
me podrian decir por fa en que estoy mal o si me falta algo:a11:
saludos a todos y en especial a anarkes por tomarse la molestia en ayudarme:a12:
29/08/2012, 13:20:15
anarkes
Re: [DISCUSION] Archivos Assembling (ASM)
Que tal :D
Si me dijeras que errores te da sería mas fácil, pero según veo el error puede que te lo de en
Código:
off_15D254C4 dw loc_14DBA31C+1
Y eso es por que loc_14DBA31C+1 esta fuera de rango y eso lo se por que es mucho menor a la dirección del código nuevo. En estos casos lo que se debe de hacer es poner la dirección de memoria
Código:
off_15D254C4 dw 0x14DBA31C+1
30/08/2012, 17:32:26
Cr@cShoT
Re: [DISCUSION] Archivos Assembling (ASM)
Si mal no recuerdo deberia quedar asi:
Cita:
Org 0x1504B490
LDR R0, off_1504B530
BLX R0
Org 0x1504B530
off_1504B530 DCD Newcode+1;<--Este es el codigo nuevo, deberia tener un nombre
Org 0x15D254A0
Newcode:
ADD R4, 0x24
LDB R0, [R4]
Lo marcado en rojo es lo que te faltaba aparte de lo que ya te dijo anarkes pues ese "off_" no estaba nombrado o por asi decirlo, no tenia valor pues le quitaste el enlace, y lo del codigo nuevo deberia estar asi como te lo deje no necesariamente tiene que llamarse "Newcode" pero si necesita un texto, pues ese hook te lleva al cuerpo del parche
30/08/2012, 19:13:56
anarkes
Re: [DISCUSION] Archivos Assembling (ASM)
Que tal crac :D
Pues no es que sea TAN necesario, es recomendable eso de newcode cuando la dirección pueda variar.
Esta tan correcto poner una etiqueta, como poner la dirección de memoria, eso depende de gustos :D
hay unas diferencias por que sera? o asi esta bien? pero no me deberia quedar igualito? o en que falle
gracias por su ayuda amigos
saludosssss:a04:
Aparentemente el parche esta bien pues las lineas que te dan diferencia son los hooks pero no del asm que armaste sino de los que estan en el CXC, a la hora de compilar... usaste un CXC en blanco?? o del mismo modelo??