Geek & Roll » cracking

Diablo III

Cesar May 19th, 2012 aplicaciones, cracking, internet 1 comentario

Para algunos, la llegada de Diablo III este pasado 15 de Mayo no significó más que tolerarme al hablar por horas de la historia, características y peculiaridades del nuevo juego de Blizzard. Y es que la franquicia Diablo siempre ha guardado un lugar especial en mi corazón, por mas blasfemo que se escuche.

Me tocó estar ahí cuando el primer Diablo tomó por sorpresa a los jugadores del mundo. Un título exclusivo para PC inicialmente, después lanzado para PlayStation, en donde el control de la acción era via el mouse principalmente. Clickity clack todo el día. No se si sea el primero en el género, pero para mi fueron dos cosas: descubrir el género de los dungeon crawlers, hack & slash, y parar oreja para cualquier cosa que Blizzard hiciera en el futuro ya que era la segunda vez que me sorprendía con algo totalmente nuevo y desconocido para mi (la primera fue con Warcraft). Recuerdo perfectamente toparme con el “Butcher” en el primer nivel del laberinto de la Catedral de Tristam. Su grito de “Ah, fresh meat” era sinónimo de tener que reiniciar el juego con la esperanza de que no volviera a salir. La muerte segura.

Cuatro años mas tarde, Diablo II. En ese entonces ya había yo pasado por Warcraft, Warcraft 2 y su expansión, Diablo, Starcraft y su expansión: Brood Wars. Blizzard ya era grande en el mundo del juego online, y Battle.net era poco más que el nexo entre los distintos juegos de Blizzard y su componente online. Diablo II fue grande, pero nada revolucionario si lo comparamos con su antecesor. Para empezar, los escenarios ya no eran completamente generados al azar. Además, uno de los aspectos que más me atrajeron al primer Diablo fue que literalmente ibas descendiendo al infierno nivel tras nivel, después de entrar a la Catedral de Tristam. En Diablo II la mayor parte de los escenarios son espacios abiertos.

Tan solo 12 años después (Diablo II salió en el 2000) Blizzard completa otra entrega de la franquicia Diablo, aún cuando su desarrollo se inició desde el 2001, un año después de Diablo II. Diablo III me recuerda mucho a como ha evolucionado OSX, implementando características de su hermano iOS, solo que Diablo III se las copia a su hermano World of Warcraft, también conocido como la gallina de los huevos de oro de Blizzard. En los 12 años que pasaron, Battle.net pasó de ser un simple nexo a una compuerta virtual que separa los diferentes mundos que Blizzard crea con sus juegos. Battle.net es necesario para comprar, activar, descargar y jugar cualquiera de los juegos de Blizzard, sea multijugador o no.

Si creían que el DRM que te impide iniciar una partida a menos que tengas una conexión a Internet para autentificarte es molesto, eso no es nada en comparación de lo que Blizzard ha hecho. Pero la verdadera hazaña es haberlo hecho de una manera en la que es completamente necesario. Battle.net no solo es necesario para autentificarte, sino que además forma parte del juego. Sin Battle.net, sencillamente tu juego no funciona, y por lo mismo esta restricción no puede eliminarse con un crack y ya. Para poder eliminar la necesidad de una conexión permanente, necesitarías un servidor que emule Battle.net. No es que esté yo de acuerdo con el DRM, y por supuesto que me gustaría jugar Diablo III sin estar conectado a Internet (por ejemplo durante un vuelo, aunque mi laptop no tenga lo necesario para correrlo) pero es fascinante la tecnología detrás de un juego que literalmente le hacen falta piezas clave, y estas se encuentran en el servidor. ¿Alguien dijo uncrackable?

¿Por que? se preguntarán… bueno, en Diablo III parte de la funcionalidad del juego se encuentra ejecutándose en los servidores de Blizzard. Diablo III se comunica con Battle.net por medio de protocol buffers, los mismos que Google usa para la comunicación y ejecución de métodos remotos (RPC) en sus servidores. Tanto el cliente (o sea nosotros) como el servidor (Battle.net) define distintos servicios. Por ejemplo, el proceso que genera los niveles aleatorios (conocido como DRLG o Dungeon Random Level Generator) se ejecuta del lado del servidor aunque el cliente tiene cierto control sobre el proceso.

