10 votos

¿Cómo ejecuto aplicaciones de iOS en macOS con la Seguridad Permisible habilitada?

Uso un controlador heredado llamado HoRNDIS, que me permite compartir la conexión móvil de mi teléfono Android a través de USB. Sin embargo, como no utiliza DriverKit, debo ajustar la Seguridad de Inicio de macOS a 'Permisiva'.

Sin embargo, quiero ejecutar una aplicación de iOS, pero al intentarlo, recibo un error: Para abrir esta aplicación, necesitarás iniciar tu Mac desde macOS Recovery y cambiar la Política de Seguridad a Seguridad Completa o Seguridad Reducida. ¿Existe alguna forma de ejecutar la aplicación y tener Seguridad Permisiva al mismo tiempo?

0voto

2015 Puntos 118

Hay un camino donde puedes compilar y firmar el kext tú mismo. Esto te permite usar Seguridad Reducida en lugar de Permiso. Las instrucciones están aquí para arm, pero debería funcionar igual para las Macs con intel también. Por supuesto, usa esto en lugar de "disabled" csrutil enable --without kext

Aquí están las instrucciones en caso de que ese enlace caduque:

¡Me complace informar que la última versión de HoRNDIS (9.2) funciona perfectamente en máquinas Apple Silicon sin necesidad de cambios en el código!

¡Básicamente, solo compilar una rebanada binaria adicional de arm64e (no arm64) al kext de HoRNDIS funciona! @jwise

Probado en macOS 12.0.1 21A559, "Monterey".

(Entiendo que esto no es realmente un problema en sí, pero me sentí muy mal por todos los usuarios que se quejaban de la funcionalidad rota aquí…)

(Además, hablando desde mi propia experiencia personal como desarrollador, ¡encuentro bastante útil cuando alguien más ya probó la compatibilidad por mí! ;P)

Si eres un usuario general que solo quiere usar HoRNDIS en Apple Silicon en este mismo instante…

Desde macOS / OS X 10.10 Yosemite, Apple ha requerido que las extensiones de kernel (kexts) estén firmadas por desarrolladores que están suscritos al Programa de Desarrolladores de Apple, quienes también deben solicitar un privilegio especial de firma de kexts.

…probablemente no seas una de esas personas. ;P

¡Afortunadamente, hay una forma para que firmes tus propios kexts utilizando una función de Xcode llamada firma ad-hoc! Pero primero necesitas cambiar algunas configuraciones.

Cambiando al modo "Seguridad Reducida"

Si ya has colocado tu Mac en el modo "Seguridad Reducida" antes, simplemente omite esta sección.

Apaga tu Mac Apple Silicon.
Presiona y mantén presionado el botón de encendido hasta que el texto bajo el logo de Apple diga "Cargando opciones de inicio...", luego suelta.
Selecciona "Opciones".
Ahora estás en recoveryOS — ingresa tu contraseña si te la pide.
Ve a Utilidades  Utilidad de Seguridad de Inicio.
Selecciona "Seguridad Reducida" y habilita "Permitir a los usuarios gestionar extensiones de kernel de desarrolladores identificados".
Apaga tu Mac Apple Silicon.
Desactivando SIP (Protección de Integridad del Sistema)

IMPORTANTE: Deshabilitar SIP en cualquier capacidad, incluso parcialmente, también deshabilitará Apple Pay, así como cualquier aplicación iOS-en-macOS que hayas descargado desde la App Store. Esta es una decisión extraña (y molesta) que Apple ha decidido tomar específicamente en Apple Silicon, ya que Apple Pay realmente funciona bien incluso cuando SIP está deshabilitado en Macs x86_64 (Intel).

Sigue los pasos 2-4 de arriba.
Ve a Utilidades  Terminal.
Escribe lo siguiente para deshabilitar completamente SIP: csrutil disable
Nota: Es posible deshabilitar parcialmente la parte de SIP que hace cumplir la verificación de firma del kext (csrutil enable --without kext), pero según Apple, aparentemente esta es una "configuración no compatible". Úsalo si deseas (como muchos ya lo hacen), pero asegúrate de leer y entender completamente la advertencia que da csrutil si lo intentas.
Reinicia tu Mac Apple Silicon.
Compilando HoRNDIS para Apple Silicon (arm64e)

Descarga e instala Xcode.
Ejecuta lo siguiente en una sesión de Terminal. ¡Cuando te pida tu contraseña, es normal que no se muestren caracteres cuando la escribes!
git clone --recursive https://github.com/jwise/HoRNDIS.git
cd Development/HoRNDIS/
xcodebuild -sdk macosx -configuration Release
sudo cp -rv build/Release/HoRNDIS.kext /Library/Extensions/
Ve a Preferencias del Sistema  Seguridad y Privacidad y aprueba la extensión de kernel de HoRNDIS.
Reinicia, conecta un dispositivo Android en modo de tethering USB ¡y disfruta usando HoRNDIS de nuevo!

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X