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
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
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!
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.
Última edición por anarkes; 12/03/2011 a las 20:50:16
alguien me puede ayudar por que me sale esto en el Armpc
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
De donde salio esta parte marcada con rojo? porque la pusiste? no veo que sea del hook ni del codigo nuevo lo que te esta marcando indefinido esta ahi, lo puse con azul
ya le hice y pues no me compila nada te dejo mis pruebas
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>
Marcadores