Todo bien pero, ¿y el juego? En lo personal, no decepciona. Ir con tus amigos en una partida mutijugador a atacar a las fuerzas del mal es tan divertido como lo era en Diablo II (el Diablo original nunca lo pude jugar online). Claro que fue frustrante no poder jugar el día de lanzamiento, aún cuando había preordenado el juego meses antes. Pero no es posible que la gente se queje del DRM en Diablo III siendo que se anunció perfectamente claro que así sería, que no se podría jugar sin estar conectado a Internet, que la conexión es requerida, aún en single player, por las razones que ya describí anteriormente.

¿Se hubiera podido desarrollar de otra manera, sin necesitar conexión a Internet permanente? Claro que si, ¿pero porqué habrían de hacerlo? Les funcionó tan bien en World of Warcraft, y aunque Diablo III no es un MMORPG, tiene suficientes elementos del mismo como para justificar el DRM tan agresivo.

¿PS3 completamente abierto?

Cesar January 3rd, 2011 cracking, hacks Haz un comentario

Update: El primer firmware custom ha salido a la luz. Lo que hace es habilitar la opción de instalar archivos pkg, y se puede instalar desde cualquier firmware sin necesidad de jailbreak. ¿Que cómo se le hace? Bueno, para eso la gente de PS3-Hacks.com han preparado un detallado tutorial. Esto NO te permitirá jugar copias de juegos (o sea, diga no a la piratería) sólo te permitirá instalar futuro homebrew o homebrew actual que sea re-empaquetado para funcionar sin un kernel modificado.

Update 2: Un excelente artículo de este hack, por la BBC.

Esteban me pregunta por correo: ¿Es cierto que el PS3 ha sido completamente hackeado? Bueno, eso depende de la definición de “completamente hackeado”. Lo que si es que al PS3 se le puede considerar como un sistema abierto; abierto a correr programas creados por terceros sin la autorización de Sony, y de la misma manera en la que lo hacen los juegos u otras utilerías oficiales, es decir desde GameOS.

Detalles
En días pasados se presentó en la 27C3 (Chaos Communication Congress) PS3 Exploit Hacker Conference, un exploit en la implementación de ECDSA por parte de Sony en el PS3. El resultado (muy simplificado) es la posibilidad de obtener el código mediante el cual se implementa la firma de los ejecutables. Esto en comparación de lo que ocurre por ejemplo, con el Wii. En el Wii el error está en la verificación de la firma, lo que permite el llamado fakesigning. En el PS3 los ejecutables firmados (SELFs) son idénticos a los usados por Sony, es decir son tan legítimos como los legítimos.

Impacto
Lo anterior permite básicamente un jailbreak sin necesidad de dongles USB, y la creación de aplicaciones que no pueden ser bloqueadas por Sony ya que se ven como si ellos mismos la hubieran autorizado. El resultado seguramente será una oleada de aplicaciones, así como también copias masivas no autorizadas de juegos para el PS3 como sucede con Wii, 360 y PSP.

¿Cómo le hago?
Por el momento aún se necesita estar en el firmware 3.41 y utilizar un dongle para el jailbreak. Hecho esto se puede firmar cualquier ejecutable, copiarlo al disco duro y ejecutarlo sin necesidad de resetear en modo jailbreak. Más adelante actualizaré este post conforme más información se haga disponible.

fail0verflow (Twitter). El grupo responsable del exploit en ECDSA, mediante el cual Geohot obtuvo la llave maestra.

Comentarios finales
Contrario a lo que reportan muchos, la clave aleatoria no es siempre “4″, es otro número mucho más grande pero no deja de ser constante. El famoso 4 viene de una tira de XKCD y solo lo usan para ilustrar el punto.

Darkhogg en el blog clopezi.es comenta de manera muy acertada, cómo es que funciona este “bug”:

Para los que no hayan visto el vídeo, la explicación es sencilla: Para encriptar los juegos, se utilizan, aparte de un porrón de claves públicas, dos numeritos PRIVADOS, m y k. De esos dos, k es la clave que utiliza sony para firmar, es única y sólo la conocen ellos. m es un número que no importa cuál sea, pero tiene un detalle: Si existen dos “cosas” encriptadas con la misma k (garantizado) y el mismo m, puede despejarse de una ecuación matemática bastante sencilla k. Por eso m tiene que ser aleatorio, o por lo menos que no sea siempre igual. Si Sony firma con un m constante, es como si no lo firmara, así de sencillo.

