Geek & Roll » hacks

Cargando recursos binarios desde JavaScript

Desde que Google mostró al mundo su port de Quake 2 a JavaScript usando GWT, no me podía sacar una pregunta de la cabeza: ¿Cómo hacen para cargar los recursos (como por ejemplo los modelos de los jugadores, o los niveles) desde el servidor al cliente, para su uso por el motor del juego en JavaScrip? ¿Es posible obtener archivos binarios del servidor, guardarlos en el sistema de archivos local, y ejecutarlos finalmente por una aplicación en JavaScript? La respuesta obviamente era sí, pero no sabía cómo.

Pero una consulta al código fuente del proyecto quake2-gwt aclaró las dudas. El secreto es sobreescribir un tipo MIME, lo que le permite al objeto XMLHttpRequest recibir respuestas binarias en vez de texto, para lo cual es más comúnmente utilizado.

function load_binary_resource(url) {
  var req = new XMLHttpRequest();
  req.open('GET', url, false);
  //XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
  req.overrideMimeType('text/plain; charset=x-user-defined');
  req.send(null);
  if (req.status != 200) return '';
  return req.responseText;
}

En GWT necesitamos hacer uso de una funcion JavaScript nativa (JSNI) para lograr lo mismo:

private native void overrideMimeType(XMLHttpRequest req, String mimeType) /*-{
    req.overrideMimeType(mimeType);
}-*/;

Y finalmente crear un objeto XMLHttpRequest, hacer la petición y procesar los datos binarios en el cliente:

XMLHttpRequest req = XMLHttpRequest.create();
overrideMimeType(req, "text/plain; charset=x-user-defined");

req.setOnReadyStateChange(new ReadyStateChangeHandler(){
    //procesar la respuesta binaria
});

req.open("GET", "archivo.binario");
req.send();

Para convertir la respuesta en un InputStream, en este caso utilizando GWT y clases de emulación io y nio que tomé prestadas del proyecto quake2-gwt:

response = xhr.getResponseText();
byte[] responseBytes = new byte[sbb.stringToByteBuffer(response).remaining()];
InputStream inputStream = new ByteArrayInputStream(responseBytes);

En este punto pueden usar el InputStream como lo harían en un programa Java tradicional, por ejemplo si cargaron los bytes de una imagen, pueden aplicarle filtros a-la-photoshop, en tiempo real, en el cliente, sin necesidad de procesamiento en el servidor mas allá de descargar la imagen.

Como conectarse a la PSN sin el firmware 3.21

Cesar April 5th, 2010 hacks, internet, tips 7 comentarios

PS3

UPDATE: Geohot ha liberado un video en donde se muestra su custom firmware que permite actualizar a 3.21 manteniendo OtherOS. El firmware se instala como cualquier otro, es un archivo PUP modificado y no hay que abrir el PS3 ni nada por el estilo para instalarlo.

El firmware 3.21 para el PS3 vino, y nos quitó la opción de OtherOS. Claro, podemos elegir no instalarlo con el ligero efecto secundario de no podernos conectar a la PSN, ni bajar demos, o jugar en linea, ni descargar The Tester. Those bastards…

¿Que hacemos?

Podemos configurar un proxy, de tal manera que el PS3 se conecte a nuestra PC, y sea nuestra PC la que haga de PSN y así poder descargar contenido. Pero hay una manera mucho más sencilla.

Ve a las opciones de conexión de tu PS3, y configura tu conexión para una IP fija. En DNS pon lo siguiente:

67.202.81.137

Esa es la mágia. Prueba tu conexión y verás que se conecta a la PSN, puedes jugar, descargar, todo. Analizando la IP mágica, tiene un Web Server habilitado que dice de manera muy elocuente:

NOW DANCE FUCKER DANCE, MAN HE NEVER HAD A CHANCE

Srsly, gtfo.

Un momento… ¿Es seguro?

Esa IP es un DNS resolver, que redirecciona cualquier petición hecha a *.ps3.update.playstation.net a un web server local, que a su vez te envía un archivo updatelist.txt modificado que le dice a tu PS3 que está actualizado, no es necesario un upgrade, y por lo tanto se conecta a la PSN.

Sinceramente no se si es posible interceptar las credenciales enviadas, si es que se envían en texto plano, y por lo tanto comprometer la seguridad de tu cuenta de PSN.

Si la IP se muere, posteo el método del proxy.

Fuente: http://www.ps3-hacks.com/tag/ps3-proxy/

Nos fusilaron la Hackintosheada

Rafyta April 5th, 2010 hacks 5 comentarios

hackintosh-mercado-libre

Unos hackintoshers que extendieron sus tentáculos hasta Mercado Libre nos apañaron una imagen que aparece en el post HackBook: convierte tu laptop en una Mac y que photoshopié yo solito.

