Sunday, July 1, 2018

Adquisición de teléfonos inteligentes: adaptar, ajustar y volvernos más inteligentes!

El siguiente artículo es una traducción de Smartphone Acquisition: Adapt, adjust and get smarter! por Heather Mahalik. Esta traducción se presenta con el permiso de la autora.  Errores de traducción descansan en mi persona y no en la autora.

25 de Junio de 2018

Recientemente mis estudiantes me han pedido un resumen de cómo manejar la adquisición (forense) de teléfonos inteligentes iOS y Android. He evitado poner el proceso por escrito de la misma manera que evitaría la Plaga debido a que la tecnología móvil cambia tan rápidamente que no quisiera que la gente lea algo y viva solo en base a eso. Escribí esta entrada en un avión de camino a Vancouver, así que perdonen cualquier error ortográfico al igual que la brevedad de la misma.

Habiendo dicho lo anterior, estos son los métodos que funcionan para mi al dia de hoy. Otros puede que prefieran otros métodos, y eso es fantástico.  Si todos fuéramos iguales esta sería una comunidad muy aburrida, ¿no?

Este posteo contiene lo que yo hago normalmente cuando es posible. Cualquiera que lleva a cabo trabajo de peritaje forense móvil sabe que todo cambia rápidamente y lo que es posible al día de hoy requiere modificación para que pueda funcionar mañana. Nos adaptamos, ajustamos y somos mas inteligentes a causa de ello. ☺️

Solo porque te doy consejos no quiere decir que soy más inteligente que tu.
Solo significa que he hecho más cosas estúpidas que tú.
Lo que he decidido es enfocarme en Android y iPhone para este posteo. Muchos de ustedes tienen sus herramientas de vendedores favoritas y esto es formidable. Yo recomiendo que se use más de una (herramienta) porque ninguna de ellas es perfecta. No te vuelvas tan dependiente de un solo método que llegues a evitar la oportunidad de probar otras herramientas, que dependas de una sola herramienta  que no extraiga los datos correctamente. He evitado hacer un listado específico de las herramientas que yo prefiero ya que en el pasado he escrito un posteo al respecto. Yo solamente estoy definiendo los pasos que tomo al trabajar, queda de usted usar la herramienta de su preferencia para cumplir con los objetivos. Recuerde que la herramienta más costosa no tiene que ser necesariamente la que mejor trabaje. Muchas veces son los métodos libres de costo los que proveen la mayor cantidad de datos/información.

Recomendaciones para Adquisición de Android

Los dispositivos Android se están volviendo cada vez más difíciles de adquirir. Hemos visto muchos dispositivos donde solo información básica (fotografías, contactos y algunas llamadas) puede ser extraída. Algunas veces solo la información que existe en la tarjeta SIM puede ser extraída. Estoy segura que muchos de ustedes se han topado con la pantalla a continuación. De seguro es desanimador, pero no podemos dejar de seguir intentando.

Extracción ha fallado.
El nivel del parcho de seguridad del dispositivo
 no es suficiente para una extracción de este tipo.
Esto no es aceptable al conducir nuestras investigaciones. Necesitamos ser más astutos. El primer dispositivo Android corriendo OS7 que adquiri me sorprendió. No estaba recibiendo nada de las herramientas. A continuación un ejemplo de lo que pude extraer, solo un montón de directorios/carpetas vacías. Nada bueno.


Sentí un susto momentáneo hasta que me di cuenta que el bueno y bien conocido ADB era la llave para extraer los datos. Voy a llegar al punto momentáneamente, pero si quieres la mayor cantidad de información de una extracción Android yo recomiendo que se tenga capacitación del vendedor de la herramienta preferida o que se tome la clase FOR585 Peritaje Avanzado de Teléfonos Inteligentes donde nos enfocamos en análisis pero recientemente actualizamos el curso para incluir otras opciones que pueden funcionar cuando falla la adquisición sencilla de alguna herramienta.