Aparente crack para PS3: PS Jailbreak

Cesar August 19th, 2010 cracking, entretenimiento 3 comentarios

En las últimas horas ha salido la noticia de un supuesto dongle USB que, al conectarlo al PS3, te permite copiar los juegos a una unidad externa para después ejecutarlos sin la necesidad del disco. El costo del dongle: $150 dlls. La noticia ha corrido como reguero de pólvora y no es para menos. De ser cierto, la última consola que quedaba de pie ante los crackers habría caído y de que manera. No hay nada que modificar, ni abrir la consola ni nada. Simplemente conectas el USB y listo.

Aparentemente no se trata de una unidad USB común y corriente, sino de un dongle USB. Es decir, no es una memoria, sino un modchip que se conecta al puerto USB con su propio procesador y firmware. Hasta el momento varias fuentes independientes han confirmado la autenticidad del producto, pero no ha llegado a manos de los consumidores.

Todo parece indicar que es real, pero hay $150 razones para esperar hasta una confirmación 100% confiable. Mientras eso sucede, pueden mantenerse informados en este mismo post que iré actualizando o en Ars Technica que ya cubrió la historia.

Update 1: Los Españoles de ElOtroLado han confirmado que se trata de algo 100% real. Visiten su post para más imágenes del dongle en funcionamiento.

Update 2 (tomarlo con una pizca de escepticismo): Se confirma que se ha filtrado desde un SAT de Sony, que se puede hacer de forma “casera”, que es posible que se bloquee en un futuro, que pueden marcar la consola para posibles baneos y que la distribución del JSJailbreaker (el software) será ilegal al incluir código propiedad de Sony. Fuente.

Update 3: Hay sospechas de que Geohot, el autor de los jailbreaks y unlocks para iPhone, esté detrás de todo esto. La sospecha viene de DemonHades y es bien sabido que no son mejores amigos, pero varias cosas tienen sentido como el hecho de llamarle Jailbreak (término popularizado por los hacks de Geohot al iPhone) cuando esto no tiene nada que ver con un Jailbreak.

Intentan crackear Starcraft 2 antes del 27 de Julio

Cesar July 18th, 2010 cracking, entretenimiento 2 comentarios

Logo Starcraft 2

Blizzard puso Starcraft 2 completo para descarga desde su sitio Battle.net. ¿La única condición? no lo puedes jugar sino hasta el 27 de Julio, y claro, necesitas tener una llave válida para poder instalarlo, la cual adquieres al comprar el juego. Claro que esto lo aprovecharon un grupo de personas para intentar crackear la protección del instalador y del juego, permitiendo instalar el juego antes del 27 de Julio.

Por la información del foro, al parecer son dos instaladores. El primero se encarga de obtener, vía Internet, digamos el permiso para desencriptar un segundo instalador. Este segundo instalador encriptado se encarga de instalar el juego.

Hasta ahora se han tomado varias aproximaciones, desde simplemente modificar archivos de configuración del instalador y jugar con la configuración de hosts del sistema operativo, hasta analizar a listado muerto el instalador y ver en donde se hace el chequeo para la desencriptación del juego.

Uno de los últimos mensajes del foro dicen:

Ok, creo que lo tengo. En 004CDEF hay un chequeo booleano que verifica si la llave de autentificación es buena. Si lo es, se mueve al EULA y lo que le sigue. Sin embargo si es falsa, se mueve a 0044D012 lo que significa que el archivo nunca se desencripta. Esto significa que necesitamos modificar validdecryptionkey para que siempre regrese TRUE. Después de analizar esta llamada, hay dos chequeos: el chequeo de la fecha con una llave válida, y si la llave es inválida se salta la desencriptación.

¿Será un simple chequeo tipo chico bueno, chico malo? No lo se, pero me es muy interesante ver si logran crackear la protección antes de la fecha límite. Yo, como muchos otros, planeamos comprar el juego retail en cuanto salga pero no por eso me deja de parecer un reto excelente, además que no estaría mal poder jugar antes del 27 de Julio :)

Este post se irá actualizando con más información a como se vaya obteniendo.

Update: Aparentemente el instalador usa Salsa20 para la encriptación.

