Ver la versión completa : [DISCUSION] Portar Funciones de Libreria.
albertnet3
25/02/2010, 21:20:02
Aqui se discutira y se debera poner cualquier duda respecto al video tutorial de
aprende a portar funciones de libreria de elfpacks. (http://www.topsony.com/forum_es/elfs-pack-f124/aprende-portar-funsiones-de-libreria-de-elfpacks-t120601.html#post713261) por albertnet3.
atencion!!!
cualquier mensaje que no tenga relacion con dicho tutorial o sea spam o que no corresponda como:
ej:
" como se pone un elf...!!!
debera ser informado al moderador y sera automaticamente eliminado
gracias por su atencion y espero sus dudas
atte: albertnet3
laurafarsa
27/02/2010, 01:21:13
Solo quiero hacerles saber que yo tambien (si albertnet3 quiere) les ayudare en sus dudas ;)
alx_ra
08/03/2010, 14:07:26
oye kiero portar algunas funciones a un w830, me puedes pasar el tuto por escrito? ya que algunas cosas no las pronuncia bien el loqendo o el programa que usas y varias cosillas se me van :)
Cr@cShoT
08/03/2010, 15:05:11
Hola!!
Es sencillo, el programa que menciona el el Workshop Hex Editor, Solo tendiras que copiar la funcion de la libreria en el cuarto espacio del Entrypoint Converter, y sacar el offset que esta en la segunda casilla, ese offset lo buscas en el *.raw que abriste del modelo del cual sacaste la funcion (en el ejemplo es el w610 R6BC002) copias una cadena, la cantidad dependera de lo que encuentre en el *.raw del modelo a portar (del ejemplo el W580 R8BE001), hasta que te encuentre solo una (aunque muchas veces no es asi) y te dara el offset, ese offset llevas a la segunda casilla del Entripoint y en la cuarta casilla ya estara tu funcion portada :D
alx_ra
08/03/2010, 17:25:53
creeo que ya kedo portare algunas pocas y checare
bueno empece a portar de cero todo y me atore con una :S, ya que buscando una cadena de codigo encuentra dos y si agrego una mas no encuentra nada, aparte que los dos estan en el mismo offset, nose cual es la correcta :S
Edito:
me ocurrio lo mismo de nueva cuenta, pero me puse a buscar similitudes en el cuadrito de la derecha deambas mains en esa cadena de codigo y hay algunas partes que se parecen, escogere la que es similar a la otra :) si estoy mal corrijanme antes de hacer un desastre XD
laurafarsa
08/03/2010, 18:00:08
empieza a portar funciones ya portadas ;)
asi veras si estas haciendo bien las cosas o no.
PD: empezare un tuto para hacer lo mismo, utilizando IDA ;) es mas facil.
alx_ra
08/03/2010, 18:14:49
mmm ya porte una portada y me dio el mismo valor, voi bien :), mejor portare todas las funciones del bcfg.elf para probarlo, el otro problema es el dyn, ya que no me servira de nada portar toda la lib si no tengo el dyn actualizado no sabre si porte todo bien o no. D:
sotel
11/04/2010, 01:51:23
Pero que hacer en caso de no encuentre ningun valor osea que cuando copia una cadenas de valores si me da muchos resultados quiere decir que debo copiar mas codigo y si no me da ninguno me pase pero y si aun asi no me aparece ningun valor que debo hacer ? :\
Aver si alguien me puedde responder. Gracias
Cr@cShoT
11/04/2010, 16:16:53
Pero que hacer en caso de no encuentre ningun valor osea que cuando copia una cadenas de valores si me da muchos resultados quiere decir que debo copiar mas codigo y si no me da ninguno me pase pero y si aun asi no me aparece ningun valor que debo hacer ? :\
Aver si alguien me puedde responder. Gracias
Hola!!
Hay casos extremos como el que cuentas... si cuando aumentas o reduces bytes y no encuentras la funcion... en mi caso, lo unico que me quedaba hacer es buscar esa funcion desde otra libreria, a veces probando con otros si lo encuentras...
Saludos!
laurafarsa
11/04/2010, 16:49:42
Tambien la pueden buscar "agarrando" codigo de "mas arriba".
Por ejemplo:
Si quieren portar esta funcion
0x45022E82
y les arroja muchos resultados o no le arroja nada, lo que pueden hacer es buscar desde direccion mas arriba. En lugar de buscar a partir de 0x45022E82 pueden buscar a partir de 0x45022E60.
:D
PD: En un caso muy extremo, pueden buscarlas manualmente :S Es mas dificil!
Ojala me hayan entendido!
sotel
12/04/2010, 01:18:29
Gracias por responder Laura y Crascshot.
Pero creo que no me funciono...
Lo que hice fue tratar de portar esta funcion que ya estaba es del k810 R8BA024
369: void MediaPlayer_SoftKeys_SetText( GUI* player_gui, int actionID, STRID )
La intente portar desde un W610 R6BC002 y si me da solo una coincidencia pero cuando ese offset lo pongo en la parte del entrypoint que dice entrypoint (byteswapped) me da este valor BD12D144 y el valor deberia ser B08B0445 y pues esa funcion la porto el elfmaker Crong y no creo que este mal mas bien pienso que esta mal la mia. Que pude haber hecho mal?
Gracias por tomarse el tiempo de responderme ... Los quiero.
Heber
12/04/2010, 20:54:04
Ya lo revise y dejame decirte que si esta mal tu port y correcto el de crong , debes haber tomado mal el codigo a buscar en el firm de destino, en funciones que si tomas mas codigo no encuentre coincidencias o que no estes seguro que tengas la correcta toma un poco menos de codigo y aunque te den unas pocas coincidencias digamos, 2,3 o 4 puedes irlas revisando una por una y fijate en que contexto esta, que digitos tiene arriba, abajo o que forma toma el codigo en la ventana de la derecha, obviamente si esta correcto veras que coincidiran ;) saludos
toledanogu
12/07/2011, 16:29:36
Mmm se escucha muy interesante eso de portar funciones, pero no se ve el video de albertnet-3.
Si no me equivoco portar funciones quiere decir trasladar funciones de otros modelos en los que funcionan a otro modelo. ¿si es asi?
Cr@cShoT
12/07/2011, 17:24:37
Mmm se escucha muy interesante eso de portar funciones, pero no se ve el video de albertnet-3.
Si no me equivoco portar funciones quiere decir trasladar funciones de otros modelos en los que funcionan a otro modelo. ¿si es asi?
Basicamente, portar funciones seria, buscar la funcion de un modelo a otro, y cuando hablamos de funciones, hablamos de offsets (direcciones del MAIN, CXC) entonces si tenemos una funcion u offset nueva para cierto modelo/firmware, se porta para otro modelo/firmware buscando el offset correcto y puedas usar elfs sin tener reinicios molestos
toledanogu
12/07/2011, 19:24:06
Muchas gracias por tu excelente respuesta, cada vez es más claro el asunto, ahora bien, tengo un w705, y al intentar abrir el mbn con el ida V no me sale la opción del plugin de Denpo, en cambio abro un main de un w610 y sale la opción sin problemas, ¿quiere decir que no soy capaz de portar constantes en la librería o en el dynconst del w705? ¿o sea no es posible? también intenté extraer el main y convertirlo a raw con el main2raw y con el gextract, pero ninguno me lo extrae.
Me imagino que muchos interesados quieren portar constantes como yo a sus db3210 se topan con el mismo problema y con la información que hay no es posible creo, por lo menos al w705, y estaría bien que los que saben mucho del tema nos dijeran si aún eso no es posible o si es posible ¿cómo?
Muchas gracias Cr@ckshot!!
Por ahora tengo mucho tiempo y pienso dedicar todo mi tiempo a portar constantes para el w705 y obviamente postearlas ya que siento que falta avance en este modelo.
Cr@cShoT
12/07/2011, 22:43:57
En los A2, no es el MBN el que tienes que abrir en el IDA, lo que tienes que abrir es el phone_app.cxc, usa esto para extraer tu CXC del MBN
http://www.topsony.com/forum_es/a2uploader-f136/extraer-phone_app-cxc-de-tu-mbn-t121465.html