Obtener direccion de memoria de modulos!!!!

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06

Responder
Avatar de Usuario
Darthvader38
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 24 Ene 2010, 06:39

Obtener direccion de memoria de modulos!!!!

Mensaje por Darthvader38 »

PREGUNTA #3: Direccion de memoria de un modulo:
***********************************************
2-Llevo muchas semanas tratando de obtener la direccion de memoria de los modulos que son cargados en la PSP y
me he ido guiando por las funciones que M0skit0 me ha indicado la vez anterior que pregunte lo mismo...pero nada...
ni modo.....Posteo de nuevo mi problema a ver que pasa esta vez...si alguien tiene un codigo de ejemplo BIENVENIDO SEA!!!



----"sceKernelGetModuleIdList"
Cuando la uso su primer parametro me devuelve correctamente el "ID" de un modulo "x"...
El segundo parametro no se con detalle como usarlo si alguien me ayuda con esto !!!!bienvenido sea!!!!
El tercer parametro segun tengo entendido ...deberia devolverme la cantidad de modulos cargados...y me devolvia algo que no comprendia...no se si sera un tipo de error o algo ...

Actualmente compile de nuevo el codigo y no se que hice que ya ni me devuelve el ID del modulo y en vez de eso obtengo el error --> 0x800200d3
Como puedo solucionar esto?


Nota: Aun asi devolviendome error esta funcion...no me preocupa...la que realmente llena el vaso es la que sito mas abajo.....



----"sceKernelQueryModuleInfo"
Mi real problema es esta funcion.
Aun sin poder obtener un ID por culpa de que no me acuerdo que hice mal en la funcion anterior que me da el error que dije....
le paso como parametro el id de cualquiera de los modulos cargados que averiguo mediante el PSPLINK y cuando muestro el valor de
entry_addr ...el valor es "0xffffff" esto realmente es frustrante....QUE SUCEDE???Tampoco me muestra el name correctamente....
y sin embargo la funcion no devuelve ningun tipo de error....


Alguien podria mostrar algun codigo de modelo de uso de estas funciones efectivamente porque he estado semanas y nada!!!!

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Obtener direccion de memoria de modulos!!!!

Mensaje por m0skit0 »

Darthvader38 escribió:sceKernelGetModuleIdList

No sé dónde está la complicación con esto. En el PSPSDK está perfectamente clara la función de cada parámetro:

Código: Seleccionar todo

int sceKernelGetModuleIdList (SceUID *readbuf, int readbufsize, int *idcount)

readbuf -> array buffer de SceUID, que rellenará la función
readbufsize -> tamaño del array
idcount -> puntero a entero para devolver el número de módulos devuelto

Obviamente hay que pasarle un buffer lo suficientemente grande para que quepan todos los UIDs. Con que sean 100 va sobrado.

Darthvader38 escribió:sceKernelQueryModuleInfo

Tampoco le veo mucho problema a la documentación:

Código: Seleccionar todo

int sceKernelQueryModuleInfo (SceUID modid, SceKernelModuleInfo *info)

modid -> el UID del módulo
info -> puntero a buffer SceKernelModuleInfo para guardar la información.

Darthvader38 escribió:y cuando muestro el valor de entry_addr ...el valor es "0xffffff" esto realmente es frustrante

Obvio, entry_addr es la dirección de entrada del módulo (la función module_start). El caso es que hay muchos módulos que no tienen dirección de entrada, porque no se ejecutan por sí solos. Son meras librerías. Si lo que quieres ver es la dirección donde está cargado el módulo, es text_addr.

Darthvader38 escribió:Tampoco me muestra el name correctamente.... y sin embargo la funcion no devuelve ningun tipo de error....

Postea el código que usas y lo vemos.

De todas formas, todo esto ya lo muestra psplink. Échale un vistazo para ver los ejemplos.
Imagen

Responder