Update: Después de editar el ejecutable, han logrado saltarse el primer mensaje de error en donde falla al abrir el EULA. Ahora ya abre la ventana y muestra el EULA y procede a la instalación sin necesidad de editar XML alguno. Aún así se necesita desencriptar.

Update: Bueno al parecer alguien confirma mis sospechas (y era lo más lógico, Blizzard no son novatos en esto de la distribución online): La llave que pide el instalador, es necesaria para desencriptar los archivos. Aún modificando el instalador para que acepte cualquier llave (la simple modificación del salto propuesta por muchos), la llave correcta es necesaria para la rutina de desencriptado. Sin desencriptado no hay gloria.

Difícilmente alguien va a poder crackear esa rutina de desencriptado en tan poco tiempo. La única manera sería que la llave en si esté dentro del binario del juego algo que ya sabemos que no es así (Blizzard proporcionará la llave el 27 de Julio por Internet).

Por lo pronto la gente lo sigue intentando, pero cada vez se ve mas lejano.

El PS3 ha sido hackeado

Cesar January 22nd, 2010 cracking 2 comentarios

Finalmente lo inevitable sucedió. George Hotz ha superado las barreras impuestas por el hypervisor del PS3, teniendo acceso total a la memoria del sistema y al CPU. Este es el anuncio oficial:

I have read/write access to the entire system memory, and HV level access to the processor. In other words, I have hacked the PS3.

Lo que sigue es esperar a la implementación de un exploit y ver cómo se desarrolla la comunidad del homebrew alrededor de esta consola.

Tiempo total de hackeo: 5 semanas. Can’t wait.

Crackeando el PS3: El estado actual

Cesar January 19th, 2010 cracking, entretenimiento, gadgets 2 comentarios

El PS3. Esta consola de séptima generación, y el tercer miembro de la familia PlayStation. Desde su lanzamiento en Noviembre del 2006 muchos crackers se han dado a la tarea de romper las barreras impuestas por el hypervisor y abrir la posibilidad de ejecutar código de terceros en esta máquina.

Primero que nada, ¿Qué es un Hypervisor? Según la Wikipedia, es un monitor de hardware o software que permite la ejecución de varios sistemas operativos en el mismo hardware. Existen dos tipos: Tipo 1 o nativo son los que corren directamente en el hardware. Tipo 2 son los que corren como cualquier otra aplicación del sistema operativo (como VirtualBox o VMWare)

Una visita a los foros de PS3-Scene revela poca actividad alrededor de la escena del PS3. Hace ya lo que parecen siglos Paradox, uno de los grupos más respetados en el mundo del cracking, anunciaba que tenía un iso loader listo para el PS3. Algo así como el santo grial, que nunca llegó.

Después vino IronPeter, un hacker de Rusia que logró tener acceso a algunos de los registros del RSX (la tarjeta de video del PS3) y con eso permitir la aceleración 2D para aplicaciones que se ejecutan desde OtherOS (GNU/Linux), lo que en teoría significa poder tener juegos y otras aplicaciones como Boxee o XBMC corriendo en el PS3 bajo GNU/Linux. La discusión técnica se encuentra en los foros de PS2Dev. Desgraciadamente la manera para aprovecharse de este bug es por medio de OtherOS, es decir la capacidad que tenían modelos anteriores de ejecutar otro sistema operativo. Hablo en pasado ya que el nuevo PS3 Slim ha eliminado el soporte para OtherOS, cosa que no me sorprende en lo absoluto.

A la fecha no se ha abierto el PS3 al homebrew. Es el turno de Geohot (a.k.a. George Hotz, master del iPhone) de probar suerte. Ya ha creado un blog “On the PlayStation 3” al igual que sucedió con el ahora famoso “Finding JTAG on the iPhone”. Pura lectura técnica y altamente interesante. Si la escena va a reportar adelantos próximamente, este es el lugar para estar atento.

Usando BackTrack 4

Un área donde realmente brilla GNU/Linux es el de aplicaciones para el análisis y mantenimiento de redes. Unix, el SO del que se basa GNU/Linux, es donde fue hecha la mayor parte del desarrollo de las aplicaciones originales que forman Internet. Además, la naturaleza abierta de GNU/Linux significa que es la misma comunidad la que se encarga de crear sus propias distribuciones, mismas que pueden ser tan generales o específicas según se necesite. Gracias a esto, se tienen distribuciones (o distros) para crear cortafuegos, centros de medios, discos de rescate y, en el caso de BackTrack, auditoría de seguridad.