La neta este no es un post hecho por rencor o de reclamo; en realidad me entusiasma que gente como estos vatos se pongan la pila y depuren el método de Hacking para que más personas puedan disfrutar OS X en casi cualquier computadora y además con soporte técnico y a un precio muuuuuy accesible.

¡Kudos a raza como ellos!

Wii Nirvana: USB Loader

Wii Nirvana es ese estado en el que te encuentras totalmente satisfecho con la modificación de tu Wii. Una cosa es hackearlo, instalarle el Homebrew Channel y ejecutar todo con consolas crípticas y música metalera de fondo, y otra muy distinta es Wii Nirvana, en donde todas las partes se integran perfectamente como si así viniera de fábrica.

USB Loader GXEl USB Loader es una parte fundamental de cualquier Wii hackeado. En mi opinión, es el hack definitivo, algo equivalente a XBMC para el Xbox 1, algo que hace exponencialmente mejor la experiencia de utilizar el Wii. Con el USB Loader podemos guardar imágenes de respaldo de nuestros juegos de Wii. El resultado es una experiencia integrada, un canal en el dashboard que te muestra todos los juegos que tienes respaldados en tu disco duro externo, y con solo seleccionar el juego de la lista comienzas a jugar. Sin discos, ni levantarte del sillón.

Primero, asegúrate de tener lo siguiente:

  1. Un Wii con el Homebrew Channel instalado y funcionando
  2. Un disco duro externo USB, con una partición FAT(16 o 32)
  3. El WAD Manager de Waninkoko instalado, y saber como usarlo
  4. Conexión WiFi en el Wii
  5. Una memoria SD

Cuando le hayas puesto palomita a todos los requisitos anteriores, procedemos por nuestro Wii Nirvana. Yo ya hice el trabajo sucio, así que evítense la pena de probar cuando loader y canal se encuentran, el mejor es el USB Loader GX.

Guía rápida
Si ya eres master y no necesitas que te digan cada uno de los pasos detalladamente, esto es lo que tienes que hacer:

  1. Instalar el cIOS222/223
  2. Copiar el DOL del USB Loader GX a la memoria SD, dentro de la carpeta Apps. Elegir la revisión más actualizada.
  3. Ejecutar el DOL por medio del Homebrew Channel, o instalar un canal forwarder
  4. Eso es todo

Guía detallada 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 para iPhone 3GS liberado

Cesar July 3rd, 2009 aplicaciones, gadgets, hacks, hax0rs 6 comentarios

George Hotz (a.k.a. mi héroe) lo ha conseguido de nuevo. Hoy ha liberado una herramienta que hace uso de un exploit documentado en posts anteriores y logra permitir acceso libre al sistema de archivos del nuevo iPhone 3GS. En otras palabras ya hay jailbreak para iPhone 3GS.

La aplicación se llama purplera1n, sólo funciona bajo windows (no 7) actualmente y necesita de la última versión de iTunes. Conectas tu iPhone 3GS, presionas “make it ra1n” en la aplicación, esperas a que reinicie y ejecutas Freeze en el iPhone, que es el installer app de purplera1n.

Sobra decir que todo esto es gracias a George Hotz y sus 31337 h4×0r skillz.

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.

Downgrade al iPhone 3GS

Cesar June 22nd, 2009 hacks Haz un comentario

George Hotz ha actualizado su blog con información de último momento sobre el nuevo iPhone 3GS y la capa extra de seguridad.

Se habla básicamente de una nueva clave de protección, llamada ECID, que es generada de manera única para cada teléfono al activarlo con iTunes. Hotz indica que es muy probable que no se permitan downgrades en teléfonos nuevos, lo cual podría ser necesario para utilizar exploits.

Nos mantendremos al tanto de cómo se desarrolla la escena del hacking para el iPhone 3GS.

Ya compré mi consola, ¿ahora qué?

Cesar May 29th, 2009 aplicaciones, gadgets, hacks, linux 11 comentarios

Frecuentemente recibo una pregunta más o menos así

Güey! me acabo de comprar X consola, la tengo conectada a mi nueva y flamante HDTV, un sistema de sonido envolvente Boss y una hielera llena hasta el tope. ¿Qué cosas curadas se pueden hacer?

Después de atender el asunto de la hielera, estas son algunas de las cosas que se pueden hacer con dos de las consolas de la actual generación (PS3 y Wii).