Cosas que vas a necesitar:

  1. Instalar ADB en tu estación de peritaje forense. (https://www.xda-developers.com/install-adb-windows-macos-linux/)
  2. Herramienta de peritaje forense de tu predilección.
Pasos recomendados para una adquisición Android:
  1. ADB Backtup (capturar tanto el dispositivo (all) como el SD (shared))

    • adb backup -all
    • adb backup -shared
  2. Adquisición Lógica (Logical Acquisition) usando una herramienta de peritaje forense, especialmente si ADB no está trabajando para ti.
  3.  Adquisición de Sistemas de Archivos (File System Acquisition) si más de un resguardo (backup) es ofrecido.
  4. Descarga física (physical dump) si estás consciente de que no te interesan las posibles huellas que queden (por ejemplo no se va a devolver el dispositivo y no estás llevando a cabo operaciones encubiertas.)
  5. Asegúrate de adquirir la tarjeta SD y SIM si están presentes. (Yo prefiero removerlas y adquirirlas por separado para asegurarme que nada es pasado por alto.)
  6. Obtener las credenciales de Google si es posible.
  7. Extraer los datos de la nube - SI TIENES LA AUTORIDAD NECESARIA.
  8. Prefiero ejecutar algunos comandos de ADB en el dispositivo para asegurarme que he extraído toda la información y que estoy consciente de que existe en Android. Algunos ejemplos son:

    adb shell service list (listado de servicios)



    adb shell pm list packages (muestra que aplicaciones (apps) están instalados)

  9. SIEMPRE abre la extracción para asegurarte que tienes lo que estabas esperando tener. Si tienes una descarga física, Autopsy es la manera mas rápida de obtener acceso a la data. Y es gratis.
    (https://www.sleuthkit.org/autopsy/)
Adquisición de Android deja huellas en el dispositivo. Si conduces operaciones encubiertas hay que tener mucha precaución. He puesto estos pasos en orden contigo en mente. No te adelantes sin saber que tipo de huella dejan las herramientas y métodos que utilizas. Estos temas se cubren en la clase FOR585 (http://for585.com/course).

Recomendaciones para Adquisición iOS

Para adquirir iOS es lo mismo que ha sido por años. Si, han habido rumores del cierre/restricción del puerto de datos. Si, existen herramientas que permiten acceso al dispositivo como quiera. Este posteo no se centra en esto. El posteo se enfoca en que debes intentar cuando tienes un dispositivo de iOS a investigar. Puedes decidir trabajar en una computadora Windows o Mac. Yo uso las dos. Honestamente la mayor parte de mis adquisiciones toman a lugar en una máquina de peritaje forense Windows, pero si uso una Mac cuando examino archivos  nativos a Apple o para llevar a cabo 'jailbreaking' debido a que Windows no siempre es efectivo en cuanto a esto.

Cosas que vas a necesitar:
  1. Instalar iTunes si planeas crear un backup (resguardo).
  2. Instalar iBackupBot (Yo prefiero esta herramienta sobre las gratuitas porque me proveen la opción de descargar las bitácoras de fallas ('crash logs')
    (http://www.icopybot.com/download.htm)
  3. Herramienta de peritaje forense de tu predilección.
Pasos recomendados para iOS:
  1. Determinar el tipo de dispositivo iOS (lo más probable es que no obtendrás una descarga física  porque el dispositivo probablemente es 64 bit y no ha sido 'jailbroken').
  2. Llevar a cabo un Sistema de Archivo/Extracción Lógica Avanzada ('File System/Advanced Logical Extraction)

    • Si estas usando productos de Cellebrite asegurate de usar 'Physical Analyzer' y llevar a cabo tanto el Método 1 y el Método 2. Yo no use el UFED para descargar dispositivos iOS. El 'Physical Analyzer' es mejor.

    • Si usas el 'Physical Analyzer' y ves el Método 3 - ¡Felicidades! Te has encontrado con un dispositivo que esta 'jailbroken'.

    • Si usas alguna otra herramienta, usa más de una para asegurarte que obtienes todos los datos del dispositivo.
  3. Si quieres tener la mayor cantidad de información posible asegúrate de obtener una adquisición lógica y/o de resguardo ('backup') del dispositivo. Típicamente yo me detengo al obtener una descarga del sistema de archivos ya que esta contiene el resguardo si tengo confianza en mi herramienta. (Refiérase al posteo mencionado anteriormente o tome la clase FOR585 para mayor información en este tópico.)
  4. Conecte el dispositivo a iBackup bot y descargue las bitácoras de fallas.
  5. Asegúrese que las herramientas  utilizadas no activen el cifrado ('encryption') de iTunes al conectar el dispositivo a iTunes y asegurarse que cifrar el resguardo ('Encrypt Backup') no este seleccionado.


  6. Obtener credenciales de iCloud y de Google de ser posible y extraer los datos de la nube si se tiene la autorización.

    Adicionalmente no adivine contraseñas en el dispositivo ya que corre el riesgo de borrarlo. Use un método que ya haya probado anteriormente o un servicio que le de apoyo a ese dispositivo. Si se esta desesperado y todavía no se tiene acceso, intente lo siguiente:
Para iOS:
  1. Intente comunicarse (ejecutar un comando) o parear el dispositivo usando libimobile.


  2. Intente hacer una copia de resguardo usando iTunes.
  3. Si cree que puede obtener las credenciales de iCloud, descargue los datos desde ahí. Muchas herramientas apoyan este método.
  4. Intente usar múltiples cables.
  5. Solo use un ataque de fuerza bruta usando una caja de 'hacker' si se está dispuesto a que el dispositivo se borre.
Para Android:
  1. Intente ejecutar comandos de ADB al dispositivo. Obtenga la mayor cantidad de información posible.
  2. Remueva y adquiera la tarjeta de SD en modo de escritura protegida ('write-protected') si existe la forma de hacerlo.
    • Si no, intente adquirir la tarjeta SD emulada usando FTK Imager  o una herramienta similar como Dispositivo de Almacenamiento Masivo USB ('USB Mass Storage Device').
  3. Remueva y adquiera la tarjeta SIM.
  4. Rompa el candado/cierre si puede accesar los archivos requeridos (*.key, etc.)
  5. Adquiera datos de la nube de Google, múltiples herramientas apoyan esto.
  6. Intente múltiples cables y modos ('Recovery, Safe, Download, etc.') para ver si la extracción está fallando debido a que el dispositivo no esta el el estado apropiado.
  7. Si el dispositivo está abierto, asegúrese de habilitar apropiadamente las opciones de desarrollador ('developer mode') necesarias.
Nuevamente, nosotros cubrimos métodos y maneras directas de interactuar con los dispositivos en la clase FOR585 y no puedo, ni quiero, dar todos esos jugosos detalles aquí. Esto es simplemente una guia de qué considerar cuando uno se encuentra con estos dispositivos. Obviamente no tenemos todo el tiempo para cubrir todos los pasos, pero es bueno tener un listado de que puede ser funcional para uno. Si quiere aprender más sobre peritaje forense de dispositivos móviles puede registrarse para el curso de FOR585 en DC para el mes que viene. AVISO: La clase ya no tiene espacios disponibles pero puede tomar el curso en vivo desde cualquier lugar usando 'Simulcast.' Esto quiere decir que puede tomar el curso desde cualquier lugar y tiene 6 dias de ensenanza de 9-5 conmigo. Puede hacer preguntas en línea a través de un moderador y las voy a contestar en vivo. El curso no es pre-grabado ni 'OnDemand.' Es un sistema muy innovador y creo que le va a gustar. Puede tener más información en for585.com/online. 



Wednesday, May 2, 2018

Encontrando mensajes (chats) de Discord en Windows

Discord en una aplicación multi-plataforma diseñada con usuarios de videojuegos en mente. Actualmente cuenta con sobre 87 millones de usuarios.  Con Discord los usuarios pueden enviar y recibir mensajes (chats), crear grupos y hacer llamadas de tipo VOIP.

Funcionalidad de Discord.

El propósito de este posteo es ver que evidencia podemos obtener del uso de Discord en el sistema operativo Windows. La razón que motiva este análisis es la falta de identificación automatizada del uso de Discord por las herramientas comerciales de informática forense.

Localización y extracción de la evidencia.

Al igual que muchas aplicaciones en Windows, Discord almacena la información generada por los usuarios en el directorio de 'AppData.' En este caso el directorio completo sería:

C:\Users\usuario\AppData\Roaming\discord

El directorio AppData de Discord tiene la siguiente estructura:

Énfasis en el directorio 'Cache'

Los archivos generados por la interacción del usuario se encuentran en el directorio 'Cache.' Al mirar el contenido del directorio ninguna información de utilidad, como contenido de chats por ejemplo, se hace aparente.

 ¿Dónde están los chats?

El formato de este directorio puede ser familiar a algunos. Es prácticamente idéntico al formato del 'cache' del navegador de Internet de Google Chrome localizado aquí:

 C:\Users\usuario\AppData\Local\Google\Chrome\User Data\Default\Cache


El navegador de uso en mi sistema es Chrome y Discord usa el mismo formato para estructurar sus datos. Aquí el contenido del directorio de 'cache' de mi navegador para efectos de comparación.

La misma estructura.

Siendo que las estructuras son las mismas parece claro que el contenido que estamos buscando tiene que residir en estas estructuras, en el directorio 'cache' de Discord, que son iguales a las que usa el 'cache' de Chrome. Como la estructura del 'cache' de Chrome es muy conocida, existen muchas herramientas que nos permiten extraer el contenido. Para este análisis use la siguiente herramienta:


La herramienta va a procesar el directorio de Chrome en nuestro sistema automáticamente. Solo presione detener en la esquina izquierda en la parte superior de la pantalla y seleccione el directorio 'cache' de Discord que se quiere examinar. Después de procesar el contenido la herramienta le presentara algo semejante a esto:

Contenido del directorio 'cache' de Discord.

La herramienta le permite extraer toda la metadata en formato HTML. Más útil aún es poder extraer los archivos contenidos dentro de este 'chache' al seleccionar los objetos deseados y presionar F4.

Para encontrar los chats extraiga todos los archivos que terminan en 'messages?limit=50' bajo la columna de URL. 

messages?limit=50

Tenga a considerar que este análisis se hizo en un sistema con lenguaje en inglés. Pueda que existan pequeñas diferencias debido al idioma pero eso es algo que requiere verificación adicional. Al exportar estos archivos se podrá apreciar que dentro de los mismos están los chats de Discord. No todos los archivos de chat tienen como nombre '50' según se ve en la imagen anterior. Algunos de los archivos de chat tienen nombres que comienzan con las palabras 'Before' o 'After' seguidos por un tipo de identificación numérica. Para no dejar de extraer algún archivo relevante se recomienda que se use el final del contenido de la columna URL para la identificación.

Nótese que al presionar sobre uno de estos archivos la herramienta nos dice que son archivos de tipo JSON los que estamos exportando.

Content Type: application/json

Como son archivos tipo JSON, los podemos ver con cualquier editor de texto. Luego de exportar uno de estos y abrirlo con Wordpad, el contenido se ve de la siguiente forma:

'Content' es la llave.

Aunque el contenido visto de esta manera es difícil a los ojos, podemos entender claramente lo que se dice. Note la llave titulada 'content'. El contenido de la misma es la conversación generada por el usuario. Cada bloque de contenido generado por el usuario comienza con la llave 'Attachment' seguido por las llaves de estampa de tiempo, número de usuario, contenido del chat, entre otras.

Para lograr hacer que el contenido sea más fácil de visualizar, el siguiente código ('script') que se proporciona convierte los archivos de JSON en formato de Excel o de HTML.

Ahora se puede leer más fácilmente.

Si se escoge el formato de HTML, la mejor forma de visualizar el contenido es usando el navegador Google Chrome para poder ver emoticones y/o emojis que puedan ser parte de los chats.

Emojis!!!

El código es muy sencillo y se puede encontrar aquí:
Como punto final tenga en consideración que se puede acceder a la cuenta de Discord que esta siendo examinada sin la necesidad de contraseña ni nombre de usuario con solo mover el contenido de el Directorio de Discord a nuestro sistema de análisis y abrir el programa desde allá. Por supuesto el programa requerirá el internet para completar el acesso. Vale decir que acceder el contenido de esta manera requiere de consentimiento del usuario y/o los documentos legales necesarios como, por ejemplo, una orden de allanamiento remoto.

Puedo ser contactado en twitter: @AlexisBrignoni

Sunday, April 29, 2018

Examinando aplicaciones de Android con un emulador

Al examinar la información extraída de la evidencia digital nuestras herramientas nos proporcionan variados reportes. Estos reportes en formato PDF o HTML muchas veces no son fáciles de entender por las partes interesadas.

En este posteo quisiera mostrar cómo presentar los contenidos de una aplicación (app) de Android usado el mismo app dentro de un emulador. Un emulador es conocido también como una máquina virtual. En este análisis la máquina virtual nos permite usar Android desde una computadora Windows. Este método nos da el beneficio de ver el contenido en la misma forma que lo vería el usuario. Básicamente usamos el app mismo como nuestra herramienta de visualización sin alterar la evidencia original debido a que usamos el emulador. Es de notar que para este análisis se espera que el perito o practicante esté ya familiarizado con las herramientas de análisis. En futuros posteos al blog se discutirán al detalle el uso de las herramientas y como validarlas.

Teléfono móvil evidencial

  • Samsung SM-G530T Galaxy Grand Prime
Herramientas de análisis

Para extraer el app con los datos del usuario usaremos Magnet Forensics Acquire. En entradas futuras del blog discutiremos diferentes métodos de extracción y lo que significan. En este caso, debido a que tenemos acceso de superusuario, haremos una extracción física.


Extracción física finalizada

Usando FTK Imager se puede ver el contenido de la imagen forense física que se completó en el primer paso. Con la misma se exportan los siguientes directorios con sus archivos correspondientes.

  • /userdata/app/com.discord-1
  • /userdata/data/com.discord
El directorio (o carpeta) 'app' contiene el app Discord mismo. El app dentro de el directorio se llama "base.apk". Discord es un app multiplataforma utilizado para enviar mensajes y archivos multimedios. Es un app muy popular en particular con usuarios de video juegos con sobre 10 millones de descargas al día de hoy. 

10 millones de descargas y contando.

En la próxima imagen podemos ver el app en el directorio indicado. Los apps en el sistema operativo Android usan la extensión apk. Esta significa 'Android application package' lo cual en espanol se traduce como paquete de aplicación Android.

Discord APK - base.apk

El directorio 'data' tiene todo el contenido relacionado al app. Tenga en consideración que diferentes apps requieren que se identifiquen diferentes directorios o directorios adicionales para exportar. Por ejemplo algunos apps usan la tarjeta de Micro SD para almacenar datos necesarios para el funcionamiento del app. Usando un teléfono de prueba semejante al original podemos identificar todas los directorios usados por el app para poder entonces exportarlos de la imagen física que hemos creado del original. 

Directorio data de Discord

Después de exportar los directorios necesarios se comienza el emulador Nox. Dependiendo del app que estemos trabajando sería ideal cambiar la configuracion del emulador. De manera automática el emulador trabaja en modo tableta con la configuración de pantalla correspondiente.

Modo tableta

Siendo que en nuestro ejemplo el app proviene de un teléfono móvil, cambiamos el modo y la resolución a uno que sea semejante al ambiente que estamos analizando.

Cambiando el modo y la resolución

Así es que se ve el emulador luego de cambiarlo a un modo y resolución de móvil.

Modo móvil.

Deje el emulador encendido ya que nos conectaremos al mismo usando ADB.

ADB - Conectándonos e importando los datos extraídos al emulador 

Usaremos ADB para conectarnos al emulador e importar (push) la data en los directorios exportados anteriormente. El enlace para bajar el programa ADB está en la sección anterior bajo herramientas de análisis. Instale antes de continuar. Ahora abra una terminal o línea de comandos (cmd.exe en Windows) y conéctese al emulador usando el siguiente comando:
  • adb connect localhost:62001
Para probar la conectividad use el siguiente comando:
  • adb devices
De tener éxito debería ver lo siguiente en su pantalla.

Conectados al emulador.
Abra otra línea de comando y accedamos al terminal del emulador usando ADB.
  • adb shell
Listos a enviar comandos.

La primera line de comando se usará para subir/enviar el apk al emulador. La segunda line de comando nos permitirá interactuar con el sistema de archivos (file system) del emulador.

Usando el siguiente comando, en la primera línea de comando, suba el apk al emulador en el directorio correspondiente. Tenga en cuenta que la línea de comando debe ejecutarse del directorio donde esta el apk. De no hacerlo así tendrá que definir dónde se encuentra el directorio con el apk.
  • adb push base.apk /data/app

APK al emulador.

El app aparecerá en la pantalla principal del emulador. Presionelo para inicializarlo. Al inicializarlo las estructuras necesarias para el app, en el sistema de archivos del emulador, son creadas.

App inicializado.

Luego de ver la pantalla inicial del app, presione el botón de tareas recientes (Recent Tasks) en el emulador. Este sería el cuadrado encima del símbolo de >> en la parte baja del lado derecho de la pantalla. Proceda a deslizar el app cerrandolo.

Antes de subir los datos del app al emulador debemos eliminar los directorios creados por el app cuando lo inicializamos. 

En la segunda linea de comandos, donde usamos el ADB shell, navegue al directorio siguiente:
  • /data/data/com.discord
Allí vera todos los directorios que fueron creados en la inicialización.  Use el siguiente comando para eliminarlos:
  • rm -r *
Está vacío.

Note que el comando ls nos deja ver si hay carpetas o archivos disponibles. No se ve ninguno. Vaya a la línea de comando primera y suba la data extraída del app al directorio que acabamos de vaciar.
  • adb push com.discord /data/data/com.discord
Datos extraídos subiendo al emulador. 

Si los datos subieron correctamente debera ver algo semejante a la siguiente pantalla:

Éxito total.

En la line de comando donde esta el ADB shell podrá ver que los directorios exportados de la imagen física ahora se encuentran dentro del emulador. Use el comando ls.

Estructura de directorios.

Para resumir a este punto hemos logrado lo siguiente:
  1. Hacer una imagen forense de modo físico extraída del teléfono móvil evidencial.
  2. Extraído el app de interés y los directorios del app correspondientes. En este caso del app Discord.
  3. Subimos el app extraído (el apk) al emulador y lo inicializamos.
  4. Cerramos el app y borramos los directorios creados por el app.
  5. Subimos los directorios y los contenidos extraídos del app al emulador.
Proceda a ir a la página principal del emulador y presione la aplicación de Discord. Todo el contenido del app se puede ver en el emulador.

Mensaje directo.

Consideraciones

Este método  es sumamente útil para mostrar los datos extraídos a una audiencia no técnica. Es una gran ayuda visual el poder ver los datos en la misma manera que el usuario original de los mismos lo hubiera visto.

Al hacer este tipo de análisis siempre debemos adherirnos a las mejore prácticas. Por ejemplo mi sistema de análisis ni mi emulador estaban conectados al internet. Nótese el punto verde justo al lado del nombre de usuario en la parte baja de la siguiente imagen.

Se conectó sin tener que proveer contraseña.

Debe de asegurarse que el sistema que utiliza para hacer el análisis no esté conectado al internet siendo que ciertas aplicaciones se van a conectar automáticamente a los servidores que el app en cuestión use. Esto puede causar un problema donde el analista o perito inadvertidamente lleve a cabo una búsqueda ilegal del material remoto en el servidor sin tener la autorización legal propia.

Tenga en cuenta que el análisis usando un emulador puede no funcionar con apps que estén fuertemente integrados en el sistema operativo, por ejemplo Google apps. 

En mis pruebas he visto que cerrando el app o apagando el emulador no permite que pueda accesar los datos que se subieron. El app solo provee un error de instalación al querer abrirlo por segunda vez. Asegúrese de tomar capturas de pantalla o tomar un video de la misma antes de cerrar el app o apagar el emulador. Para tener acceso al app luego de apagar el emulador tendrá que reinstalar Nox y hacer todo el proceso desde el comienzo.

Puedo ser contactado a través de twitter en @alexisbrignoni.

Saturday, April 28, 2018

Declaración de propósito



Saludos. Bienvenidos a la Informática Forense.  El propósito de este blog es hacer accesible artículos de informática forense en español, tanto los originales del escritor como aquellos que pueda traducir del inglés.

Aqui espero poder compartir desde lo básico a lo avanzado. Desde cómo hacer una imagen forense a usar una máquina virtual para analizar aplicaciones de Android. Desde recobrar carpetas y archivos borrados a poder analizar bases de datos SQLite. La mayor parte de los artículos serán de mi autoría al comienzo. De traducir artículos de otros autores esto se hará con el consentimiento del escritor y con una clara nota dándole el crédito a la fuente.

En mi Twitter (@alexisbrignoni) anunciare cuando haya un posteo nuevo tanto en este blog como en la versión en inglés del mismo (https://abrignoni.blogspot.com).

Si hay preguntas o si el lector desea sugerir algún tópico de discusión que pueda desarrollarse en un artículo me pueden enviar un mensaje directo via twitter o escribirme a 4n6(at)abrignoni(dot)com.

Ya el primer artículo está de camino. Ojalá sea de utilidad.

Tan cierto
No hay mejor maner de verdaderamente aprender algo que al haber tenido que enseñarlo. Aprendizaje que no se comparte es aprendizaje perdido.

iOS – Rastreando los Bundle IDs de Contenedores, Contenedores Compartidos, y Funcionalidades Añadidas (“Plugins”)

Artículo original  escrito por Christopher Vance (@cScottVance). Traducción al español por Geraldine Blay (@i_am_the_gia). En el sistema ope...