BackTrack se basa en Debian y cuenta con versiones para DVD-Live y USB, de tal manera que los usuarios pueden ejecutar las múltiples aplicaciones que incluye sin modificar su sistema operativo actual.

En esta ocasión me voy a centrar en dos de los múltiples usos que se le puede dar a BackTrack: penetrar una red “protegida” con WEP y hacer ingeniería inversa a un binario de Windows. Leer el resto de este post.

Geohotz a.k.a. mi heroe se propone a hackear el PS3

Cesar August 17th, 2009 cracking, hacks 1 comentario

Leo en un post a twitter de la cuenta de George Hotz, el responsable de hacks famosos como el desbloquedo del baseband 1.2 para el iPhone, y mi heroe personal, que planea dedicarse a hackear el PS3.

El PS3 es el único videojuego de actual generación que no ha sido hackeado. La escena actual gira alrededor de GNU/Linux y hacks menores en versiones del firmware pasadas. Un hack en todo el sentido de la palabra abriría las puertas a homebrew nativo, es decir, sin utilizar la JVM del Blu-Ray o GNU/Linux. Correr con los mismos privilegios con los que corre un juego, bajo el mismo OS. Podríamos tener Boxee o XBMC corriendo de manera nativa, un verdadero sueño. Claro, también vendrían otras cuestiones como la piratería.

Por el momento la escena del PS3 se acaba de poner más interesante por un orden de magnitud. Espero que Geohotz haga público su avance y su código.

Jailbreak del iPhone 3GS

Cesar June 28th, 2009 cracking, gadgets, hacks Haz un comentario

Geohotz lo ha conseguido de nuevo y muestra una captura de pantalla de su iPhone 3GS corriendo homebrew: una terminal.

El Jailbreak aún no se hace público, pero esperen eso muy pronto.

De la moralidad de crackear redes WiFi

Cesar November 12th, 2008 cracking, opinion 26 comentarios

Recientemente hice públicos (via Twitter) algunos comentarios sobre mi actividad de “auditor de seguridad” en redes WiFi cercanas a mi residencia. Las reprimendas no tardaron en llegar, argumentando si esta bien “aprovecharse de los demás solo por no saber usar bien las cosas”. Lo anterior dio pie a que me pusiera a analizar a fondo el tema.

Llamo crackear una red WiFi al hecho de obtener la contraseña WEP de una red protegida para después utilizarla como si fuera la propia. Dejemos a un lado lo que se piensa hacer con la red: avisarle al 911 sobre un posible secuestro o administrar una BotNet para enviar millones de correos SPAM, da lo mismo. Más bien, aquí lo que se discute es si el hecho de usar la red esta bien, mal, o ninguna de las anteriores.

Es como si yo usara tu carro solamente porque se abrirlo.

Lo anterior fue uno de los argumentos que me dieron. Yo cierro mi carro con llave, le pongo alarma y bastón con la esperanza de que sea difícil de robar y creo que esta combinación aleja a la mayoría de los ladrones. También protejo mi red con filtrado mac y encriptación WPA-PSK y espero con eso mantener al margen a la mayoría de las personas que traten de usar mi red WiFi. De ninguna de las dos (protección de carros y protección de redes WiFi) soy experto, pero hago lo mejor que puedo con mis recursos y conocimiento. Si me llegan a robar mi carro porque lo deje abierto sin alarma y sin bastón me culparía a mi por la estupidez cometida.

Con lo anterior no digo que sea correcto penetrar la red WiFi de otras personas sin su consentimiento, de hecho es ilegal en algunos países. Lo que si considero es que no es una pregunta sencilla de contestar y recae en el área gris de lo aceptable, al igual que otras prácticas como la ingeniería inversa en donde, caso curioso, dependiendo del uso que se pretenda darle puede ser o no moralmente aceptable (¿ingeniería inversa de virus?). En el caso de las redes WiFi se decide no ver el uso que se pretende darle y solamente se enfocan en el hecho de utilizar la red para decir “es malo, te estas aprovechando de los recursos que otro pagó”. ¿Por qué?

Espero su opinión en los comentarios.

Posts anteriores