He puesto este mismo comentario en el hilo en otra noticia, pero he pensado que quizá era mejor ponerlo en un nuevo hilo, ya que esta información no suele encontrarse en ningún sitio, me ha costado bastante hacerme con ella y la verdad es que para estar todos los días hablando de ello, pocos sabemos como realmente funcionan estas cosas, con este texto intento que nos hagamos un esquema mental de como funciona y de esta manera podamos opinar mejor cuando hablemos de estas cosas.
Después de informarme sobre como funcionan los tipos de exploits y demás, tengo que corregir la aportación que hice hace unos cuantos comentarios. Para los curiosos dejo aquí como mas o menos funciona, puede que haya algunas cosas erróneas pero creo que van bien los tiros. No soy ningún lumbreras mas bien un NOOB pero tenia interés en como funcionaba todo esto y me he puesto a buscar como funciona, y creo que he pillado todas estas ideas que pongo a continuación, si alguien mas entendido ve fallos estaré encantado de que me los diga para ir corrigiendo mi idea de como funciona y lo iré cambiando por aquí para que todos podamos aprender sobre ello.
Tras haber desencriptado en OFW de psp en PSV, y sabiendo que ya tenemos exploits en modo user, como el de VHBL es muy importante, pues al estar desencriptado el firmware de psp en psvita, que es principalmente igual a la versión 6.60 de psp, se pueden usar sus herramientas, en este caso las PRX Tool, de esta manera puedes de-compilar(proceso contrario a compilar) y así obtener el código que las personas como nosotros podemos entender y no un conjunto de valores hexadecimales. A continuación una vez descomprimido y de-compilado todos los prx los archivos bin y los RCO toca comenzar a estudiar bien como funciona lo mas importante el modulo kermit, que es donde las cosas serán diferentes a la psp, como tenemos todos los archivos de-compilados alguien debe pasarse delante del código horas y horas y conseguir ver fallos en el código del kermit que sean explotables una vez que los encuentra es el momento de ver si el kermit exploit es útil.
Para ello estamos en modo user, pero el modo user pese a no tener acceso al modo kernel ni nada, si puede hacer llamadas a kernel, por ejemplo para escribir en la memory stick debe hacer la llamada y ademas cargar con la carga de pago (payload) que contendra lo que se va a escribir en la memory stick, también tiene que hacer llamadas para mostrar cosas en pantalla, pero nunca puede hacer nada mas que llamadas y portar datos, nunca puede acceder a la memoria kernel, por lo que es como una especie de jaula, que solo puede enviar unos códigos predefinidos por sony y de ahí no puede salirse. Un ejemplo tu metes un juego, lo inicias y el user comienza su código haciendo una llamada al kermit de inicio de juego, esto inicia un proceso en el kermit que ejecuta un código por ejemplo comprueba que tienes el juego en esta cuenta, es decir el modo user es como un intermediario que mediante llamadas le pasa los datos al kermit y este los procesa y los evalúa tal y como sony lo ha programado.
Una vez alguien a detectado un exploit en el kernel, hay que acceder a el y eso se hace mediante un exploit en modo user como el vhbl (x eso aunque no supongan un problema para sony actualmente sony cierra todos los exploits en muy poco tiempo ya que realmente es la puerta de algo mas grande),esta vez en vez de vhbl cargaremos un homebrew pensado para aprobechar el exploit (por ejemplo en psp al principio fue una foto), el exploit en modo user programado por nosotros podemos hacer llamadas al kermit pero nunca salirnos de lo que nos dejen hacer sus llamadas, por lo que el exploit que haremos sera hacer una llamada a donde detectamos el exploit del kermit, si al aprovechar el exploit del kermit hemos conseguido escribir una sola cosa en la memoria del kermit sin supuesta-mente tener acceso es cuando ya hemos conseguido los privilegios necesarios y nos ha llevado a lo que se llama a una escalada de privilegios en el sistema, solo hace falta que en vez de hacer un programita que escriba unos valores en la memoria, hagamos un programa con codigo pensado para poder cambiar nuestra cuenta de usuario y cambiarnos el acceso a admin user, y asi poder acceder a la memoria kermit.
Por el contrario si cuando accedemos al exploit no podemos excribir nada en la memoria del kermit entonces tendremos un bug del kermit pero no puede ser aprovechado por nosotros y por tanto no sera un exploit.
Porque haber accedido al kermit de psp no afecta a la psvita? pues sencillamente porque no tenemos las herramientas para de-compilar ningún archivo que no sea psp, y mucho menos volver a compilarlo, por lo que nadie puede mirar el código del kernel de psvita y por tanto no puede saber donde hay un exploit en el modo kernel de vita, al igual que como no podemos de-compilar ni decodificar un juego de psvita no podemos comprobar tampoco si estos juegos tienen algún exploit para el modo user de psvita, y muy a mi pesar las claves y la decompilacion de psvita sera aun mas complicada que la de ps3, o por lo menos igual de complicada, así que desde luego si alguna vez entran en la psvita no sera porque pudimos a través del modo psp, se necesitan muchas mas cosas, como los de-compiladores y otra serie de cosas que ha de hacerse desencriptando los OFW de sony y comenzando este proceso de nuevo.
En definitiva que conseguir el modo psp no tiene nada que ver con el modo psvita son dos blokes muy distintos y diferentes en todo, el modo psp a caído porque las herramientas que ya teníamos de psp sirven para el 6.60 de psp de psvita, como no podía ser de otra manera ya que deben entender los mismos juegos.
Espero que a los curiosos les haya servido de algo, he intentado explicarlo lo mejor posible dentro de mis dotes poco comunicativas.
Una vez entendido esto voy a colocar a pasaros una informacion que coloco wololo en su pagina que es verdaderamente útil y me ha ayudado mucho mas en el entendimiento de como funciona esto:
http://wololo.net/wagic/hacking-portal/. (EN INGLES)
Como podéis ver sale un pequeño tutorial de como encontrar exploits en los save game, y otra serie de operaciones perfectas, por ejemplo portear vhbl a vuestro propio exploit, esto es genial ya que si sabéis encontrar uno y lo mantenéis en secreto podréis ejecutar vhbl sin que sony os lo tape al tercer día.
Desgraciadamente no hay ningún tutorial de como buscar un kernel exploit porque es algo mas difícil, leyendo otros foros pero no he llegado a nada claro solo ideas vagas, son las siguientes:
Para aprovechar un kernel exploit es necesario haberlo de-compilado, tener un exploit en modo user como ya he explicado antes, de esta manera programamos un pequeño programa en modo user que porte mas datos de payload a la llamada de los que debe y de esta manera gracias al fallo, sobrescriba en la memoria del kernel alguno de los datos, por ejemplo si la llamada para pasar la foto porta los datos de 12 en 12, con tu programación envías un buffer muy largo de por ejemplo todo el rato el mismo pixel, a continuación con un programa que también tenemos pasa psp, en este caso sale en el tutorial de wololo podemos ver los valores de la memoria antes de que el kermit crasheara, si alguno de esos valores (de los útiles) ha cambiado y a sido sobrescrito habremos escrito en la memoria del kermit sin tener acceso.
En principio es necesario de-compilar el kermit para ver donde esta el fallo, ya que suelen ser mas concretos, iré actualizando esto según vaya enterándome de mas. Pero a partir de aquí deja de haber mucha información o es muy complicada para mi y ya me he columpiado un poco es este ultimo tramo seguramente.