domingo, 7 de diciembre de 2014

Estado inicial de NitroDebugger

Tiempo de retomar NitroDebugger.

A finales de marzo fue cuando me pregunté ¿cómo se comunica IDA Pro con DeSmuME?. Tras estar buscando información sobre qué era GDB Remote, acabé leyendo la especificación. GDB Remote Serial Protocol es un protocolo que permite la comunicación entre dos equipos, uno que estará depurando un programa, y otro que estará controlando ese depurador a distancia mediante una conexión TCP. Se trata de un protocolo muy sencillo al que entraré en profundidad en otra ocasión. Dado que no podía parar de pensar en ello, decidí comenzar a hacer unas sencillas pruebas.

Comandos implementados hasta hoy.

Lo dejé a los pocos días, y está en estado de una prueba de concepto. Implementé de manera rápida los comandos más usuales como continuar, parar e hice un intento de obtener código en ensamblador. Como no hay un comando de ese protocolo para ese propósito pues se supone que es el cliente el que se encargaría de obtener los datos de la RAM y convertirlos a instrucciones, inventé yo uno y lo implementé en DesMuME. Esto será temporal.

Su futuro inmediato será una revisión y estructurado del código. Escribiré el código base sobre el cual se pueda implementar de forma paralela una linea de comandos y una interfaz gráfica con XWT. También intentaré aplicar la metodología TDD, todo un experimento.

jueves, 13 de noviembre de 2014

Terminando una carrera a lo 'romhacking'

Estoy ya en la recta final de mi grado en Telecomunicaciones y hace un par de meses me tocó elegir el Trabajo Fin de Grado (antes llamado Proyecto Final de Carrera). La gente de mi especialidad suele elegir temas relaciones con malware, rendimiento en videojugos, ataques a redes, ... Son interesantes, aunque era todo un sueño poder hacerlo sobre algo más relacionado con el romhacking.

Hace un año, en la asignatura Seguridad en Redes de Comunicaciones hice un trabajo opcional analizando diferentes algoritmos de seguridad en videojuegos. Fue mi primer trabajo sobre romhacking para la universidad, y como un sueño cumplido. Las transparencias están disponibles por aquí. Ese mismo profesor me propuso realizar el trabajo final sobre la misma temática pero profundizando más. Y así nace AiroRom.

sábado, 8 de noviembre de 2014

¡Nace NitroDebugger!

Llevo tres años depurando juegos de la Nintendo DS y una de las mayores dificultades con la que me encuentro es tener un programa con el que sea cómodo trabajar. A pesar de que es posible utilizar programas tan potentes como IDA Pro y radare, estos no están preparados para las necesidades de romhacking, de editar juegos. De aquí nace NitroDebugger, un depurador remoto (no tiene capacidad de emulación) que pretende estar enfocado en la Nintendo DS y de forma general, en la depuración de videojuegos permitiendo a cualquier persona iniciarse en este mundo.

miércoles, 30 de abril de 2014

Rescatemos el Wi-Fi de la Nintendo DS

Tiempo hace que no escribo por aquí, aunque más de una entrada en borrador tengo planteada y algunas ideas más. El problema como siempre es el tiempo... En esta ocasión, este una entrada un poco urgente, porque dentro de poco llegará una catástrofe de la que espero que más tarde no nos sintamos impotentes.

El 20 de mayo Nintendo cerrará sus servidores de conexión Wi-Fi para Nintendo DS y Wii. Esto significará que todos los servicios que los juegos actuales tienen se perderán... para siempre. Se verán afectados contenidos descargables (DLCs) como misiones, objetos únicos... pero también afectará a servicios de multijugador on-line, siendo la pérdida más famosa la de Mario Kart DS (adiós a perder por paliza contra chinos y japoneses).

Pero hay una solución. La idea original es de Toad King, un usario de GbaTemp que creo este hilo, además de la web: Save Nintendo Wi-Fi. El objetivo es hacer un servidor falso que emule ser un servidor de Nintendo y que por tanto, de cara a la NDS, todo seguirá normal.