Archivar por septiembre, 2008

MAME: El emulador que nos faltaba

Share on Google+Share on FacebookTweet about this on Twitter

Ojeando Cydia a lo largo del día me he topado con algo interesante. Si si, ya se que tenemos emuladores de PSX, de GBA, NES, Genesis, ScummVM… pero personalmente nada como el bueno de MAME y los clásicos de siempre.

De la mano de ZodTTD de nuevo… ¿Quien dijo que el JB no sirve para nada? Otra razón más.

Que buenos tiempos aquellos en los que te ibas con la paga semanal en las maquinolas, cambio en monedas de 25 y a disfrutar como niños… como niños que éramos. Lo peor de todos señores, al menos en mi caso, aun recuerdo muchos de los trucos, habilidades, rincones… de algunos de aquellos juegos.

Para aquellos nostálgicos como yo:

Posiblemente de los mejores juegos que jamás existirán.

El emu? Funciona perfectamente. Quizás se echa en falta un modo apaisado, pero bueno… no nos quejemos verdad?

iPhone 3G iPod Touch Nuevo: Avances

Share on Google+Share on FacebookTweet about this on Twitter

En el post anterior indicábamos brevemente lo que se está cociendo estos días.

Está claro que el iPhone 3G es el punto fuerte, dado que por ahroa no se ha logrado liberar. Por otro lado el iPod Touch nuevo permanece aun sin JB. Se cree que al realizar el JB al iPod Touch nuevo, tambien abriría algunas puertas a la liberación del iPhone 3G, por ello siguen sendas similares.

Por ahora no hay nada concluyente.

Está claro que una vez que se crease una firmware personalizada parcheada y se introdujese en el dispositivo, problema resuelto. El problema es crear esa imagen personalizada y parchear los archivos en cuestión, sin que el kernel del iPod Touch nuevo lo rechace. Para que no rechace la nueva firmware es necesario saltarse la protección de firma del kernel. Para todo ello hace falta saltare ciertas protecciones.

La primera es evidentemente obtener las keys que nos dejarán tener acceso a las rutinas de arranque del sistema (por así decirlo, aunq no es del todo cierto). En el dispositivo todas las rutinas importantes están encriptadas. Son desencriptadas o por certificados o por AES, de una u otro forma son tramitadas internamente en el hardware del dispositivo. Al no tener esas llaves y necesitar el contenido de ciertas zonas de la memoria, no queda otra que obtenerlas desde el dispositivo una vez que están desencriptadas. Esto se puede hacer, pero antes de poder hacerlo de nuevo, hace falta poder ejecutar código no firmado… es la pescadilla que se muerde la cola.

Se ha visto que el modo DFU es similar en el iPod Touch nuevo. Luego lo primero que se ha intentado (Sin éxito por ahora) era el método de Pwnage. El problema es que el Hardware AES del dispositivo es nuevo, y tiene una nueva Key GID. La clave GID como ya hemos dicho en otro lado, es una clave compartida por todos los dispositivos. Para todos es la misma… hasta la fecha. Antes no hacía falta saber la Key, dado que la key se usaba conjuntamente con otra cadena para dar como resultado la Key 0x837. Esta Key última es la que se usaba y se usa para la encriptación de muchas de las rutinas antes comentadas, así como de los archivos IMG2/3. Ahora mismo, hasta la fecha, aun no se conoce siquiera la AES GID Key de los iPhone y los iPod Touch viejos, y en todos es la misma. Pero si que sabemos que la GID Key en los Touch nuevos es diferente, luego aun cuando nada más hubiese cambiado, la Key 0x837 habría sido modificada, y sin tener acceso a ella…

Como no tenemos la GID Key ni la Key 0x837 en el dispositivo nuevo, la única forma de poder desencriptar el contenido es directamente en el mismo iPod Touch. Es decir, sabemos que el dispositivo puede “invocar” el motor AES y realizar la desencriptación en él. Esto es lo que se ha intentado. El problema es que para poder realizar dicha invocación se debe de permitir código no firmado. Hay que comprender que todo lo que se realiza es al final para lo mismo: Poder ejecutar código no firmado en el dispositivo, y así poder hacer y deshacer lo que deseemos. Como decía antes la pescadilla que se muerde la cola.

Mucho es ir repitiendo, lo sé, pero mejor ir poco a poco para intentar más o menos ir explicándolo.

Sabiendo todo esto el proceso que se ha intenado llevar a cabo (repito, sin éxito) ha sido el siguiente:

Indudir el dispositivo en DFU (no hay problema con esto)

