Wednesday, 2 September 2015

¿Cómo usar Cycript para romper apps de iOS?

Acuerdo con los profesionales de empresa de seguridad informática, Cycript permite a los desarrolladores para explorar y modificar aplicaciones que se ejecutan en iOS o Mac OS X utilizando un híbrido de Objective-C ++ y la sintaxis de JavaScript a través de una consola interactiva que cuenta con resaltado de sintaxis. Escrito por Jay Freeman (Saurik) de Cydia, lo que hace es darnos una manera interactiva e inmediata para modificar los procesos que se ejecutan en iOS índico experto de seguridad en la nube.
Si hacemos SSH en un dispositivo iOS con cycript instalado, podemos ejecutarlo directamente desde el dispositivo. Esto inmediatamente nos da acceso a un entorno REPL configurado y estamos listos para jugar señaló Mike Stevens maestro de formación de hacking ético de la organización International Institute of Cyber Security. Es en este punto también podemos decidir cuál es el proceso para inyectar nuestras modificaciones en.
Usted puede inyectar en el proceso de Springboard. El Springboard ayuda a controlar todo, desde la pantalla de bloqueo para la aplicación de conmutación. Antes de usar Cycript y cambiar algo, tenemos que saber lo que queremos cambiar, su nombre y dónde se encuentra menciono experto de sistemas de seguridad en la nube icloud.
Hay varias maneras de encontrar algo que queremos cambiar usando cycript. Una forma es utilizar los header dumps que he mencionado antes de interactuar con las clases, métodos y variables directamente escribiendo sus nombres menciono el experto de empresa de seguridad informática . Otro método - útil si se está modificando una aplicación en lugar de Springboard - es llamar UIApp.keyWindow.recursiveDescription que imprimirá una descripción jerárquica de la configuración de la pantalla en este momento. Usted puede trabajar hacia atrás desde la parte inferior de esta descripción para encontrar finalmente la clase que usted desea cambiar.
El método que utilizaremos es función integrada en cycript llamada choose. La función de choose busca en la memoria de proceso inyectado para cualquier clase que busca, y agarra todo como una matriz. Por ejemplo podemos pedir todas las instancias de la clase UILabel, suponiendo que nuestro mensaje No hay Notificaciones será un UILabel. Según Jim Taylor experto de seguridad en la nube que debido a la gran cantidad de UILabel en la memoria, puede fácilmente instalarlo de modo que cycript muestra sólo el texto de las etiquetas. Afortunadamente, debido a la naturaleza de la escritura y de cycript, podemos hacer esto en una sola línea.
[choose(UILabel)[i].text for(i in choose(UILabel))]
for(i in choose(UILabel)) if (choose(UILabel)[i].text == "No Notifications") nnLabel = choose(UILabel)[i];
En el fragmento anterior, hemos guardado el UILabel que es texto coincidente " No Notifications " como nnLabel. Ahora podemos interactuar con la etiqueta tanto como nosotros queremos, e incluso llamar a todos los métodos habituales se pueden usar en un UILabel.


Por desgracia, este pequeño cambio de piratería de memoria no es permanente, cerrar y volver a abrir el centro de notificación provocará código original de Apple para volver a ejecutar y arruinar todo nuestro duro trabajo. Hacer lo permanente el trabajo será el tema que pueden aprender durante de formación de hacking ético, que describe cómo se puede enganchar en el código de Apple mediante programación para cambiar lo que realmente se ejecute, en lugar de cambios temporales.

0 comments:

Post a Comment