fidelcastro escribió:el que muestro aqui
Hm, ¿te refieres a 0x81000018 en el offset 5FB5BA del fichero? ¿Cambiaste ese valor pero el valor de $s0 no se modificó? Para hablar con detalle siempre indica el offset concreto del fichero, así vamos directos al grano. Y como ya tengo tus ficheros, pues podemos ir viéndolos. Y por cierto, a ver si te veo el pelo en el IRC, que por ahí se charla bastante más a gusto
fidelcastro escribió:me dices que es bueno el cambio en el BadAVddr, me explicas un poco eso
Sí. A ver cómo me lo monto
Primero, es BadVAddr, no BadAVddr la V y luego la A, que lo escribes siempre mal, ¡andalú!

Viene de Bad Virtual Address (Dirección Virtual Errónea).
Como comenté con anterioridad, BadVAddr no es ningún valor en concreto que realmente "exista". Es la dirección de memoria a la que se intentaba acceder cuando ha sucedido la excepción. Voy a intentar hacer unos esbozos mosquiteros para explicar el asunto.
Ésta es la situación justo antes de ocurrir la excepción:

En este momento se está ejecutando un hilo llamado
ScePafJob sobre el código del módulo
sceFileParserBase_Module, que es
flash0:/vsh/module/file_parser_base.prx. Y justo va a ejecutar la instrucción que se encuentra en la dirección 0x0A0CA2FC, que es 0xAFB00020, o lo que es lo mismo,
sw $s0, 32($sp).
Entonces la instrucción
sw $s0, 32($sp) indica que hay que guardar (sw = store word, guarda palabra) el contenido del registro
$s0, que es 0x81000018 como nos indica PSPLINK, en la dirección que contiene
$sp (0x8A7EE7D0) + 32, esto es:

Como ves, y como ya te he comentado anteriormente (si es que lo has leído), el valor que modificamos es el de $sp, BadVAddr es un valor "inexistente", virtual si quieres llamarlo de alguna forma. Por tanto si podemos llegar a controlar qué valor ponemos en $sp, podremos utilizar la dirección que mejor nos convenga.
Siguiendo con el tema, al intentar escribir en la dirección 0x8A7EE7F0, el procesador de la PSP dice "pues va a ser que no", ya que no es una dirección válida, y genera una excepción, y PSPLINK la muestra en pantalla:
Espero que esto os haya servido, porque yo he aprendido a usar un poco Inkscape (pero no mucho

).
Saludos y ánimo, camarada
