oficial electra descargar con ios kernel jailbreak

ios - electra - ¿Qué cambia en un kernel jailbroken?



jailbreak con electra (2)

Hace aproximadamente un año, saurik escribió un comentario sobre Hacker News con una lista de los "parches de ''mejores prácticas'' que instaló jailbreaks por defecto" . Sugiero leer ese comentario para todos los detalles, pero aquí hay una vista previa de lo que dice (con muchas explicaciones que corté):

  1. AFC2: le permite acceder, a través de USB, a todos / como raíz en lugar de solo a / var / mobile / Media como dispositivo móvil.

  2. fstab / rw: hace / se monta lectura-escritura.

  3. fstab / var suid dev: permite ejecutables setuid y nodos de dispositivo en la partición de datos de usuario.

  4. codesign: permite que el código no haya sido firmado por nadie para ejecutarlo.

  5. codehash: permite la ejecución de procesos con páginas de código "corruptas".

  6. rw-> rx: admite cambiar una página de memoria de escribible a ejecutable.

  7. rwx: permite que la memoria se marque para escritura y ejecución al mismo tiempo.

  8. Cajón de arena: permite que los procesos accedan a los archivos que están fuera de su entorno limitado en función de los permisos de Unix en lugar de las reglas normales del espacio aislado.

  9. Crazeles: un truco ridículamente complicado por planetbeing que neutraliza las comprobaciones de DRM de FairPlay que hacen que iBooks se niegue a operar correctamente en los dispositivos liberados.

Después de haber visto esta pregunta sobre la protección de su aplicación para que no se rompa, vi que el que respondía más arriba mencionaba algo sobre poder ver si un dispositivo se había liberado debido a un desequilibrio interno en el kernel. Después de analizarlo un poco más, descubrí la guía Kernel Architecture Overview y tengo conocimiento de las formas de interactuar con el Kernel Mach-BSD. Todo lo que necesito saber es: ¿Qué estoy buscando? ¿Hay algún tipo de clave o estado interno que cambie cuando el dispositivo se jailbroken en el contexto del kernel?

Para ser claro, no estoy buscando el código (sé cómo hacer estas cosas yo mismo), estoy buscando qué buscar ... Tan extraño como suena. He visto las respuestas en las preguntas vinculadas, sé que funcionan, pero me pregunto acerca de una ruta de kernel , que parece una forma más genérica y eficiente de verificar en lugar de buscar directorios que podrían cambiar o escribir claves. eso podría tener diferentes nombres.

Tampoco pretendo desactivar ninguna funcionalidad de la aplicación debido a la piratería (solo muestre un mensaje o algo basado en una condición).


Todos los parches de kernel "modernos" se basan en los parches de comex .

las cosas principales que están siendo parcheadas son:

  • security.mac.proc_enforce
  • cs_enforcement_disable (kernel and AMFI)
  • PE_i_can_has_debugger
  • vm_map_enter
  • vm_map_protect
  • ...

Ah, y también hay parches de sandbox. Si quiere leer más sobre todos estos parches, le sugiero que eche un vistazo al Manual de piratas informáticos de iOS .

Editar: Solo se me ocurrió una idea simple para verificar si el dispositivo tiene jailbreak, pero no estoy seguro si Apple permite el uso de estas funciones:

  1. asigna algo de memoria usando mach_vm_allocate ()

  2. cambie la protección de esa página a través de mach_vm_protect () a VM_PROT_READ | VM_PROT_EXECUTE | VM_PROT_COPY

  3. Como el stock iOS no permite VM_PROT_EXECUTE desde su aplicación, esto fallará, verifique el valor de retorno de mach_vm_protect (), cuando no esté jailbroken, pero tenga éxito si el dispositivo está liberado.