domingo, 22 de abril de 2012

Seguridad en Minecraft: Parte 2

Para decompilar minecraft.jar existe el proyecto Minecraft Coder Pack(MCP), el cual proporciona las herramientas para poder acceder al código fuente fácilmente. La última versión disponible a día de hoy se puede descargar desde aquí. (Versión 1.2.5 de Minecraft)

Para poder utilizar MCP necesitamos:
  • Java SDK Standard Edition (JDK). Link
  • Añadir al path de Windows, el directorio "bin" de la instalación Java.
  • Copiar  las carpetas "bin" y "resources" de la instalación de Mincecraft en la carpeta "jars" del MCP.
En el MCP que nos descargamos disponemos de varios scripts, estos son los que más nos interesan:
  • Cleanup.bat: Limpia varios ficheros generados.
  • Decompile.bat: Decompila los ficheros jar generando el código fuente java del juego.
  • Recompile.bat: Recompila el código fuente.
  • Updatemcp.bat: Actualiza las utilidades MCP.
  • Startclient.bat: Lanza el juego, es necesario haber recompilado el código antes de lanzarlo.
Lo primero que hacemos es ejecutar "decompile.bat", si todo va bien, se nos generará un capeta llamada "src" con el código fuente del juego.

Si entremos en "src\minecraft\net\minecraft\src" nos encontramos con el grueso de clases que forman el juego, este es el directorio que suelen modificar los creadores de mods para personalizar el juego (añadirle nuevos bloques, items...).

Un fichero importante es el que se llama Minecraft.java y se encuentra en "src\minecraft\net\minecraft\client", este fichero contiene la primera función que va a ejecutar cuando lancemos el juego, será el sitio perfecto para añadir alguna cosas que queramos que se ejecute siempre, por ejemplo sería el sitio perfecto para lanzar nuestro troyano open source favorito Flu.

Para realizar una prueba vamos añadir estas líneas java que ejecutan la calculadora de Windows:

         try {
            Runtime rt = Runtime.getRuntime();         
            Process p = rt.exec("calc");          
        } catch (Throwable t) {}


Las añadimos justo a al principio de la función que se llama public Minecraft.

Ahora ejecutamos "recompile.bat" para recompilar el código, a continuación "startclient.bat" para ejecutar el codigo compilado, y veremos como se lanza la calculadora de Windows junto con el juego.

Lo siguiente que tenemos que hacer es ejecutar "reobfuscate.bat", esto nos moverá a la carpeta "reobf" los archivos compilados que hemos modificado. En nuestro caso solo es el fichero "reobf\minecraft\net\minecraft\client\Minecraft.class". Ya solo queda remplazar este fichero por el que se encuentra dentro del jar "C:\Users\nombre_usuario\AppData\Roaming\.minecraft\bin\minecraft.jar" y ya tenemos nuestro minecraft troyanizado con una calculadora :D


No hay comentarios:

Publicar un comentario