Conecta con nosotros

Noticias

¿Jailbreak en Windows Phone 7?

Publicado el

¿Jailbreak en Windows Phone 7? 64

La posibilidad de ser superusuario/administrador/root de los actuales smartphone ofrece unos privilegios extra que permiten un uso avanzado del mismo ofreciendo posibilidades que en un uso habitual están deshabilitadas. Hablamos del popular proceso de jailbreak en los iPhone o bien rootear en terminales Android. Hoy os anunciamos que tal proceso acaba de llegar a los terminales Windows Phone 7 de la mano del hacker autraliano Chris Walshie  que ha encontrado un método para conseguirlo.

¿Jailbreak en Windows Phone 7? 66

Chris Walshie ha encontrado una DLL llamada «Microsoft.Phone.InteropServices» que de ser explotada ofrecería acceso root al terminal. Dicho acceso otorga al usuario / aplicaciones un acceso más profundo al sistema, saltándose restricciones como las impuestas para acceder a la cámara o micrófono o incluso saltándose la barra de búsqueda Bing para permitir motores de búsqueda personalizados.

El desarrollo de jailbreak para Windows Phone 7 acaba de empezar, podríamos decir que está en pañales pero ya se han dado los primeros pasos en esa dirección. Ahora es sólo cuestión de tiempo que la comunidad de desarrolladores cree aplicaciones útiles que lo aprovechen o bien una aplicación equivalente a Cydia.

¿Jailbreak en Windows Phone 7? 67

Para conseguir integrar esta DLL en tu aplicación sólo tienes que usar la clase “ComBridge”. Sin embargo, no vale simplemente con añadirla como referencia, necesita ser cargada vía Assembly via reflection, y llamarla con métodos estáticos:

Assembly a = Assembly.Load("Microsoft.Phone.InteropServices, Version=7.0.0.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e");

Ahora ya está cargada. Sólo se necesita conseguir el tipo, el método y llamarla:

Type comBridgeType = a.GetType("Microsoft.Phone.InteropServices.ComBridge");
            MethodInfo dynMethod = comBridgeType.GetMethod("RegisterComDll", BindingFlags.Public | BindingFlags.Static);
            dynMethod.Invoke(null, new object[] { "Assembly.dll", new Guid("SomeGuidHere") });

Ya sólo queda borrar todas las restricciones con WMAppManifest.xml añadiendo esta línea:

<Capability Name="ID_CAP_INTEROPSERVICES"/>

Una vez hecho esto sólo hay que añadir un archivo XML vacío en el directorio raíz de la aplicación con el nombre “WMInteropManifest.xml” con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>
<Interop>
</Interop>

Lo más leído