PS3

  • Instalarle GNU/Linux. El soporte para instalar otros sistemas operativos en la consola es de primera mano, es decir, esta soportado de fábrica. No es necesario modificar la consola de alguna manera. Con GNU/Linux instalado, tienes una computadora con 6 cores a tu disposición. Aunque Sony restringe el acceso al uso del sintetizador de realidad (RSX) por medio de un hipervisor, hackers dentro de la escena del PS3 han estado ocupados permitiendo su uso, abriendo la gama de posibilidades con el homebrew en PS3.
  • Ver contenido en Full HD (otro término para 1080p). El PS3 es uno de los mejores reproductores blu-ray en el mercado: es actualizable por medio de la red (future-proof), cuenta con disco duro, la calidad de imagen es suprema, puedes descargar videos en 1080p directamente en la consola desde la Playstation Store, todo esto mientras te encuentras conectado a la Playstation Network y te mantienes en contacto con tus amigos. Si se te antojan unas retitas, también tiene la capacidad de correr juegos.
  • Ver contenido guardado en tu red doméstica. El PS3 tiene soporte para UPnP, lo que significa que si tienes una PC conectada a tu red con contenido como videos (en múltiples formatos), fotos o música, puedes reproducirlos en tu flamante HDTV por medio de la red (cableada o inalámbrica) siempre y cuando la PC tenga un servidor UPnP instalado. Para GNU/Linux y Mac existe Mediatomb del que he hablado ya varias veces. Si no tienes una red, puedes conectarle cualquier dispositivo de almacenamiento masivo por medio de USB.
  • Curar el cáncer. Bueno, tan siquiera ayudar a hacerlo por medio de folding@home mientras tu PS3 se encuentra sin mucho que hacer.

Wii

  • Hackearlo e instalarle el homebrew channel. Con esto tienes acceso a cientos de aplicaciones: emuladores, juegos, administradores de canales, reproductores de DVD, y un largo etcétera. El homebrew channel vuelve a la vida a cualquier Wii abandonada.
  • Recordar los clásicos que te tuvieron pegado horas a tu nintendo. Jugar Punch Out!, Super Metroid, Mario 3, The Legend of Zelda: A Link to the Past, Mario 64, Goldeneye, Super Street Fighter 2 con sus virtudes y defectos originales no tiene precio. Dicen que recordar es vivir.
  • Usar el Wiimote en tu computadora y hacer proyectos interesantes con él.
  • Mantener a tu esposa ocupada jugando tetris por horas y horas y horas…
  • Ponerlo enseguida del PS3 y comparar su tamaño.

Pareciera como si el número de actividades en el Wii es más limitada, pero no lo es así. La escena del Wii es mucho más activa y es más interesante actualmente que la del PS3, simplemente por el hecho de que en el PS3 aún no se puede correr código no firmado (ejecutando sin restricciones, como el acceso al RSX)

Xbox 360
Ayúdenme en los comentarios. No tengo uno :(

Softmod al Wii. Respaldos sin chip.

Cesar April 5th, 2009 hacks, lol 13 comentarios

Estos son los pasos que seguí para aplicarle un softmod a tu consola Wii:

  1. Instala el homebrew channel con el Twilight Zelda de tu amigo Jhonny
  2. Haz upgrade cada vez que la consola te lo pida, hasta quedar en la versión 3.4U
  3. Busca en google sobre si es posible hacer un softmod. Lee 274 guías distintas sobre eso
  4. Intenta seguir las guías, fallando miserablemente todas y cada una de las veces
  5. Comienza a pensar que no sabes seguir instrucciones, trata de seguir las guías una vez mas
  6. Lee por casualidad que si te encuentras en la versión 3.4U tienes que hacer downgrade
  7. Trata de hacer downgrade manualmente, falla de nuevo
  8. Descarga Softmii y por fin logra hacer funcionar el maldito IOS Downgrader
  9. Comienza a pensar que todo esto no vale la pena
  10. Instala CIOSCORP mientras te desayunas un cereal y ves la lista de OK! pasar por la pantalla
  11. Instala el Preloader, resetea y date cuenta que tu Wii ya no bootea
  12. Paniqueate un poco, piensa en cómo le vas a explicar a tu esposa que cuando despierte su Wii ya no funciona y que su nueva adicción a Wii Sports ya no podrá ser
  13. Regístrate en cuanto foro encuentres sobre Wii Hacking y postea tu situación
  14. Descubre el SaveMii y el SaveMiiFree, decídete por mandar pedir el SaveMii de Europa y paga 25 euros por él
  15. Checa compulsivamente tu post en el foro
  16. Una vez que te den respuesta, intenta booteando el Wii con el botón reset presionado. Ve que Preloader carga de nuevo
  17. Bootea el HomeBrew Channel desde el Preloader y llora de la felicidad
  18. Olvídate de los 25 euros que acabas de gastar
  19. Ejecuta el AnyRegion y trata de correr el downgrader otra vez ya que la esposa no ve nada bien que su Wii no funcione exactamente igual que antes
  20. Espera mientras AnyRegion termina de hacer su magia. Explícale a la esposa por qué no puede ni ver la TV ni usar la PC mientras el proceso termina
  21. Cede y pon la TV. Rézale a tu deidad favorita que todo salga bien
  22. Reinicia
  23. Baila de felicidad al ver que todo regresó a la normalidad y ahora tienes un sistema 3.2U

Como ven, es bien fácil.

Posts anteriores