Enviar el archivo de iniciado iBBS (Todas las firmwares tienen un archivo iBBS que se carga nada más poner el dispositivo en uno de sus modos, existe uno para cada modo de operación. Es digamos un archivo que incluye toda la secuencia de iniciado del sistema… un archivo descriptor del proceso a realizar.

Una vez el iPod Touch nuevo acepta el modo DFU se podría en teoría también subir un archivo IBBS de una versión antigua de iPod Touch viejo, en particular la versión beta 4 de la 2.0. Por qué esta versión? porque después de esta apareció el IMG3 y el sistema se complicó. Hay que tener en cuenta que lo primero es lograr un acceso, sea cual sea, una vez se consiga se podrían obtener keys y sistemas mejores. Esto se pensó que sería posible dado que se hizo lo mismo con el iPhone 3G y funcionó bien, es decir, si al iPhone 3G le envias un IBBS del iPhone antiguo de la versión 1.1.4, comienza la inicialización también.

Una vez que el dispositivo se encontrase iniciado con el IBBS de restauración de la versión 2.0 beta 4 del iPod antiguo, se podría usar una herramieta creada por Cwm (si, el creador de Winpwn) gracias al trabajo de George Hotz, para tener acceso interactivo del iboot. El iboot es por asi decirlo como un pequeño programa de iniciación que se coloca para hablar con los sistemas de restauración, ejecución del sistema… etc. Al cargar el IBBS el iboot sería accesible con esta herramienta. Por ejemplo el antiguo iPhuc se trataba de esta herramienta, aunq menos sofisticada. Igualmente gracias a esta herramienta sería posible usar un sistema para invocar el uso del hardware AES para poder desencriptar los archivos necesarios.

Lo siguiente sería por lo tanto subir el archivo que deseamos desencriptar usando el hardware AES. Pero para poder subir un archivo y ejecutar código ya hemos dicho que no es posible. Existe un método antiguo, un exploit (que llamaremos “diag”) que no se comentó mucho (yo no lo conocía) que permitía también ejecutar código sin firmar. Este exploit se corrigió en la versión 2.0, de ahí la importancia también de usar una firmware antigua. Una vez se subiese el archivo en cuestión (posible por el exploit) se podría invocar el hardware AES (gracias a iboot) y desencriptar en el mismo iPod el archivo necesario.

Una vez se tuviese por fin esa desencriptación se podría proceder por lo tanto al parcheo de los archivos necesarios, los archivos IMG3, la reconstrucción de la firmware… etc.

Todo esto evidentemente se quedó en teoría. No ha sido posible hacerse. Para empezar no fue posible enviar el IBBS del iPod Touch viejo…

Por otro lado, de poderse hacer todo lo citado, dado que se estaba usando el exploit “diag”, este exploit deja de tener efecto una vez que el sistema se reinicia, se restaura, se apaga… con lo que habría que comenzar todo de nuevo. Es decir, de poder hacerse y todo hubiese sido perfecto, tan solo duraría un corto período de tiempo.

De todos modos como digo no ha sido posible al final realizarlo de este modo. La principal prioridad sigue siendo dos:

1º. Poder desencriptar el KBAG (digamos que es algo así como partes de los archivos IMG3). Y para desencriptar esto solo hay dos opciones: Hacerlo desde el mismo iPod usando su propio hardware AES o extrañendo las Keys de algún modo.

2º. Lograr ejecutar código sin firmar, dado que conseguir los certificados de firma de Apple sería imposible

Frente a las dos cuestiones, la primera se ha intentado de una forma, y ahroa se intentará de la segunda. Esto es, intentado acceder directamente al hardware e intentar extraer por métodos hardware la GID Key.

Frente a la segunda cuestión, lograr los certificados será imposible. Lograr un sistema para saltarse el chequeo es la solución, pero para ello lo primero son las Keys igualmente. Una vez se tengan las Keys AES se podrá pensar en la solución de lo segundo.

Comprendo que es un poco complicado comprender todo esto… y parte de la información que he escrito es incompleta e imprecisa en algunos puntos. Tan solo quiero decir con todo esto que no es nada facil la “lucha” que se lleva a cabo. Tampoco sabemos si Apple ha puesto otras medidas de seguridad que desconocemos.

Por ahora hay investigaciones, pero cuando parece estar la solución cerca… se aleja un poco más, ya que se van agotando cartuchos. Quizás un nuevo exploit abra las puertas al sistema o quizás la solución venga por algo más simple que todo esto.

Ya veremos que sucede

Firmware 2.2 beta: Jailbreakada

Share on Google+Share on FacebookTweet about this on Twitter

Apple está preparando la versión 2.2 de su software. Evidentemente ya sea por puro placer del Dev-Team han confirmado otra vez más que Apple no puede hacer nada con su sistema mientras no modifique el Hardware del dispositivo (cosa que hizo en el iPod Touch nuevo)

Por otro lado la liberación del iPhone 3G o el JB al iPod Touch nuevo continua siendo un misterio. Según su blog durante este fin de semana probarán sistemas hardware para intentar conseguir el acceso al sistema. Hay que comprender que conseguir acceso al sistemas es un primer paso mu importante, aunque este acceso tan solo sea posible hacerlo por Hardware. Una vez realizado, si se consigue ejecutar código no firmado o la extracción (aunque sea por hardware) de alguna de las keys, abriría la puerta a muchas posibilidades. Claro que por ahora todo esto tan solo se queda en el plano teórico, y aun queda u largo camino.

Como hemos dicho otras veces, que sea posible o no un JB al iPod Touch nuevo, tan solo el tiempo lo dirá. Quizás mañana, quizás dentro de una semana o quizás nunca.

Apple: ¿Mala prensa o hay algo de verdad?

Share on Google+Share on FacebookTweet about this on Twitter

No me gusta criticar ni usar mi blog para poner en tela de juicio las estrategias o la moralidad que tenga Apple hacia cierto tipo de cosas. Tan solo cuando veo algo que es demasiado “Claro” hago uso de mis letras para, al menos, que se conozcan las cosas.

De nuevo si alguien se pregunta, no, no trabajo para MS, no, no odio a Apple.

Primero vamos a intentar ponernos un poco en situación. Todo comienza cuando Apple lanza el SDK y el método que usará para que los programadores puedan tener sus aplicaciones en el Store.

Cualquier programador que quiera publicar su aplicación en el Store lo primero que tendrá que hacer será pagar por tener ese privilegio. Según Apple en concepto de revisión del software, las Keys de firma… lo que es cierto es que esto son 99$ para quienes quieran crear aplicaciones y ponerlas en el Store, sean usuarios o emrpesas, y 299$ para aquellas empresas que quieran crear software para dentro de la misma empresa. Este método suena un poco raro… para quien no lo sepa tan solo decir que hay otros métodos de instalar aplicaciones que no son por medio del AppSTore, tambien se puede hacer esto distribuyendo las aplicaciones por WIFI.

Es decir, un programador casero ya de por sí se tiene que gastar los 99$, quiera poner su App gratuita o de pago. Pero la cosa no se queda ahí. Una vez realizado el desembolso tiene que crear la aplicación y cuando esté terminada enviarla a Apple, y esperar que dicha aplicación sea aceptada por ellos. Y aquí comienza el problema, en una lagar lista:

1º. Tiempo de respuesta de Apple para la aceptación o no de la aplicación. No solo de aplicaciones nuevas, sino también de actualizaciones. Hay programadores que han dicho que han tardado hasta dos y tres semanas para aceptar las actualizaciones.

2º. Una vez que Apple contesta el segundo problema. Se acepta o no se acepta?. Lo gracioso es que los términnos de aceptación o no de las aplicaciones de Apple varían cada día y completamente de forma anárquica. Es decir, digamos que Apple rechaza las aplicaciones que le da la gana. Por ejemplo, y esto no es nuevo, hay programadores que simplemente le han echado hacia atrás sus aplicaciones por una mala traducción, por incluir palabras como “culo” “teta” “mierda”… lo gracioso es que otras muchas aplicaciones con tales defectos las aceptan sin problema. Esto no era algo nuevo, lo nuevo viene ahora.

Recientemente Apple ha ido rechazando aplicaciones que ellos concevían que tenían las mismas funcionalidades que las ya creadas por Apple. Es decir, la primera con notoriedad fue una aplicación que pretendía la descarga directa de PodCast en el dispositivo. Apple le contestó que la tenía que rechazar, puesto que iTunes ya disponía de la opción de introducir PodCast y que dicha aplicación no aportaba nada nuevo. Cosa evidentemente además falsa, pues aunque las dos cosas sirven para descargar y meter Podcast el sistemas es completamente diferente. Además la aplicación permitía usar Podcast de muchos sitios.

Bueno, su creador que por supuesto ya pagó los 99$ o 299$ para publicarla, se ha quejado y reconocido que si Apple sige negándose distribuirá su App por WIFI (cosa que se puede hacer).

Pero hace un par de días saltó otro problema igual. Apple impedía que una aplicación que servía para gestionar las cuentas de Correo de Gmail apareciese en el AppStore. La contestación de Apple fue clara: Ya existe la aplicación mail que está para tal efecto. Y da igual si la aplicación nueva es mejor o peor que la de Apple, simplemente esa aplicación no aparece y listo.

Ah, pero la historia no se queda ahí. Apple a la vista de estas quejas de los programadores en Internet, en blogs… ha modificado los terminos de las licencias y contratos para que las mismas cartas de aceptación y cancelación estén amparadas bajo NDA, es decir, que la información que se transmite por esas cartas de Apple a los programadores SON privadas, no puede hacerse público su contenido. Evidentemente para que no nos enteremos nunca de los actos abusivos de Apple. Vamos, que quien firme o esté de acuerdo con dichos términos, no puede hablar al respecto de la cancelación de Apple, puesto que sería ilegal. Sin entrar mucho en política es lo que pasa en China. En china nunca sucede nada malo, no hay prensa negativa!! con lo que a ojos de los ciudadanos todo es perfecto y armonía. Apple dice: “Esto es mala prensa, tenemos que hacer algo” Y en vez de modificar su política un tanto absurda pone trabas legales a que se conozcan los intereses de Apple. Increible verdad?

Claro que si no estás de acuerdo con los términos de Apple, simplemente no puedes publicar aplicaciones. Es un poco como AdSense de Google. Si aceptas las condiciones te estás exponiendo a que hagan contigo lo que quieran cuando quieran. Como si en cualquier momento Apple cree que tiene que suspender una aplicación. El motivo no importa, simplemente ellos tienen la sartén por el mango.

Después aun dicen en muchos sitios si el JB seguirá siendo viable o no, si el AppStore acabaría con el JB o que si el JB tan solo persiste para piratear las aplicaciones del Store. No señores. Los programadores cada vez están más artos de la política de Apple con el Store. Si es cierto que al principio muchos se fueron al Store de Apple para probar suerte y sacar algo de dinero, muchos están volviendo y volverán más, a Cydia y otros sistemas en los que Apple no meta las narices o les diga que es lo que pueden poner o no dependiendo exclusivamente de los intereses económicos, de marketing… o sean cuales sean.

Señores, otro suspenso más para Apple. Desde luego los tiempos cambian, y los pocos que permanecían supuestamente honrados y que velaban por los derechos del consumidor… todos caen, y los mitos se desmitifican.

Un saludo amigos

Artículo: iTunes 8: Lo bueno, lo malo y lo peor

Share on Google+Share on FacebookTweet about this on Twitter

Hace ya unos cuantos de días que salió de forma oficial iTunes 8. Desde todos lados decían que Apple había modificado en gran parte esta vez iTunes para dotarlo de mayor velocidad, menos fallos y nuevas funcionalidades.

Desde mi punto de vista ha sido poco más o menos un desastre. Hay cosas buenas, cosas malas y cosas peores. Así que vamos a ir viendolas poco a poco. Podemos decir que esto es un mini review de iTunes 8. Al final veremos un par de trucos, para solucionar parte de las cosas “peores” de iTunes 8

Lo mejor:

La única función nueva añadida, Genius. Genius es un nuevo sistema de crear listas de reproducción personalizadas basadas teóricamente en la similitud entre ciercas canciones. Os explico el proceso. iTunes primero debe de recolectar información sobre toda nuestra música. Esta información es ENVIADA A APPLE. Apple recive dicha información y la añade a su base de datos, para comprobar que tipo de música nos gusta, escuchamos más frecuentemente… Una vez realizada dicha comprobación, nos envia de vuelta los datos que supuestamente son más relevantes para nosotros. Estos datos se basarían de nuevo en teoría de los cientos o millones de personas que están usando Genius. Por ejemplo, si reproducimos la canción “Princesa” de Joaquín Sabina, y le damos a Genius, entre otras entradas me aparecen canciones como: “Cuando nadie me ve” de Alejandro Sanz o “A contracorriente” de El canto del loco. Posiblemente porque la base de datos de Apple interpreta que dichas canciones son del mismo tipo a “princesa” basándose en los gustos recolectados de esos millones de personas.

Claro que Genius dicta mucho de ser perfecto, y pueden colarse canciones que no pintan nada.

Quitando Genius, la verdad es que no hay nada destacable de iTunes 8. En todo caso destacar la nueva vista de música. Desaparece la vista “listada”. En vez de esta se crea otra que muestra en mosaico por artista, album… cada uno de los discos.

Lo malo:

Por mucho que Apple dijera que habían mejorado el rendimiento general de iTunes, personalmente lo veo igual de malo. Consume muchísimos más recursos que cualquier otro reproductor de audio, por no decir de video. iTunes sigue suspendiendo para la reproducción. Siempre he dicho que como gestor de tus álbumnes es una maravilla, pero como reproductor es de lo peorcillo que existe.

Lo peor:

Por si fuera poco, hay problemas incomprensibles en iTunes 8. Por ejemplo sigue sin existir una opción en iTunes para poder deshabilitar la copia de seguridad automática. Para hacer esto hay que recurrir de nuevo a las lineas de comando (en caso de MAC) y edición de archivo (en caso de Windows).

Pero por si no echábamos de menos esta opción, Apple también a aprovechado para eliminar otra. Antes iTunes nos daba la opción de que no nos aparecieran las flechas en cada una de las canciones, flechas que enlazan directamente al Store y nos muestran otras cancioens del mismo artistas, albumnes y otros. Para mi, estas flechas siempre han sido bien incómodas, no uso iTunes para comprar música, y lo ultimo que quiero es “publicidad” hacia el Store. Estoy seguro que muchos incautos han comprado música accidentalmente por tener la opción de compra “Un click”. De nuevo Apple deja claro que lo que le importa es el dinerom y no el usuario.

Y para acabar, dentro de lo peor también, parece ser que Apple ha cometido fallos en la versión para Windows de iTunes 8. Me hace gracia por que a raiz de esto he oído frases como: “Es que Windows es una porquería, usar un MAC”. El problema es debido al parecer por un componente de iTunes, usbaapl.sys bajo Windows Vista. Al ser un controlador de sistema se carga al iniciar Windows, y el problema está en que no para de provocar BSOD en algunos usuarios. Sinceramente, se pone también de manifiesto la mentalidad de la comunidad MAC a la de Windows. No digo que Windows sea mejor o peor, personalmente creo que son dos OS diferentes orientados a mundos diferentes. Pero tan solo la comunidad MAC es capaz de decir que un fallo de programación de Apple en un controlador es problema también de M$. Por favor…

La solución que ha dado Apple ha sido desinstalar Mobile Device e instalar iTunes 8 de nuevo.

Para acabar, pero no menos importante, vamos a decir como podemos solucionar al menos algunos de los fallos de iTunes. En este caso la copia de seguridad automática y la eliminación de las dichosas flechas de enlace a Store. Dependiendo de si simos usuarios de Windows o de MAC OS, el proceso será diferente:

En Windows, la manera más simple de hacer todo el proceso es por linea de comandos, aunque hay otros métodos que implican la edición manual de archivos. Voy a explicarlo por lineas de comando puesto que me parece más simple. Lo primero es ir a Inicio/Ejecutar. Esta ventana tambien puede ser sacada presionando la tecla Windows + R

En el diálogo que nos aparecerá teclearemos lo siguiente: cmd

Esto nos dará acceso al promp de Windows. En el tendremos que desplazarnos a la carpeta que se encuentra en:

C:\Archivos de programas\Archivos Comunes\Apple\Mobile Device Support\bin

Si nuestro Windows estuviese en ingles pues sería:

C:\Program Files\Common Files\Apple\Mobile Device Support\bin

Vamos a suponer que estamos en ingles, pero el proceso es igual en español que ingles, salvo que las rutas hay que ponerlas en ingles.

Teclearemos lo siguiente en el promp de Windows:

cd\
cd Program Files\Common Files\Apple\Mobile Device Support\bin

Esto nos situará en la carpeta en la que se encuentra la utilidad que vamos a usar. Ahora todo depende de la acción que queramos conseguir.

Para deshabilitar la copia de seguridad automática:

defaults.exe write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool true

Para hacer desaparecer las flechas:

defaults.exe write com.apple.iTunes show-store-arrow-links -bool true

En MAC OS el proceso es igual, salvo que no es necesario moverse a la carpeta en cuestión, dado que iTunes se encuentra integrado casi completament en el sistema. Tan solo hace falta acceder al terminal y ejecutar:

defaults write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool true

ó

defaults write com.apple.iTunes show-store-arrow-links -bool true

Eso es todo por hoy, y bueno… esperemos que un día Apple empiece a pensar un poco más en el usuario que en su bolsillo.

Un saludo.

Volver a arriba

Sobre Mí

Cambiar a la versión para móviles

Creative Commons License
Alma Oscura por Theliel is licensed under a Creative Commons Reconocimiento-No comercial-Sin obras derivadas 3.0 Unported License.
Basado en el trabajo de blog.theliel.es.
Para otros permisos que puedan exceder el ámbito de esta licencia, contactar en blog.theliel.es/about/contactar.