Cómo eludir la restricción regional del modo de audífono de los AirPods Pro 2 con una jaula de Faraday
(lagrangepoint.substack.com)- Desde iOS 18.1, los AirPods Pro 2 pueden usarse como audífonos, pero por las restricciones regionales los usuarios con pérdida auditiva en India no podían usar de inmediato la función principal
- Las condiciones de restricción abarcaban varios frentes, como residir en un país compatible, usar iOS 18.1 o superior y firmware 7B19 o superior; el dispositivo podía determinar la ubicación combinando IP, configuración regional, GPS, red móvil e información de ubicación por WiFi
- Manipular el proxy y usar la simulación de CoreLocation de Xcode no funcionó, y por las pistas en los logs de
locationdy la configuración, parecía que la ubicación simulada no se usaba para determinar el dominio regulatorio - Al final se hizo un experimento de jaula de Faraday para imitar el entorno WiFi de Menlo Park, California, con datos de Wigle y un ESP32, reduciendo además las señales cercanas con una caja forrada de aluminio y un microondas
- Una vez activada, la función Hearing Aid se sincronizaba con la cuenta de iCloud y podía usarse también en otros dispositivos; la tarea clave que quedaba era definir un procedimiento reproducible para habilitar esta función restringida a usuarios reales
Restricción regional de la función de audífono en AirPods Pro 2
- Justo después de la actualización a iOS 18.1, se compraron unos AirPods Pro 2 para un abuelo con pérdida auditiva, pero Apple limitó la función Hearing Aid a Estados Unidos y algunos otros países, así que en India era prácticamente imposible usarla
- Los audífonos convencionales pueden costar desde ₹50,000 hasta más de ₹8L, según su capacidad de ajuste
- Apple promociona que la función de audífono de los AirPods puede compensar la audición hasta 60dbHL, especialmente alrededor de las frecuencias del habla
- Si se estaba en una ubicación compatible, se tenían AirPods Pro 2 y se usaba iOS 18.1 o superior junto con firmware 7B19 o superior, la pantalla de esa función aparecía en la app Health
- Si la función se “activaba” en un dispositivo con iOS 18.1 o superior, también podía habilitarse en dispositivos con versiones más antiguas, como firmware 7A294
Cómo determina iOS la ubicación
- La investigación inicial mostró que los dispositivos iOS podían determinar el país y la región del usuario por varias vías
- Enviando una solicitud GET a
https://gspe1-ssl.ls.apple.com/pep/gccpara obtener un código de país basado en la ubicación por IP - Revisando la configuración regional del Apple Store
- También podía tomar como referencia la configuración regional del dispositivo, la zona horaria y el idioma
- Enviando una solicitud GET a
- En dispositivos con GPS y red móvil, también era posible una determinación más directa de la ubicación
- Ubicación basada en la señal GPS
- Determinación por red móvil comparando MCC/MNC con una base de datos interna
- Para reducir el alcance del experimento, se usó un iPad de 10.ª generación modelo WiFi sin conectividad celular
- Falsificar GPS y antenas celulares tampoco era imposible si se construía una jaula de Faraday, pero requería mucho más trabajo
Elusión fallida: proxy y simulación de ubicación
- Primero se cambió la configuración regional y el país en iOS, y se hizo pasar el tráfico de red del dispositivo por un proxy en una laptop para que la respuesta del endpoint de geolocalización pareciera
USen lugar deIN - También se intentó falsear CoreLocation con la función de ubicación simulada de Xcode
- Este método no funcionó
- Por el certificate pinning, varias apps y pantallas de configuración no pudieron conectarse a los servidores de Apple
- Era posible que también se hubiera bloqueado la conexión al servidor de Apple necesaria para activar la función, aunque eso no se verificó por completo
- En los logs de la consola aparecían mensajes que sugerían que la función debía activarse, pero en la práctica la pantalla de configuración de Hearing Aid no se abría
Pistas reveladas en locationd
- Al revisar los logs al día siguiente, aparecieron mensajes que indicaban que el dispositivo seguía considerando que no estaba en Estados Unidos, aun con IP y configuración regional falseadas
- Se extrajeron los binarios
countrydylocationdpara buscar cadenas relacionadas - Dentro de
locationdse encontró una configuración booleana llamadaAllowSimulatedLocation, cuyo valor por defecto era 0 - También se encontró el getter
skipUpdatingRegulatoryDomain, que aparentemente se usa ensendUpdateToRDIfAllowedpara decidir si se actualiza el dominio regulatorio - Se llegó a la conclusión de que simular CoreLocation con las herramientas integradas de Xcode no servía para la determinación del dominio regulatorio de Hearing Aid
- La función Hearing Aid podía controlarse desde macOS, pero la activación tenía que hacerse desde un dispositivo iOS
- Seguía existiendo la posibilidad de modificar binarios en macOS con SIP desactivado para activar la función directamente, pero esa vía no se exploró
Cómo falsear la información de ubicación por WiFi
- Los dispositivos modernos pueden triangular la ubicación a nivel de ciudad combinando los SSID WiFi cercanos, las direcciones MAC de routers y dispositivos, y el GPS
- Esa era también la razón por la que un iPad solo con WiFi podía mostrar una ubicación precisa en apps incluso sin GPS ni red celular: posicionamiento por ubicación WiFi
- Se creó una cuenta en Wigle, una de las bases de datos públicas de ubicación WiFi, para obtener datos de Menlo Park, California
- Se hizo un fork y modificación de Skylift, configurando un ESP32 para transmitir rápidamente una rotación de SSID WiFi
- Así, el ESP32 imitaba el entorno inalámbrico de otra región
- La cantidad de SSID en rotación se aumentó de 10 a 100
- Como alrededor de Lagrange Point había muchas redes WiFi reales provenientes de casas cercanas, si no se debilitaban o sobrepasaban esas señales, el iPad podía seguir reportando otras redes del entorno
Experimento con jaula de Faraday y microondas
- La primera jaula de Faraday se construyó envolviendo una caja de cartón corrugado con papel aluminio
- Dentro de la caja se colocaron un ESP32 transmitiendo SSID de California y el iPad, que estaba conectado a una laptop para acceso a internet y logs de consola
- Aprovechando que tanto el WiFi como el microondas usan la banda de 2.4GHz, se intentó bloquear las señales persistentes de las redes cercanas haciendo funcionar un microondas con fuga a máxima potencia
- Se preparó un script para reiniciar el iPad y activar la red cinco minutos después de meterlo en la caja
- En el primer intento, el iPad seguía identificado como región
IN, pero tras ajustar varias veces la jaula de Faraday, la interferencia del microondas y el proceso de reinicio, finalmente apareció en la consola el mensaje de cambio de región esperado - Después de eso, al sacar el iPad y abrir los AirPods, apareció de inmediato el proceso de configuración de Hearing Aid
Procedimiento reproducible y plan de activación masiva
- Después de probar el concepto, se empezó a trabajar en un procedimiento más estable y reproducible para habilitar la función a personas que la necesitaban
- Tras varios días de experimentos, se construyó una jaula de Faraday más permanente
- También se planeó operar un pequeño campamento de activación en Lagrange Point para personas en Bengaluru a quienes les serviría usar los AirPods como audífonos
- La participación y las actualizaciones se recibirían por una cuenta de X y un hilo de publicaciones
Comportamiento después de la activación
- La función Hearing Aid parecía funcionar como un preset de ecualizador enviado a los AirPods, reemplazando el modo de transparencia
- Una vez activada la función Hearing Aid, el feature flag se sincronizaba con la cuenta de iCloud
- Gracias a esa sincronización, no era necesario repetir el mismo proceso en todos los dispositivos para poder usar la función
1 comentarios
Comentarios en Hacker News
La función de Hearing Aid en realidad parece ser un preset de ecualizador enviado a los AirPods, y al parecer reemplaza el modo transparencia
Si Apple no lo hubiera promocionado como “audífono” ni hubiera usado terminología médica, probablemente los reguladores no habrían intervenido. Otros audífonos totalmente inalámbricos con ecualizador paramétrico y modo transparencia también podrían hacer lo mismo
A cambio habrían perdido la ventaja de marketing, aunque probablemente ese mismo era un gran riesgo calculado. Estos dispositivos tienen una cantidad enorme de capacidad de procesamiento y flexibilidad. Incluso los productos de menos de 10 dólares con el infame SoC de JieLi son básicamente computadoras de 32 bits a 160 MHz en cada oído
Sorprende que todavía no haya audífonos totalmente inalámbricos que presuman firmware de código abierto, y parece que en comunidades chinas y rusas sí ha habido algo de trabajo de personalización
Si Apple solo dijera algo como “funciona más o menos como audífono”, quedaría en una desventaja importante frente a otras marcas que podrían poner carteles en lugares muy visibles de los puntos de venta. Claro, Apple todavía podría ganar en ventas en línea o entre gente que no necesite tanta confiabilidad
https://electronics.sony.com/otc-hearing-aids
https://audiochamps.com/what-does-tws-mean/
O sea, audífonos Bluetooth
Me preocupaba que hubiera otros temas regulatorios, como el volumen, pero no se me ocurre nada específico
Hay una parte que dice que “como WiFi y los hornos de microondas operan en la misma frecuencia de 2.4 GHz, hicieron funcionar un microondas con fuga a máxima potencia para bloquear la señal de red persistente en el aire”, pero curiosamente WiFi está diseñado para evitar este tipo de interferencia
Los hornos de microondas no emiten potencia en los cruces por cero de la corriente alterna, y durante ese intervalo no hay señal en el aire que interfiera con las ondas de radio. WiFi primero escucha antes de transmitir para evitar chocar con otros dispositivos, y la señal del microondas es suficiente para activar esa detección
No recuerdo si, por ser de media onda, el microondas genera ventanas de 1/120 de segundo 60 veces por segundo, o si solo hay una ventana de umbral alrededor del cruce por cero donde la potencia es demasiado baja para interferir. Aquí parece bastante probable que el microondas en realidad no haya contribuido mucho
Aunque otras veces no hubo ningún efecto perceptible
En Reddit, alguien comentó que se puede acceder directamente a la función de prueba auditiva con una URL especial
x-apple-health://HearingAppPlugin.healthplugin/HearingTest
Me pregunto si también se podrá encontrar un deeplink similar para activar el modo Hearing Aid
https://www.reddit.com/r/AirpodsPro/comments/1gftyqo/is_the_...
Hasta cierto punto, el método actual simplemente terminó siendo el enfoque más fácil
Seguro hay algo. Apple cambió los esquemas de manejadores de URL en iOS 18, así que los repositorios viejos que hacían referencia a esto ya no funcionan
Soy Rithwik, uno de los autores. Responderé preguntas si tienen alguna
Para Apple sigo siendo totalmente “canadiense”. No veo nada de las funciones de tiendas de apps de terceros restringidas a la UE, y sí puedo acceder a funciones como Apple Intelligence, que no se puede usar en la UE
No puedo probar la función de audífono porque no está disponible ni en Canadá ni en España, pero me intriga en qué se diferencia esta restricción regional de audífono de otras funciones de restricción o activación por región de Apple
Me gustaría saber cómo empezaron, si hay materiales que recomienden, y también, ya que dijeron que al final no terminaron comprando unos audífonos muy caros, qué audífonos usan realmente o cuáles les gustaría comprar
Me pregunto si esta configuración se restablece después de cierto tiempo, o si basta con hacerlo una sola vez.
Me preocupa que el iPad o los AirPods decidan que han estado demasiado tiempo en India y quiten la función.
Una vez que se activa la función, se establece una marca en la cuenta de iCloud, así que seguirá funcionando sin importar a dónde viajes. Al mismo tiempo, se envía un perfil de ecualización al modo transparencia de los AirPods y se activa la función de audífono.
Una vez hecho, se mantiene a menos que restablezcas los AirPods.
Pero hay una curiosidad interesante. Activé esta función en los AirPods de otra persona, y si en el dispositivo o la cuenta de esa persona la función no aparece como “disponible”, esa persona no podrá ajustar la configuración desde su propio dispositivo.
Este caso muestra muy bien por qué el software libre es tan importante. El bloqueo regional aquí es una práctica hostil que no tiene ningún sentido.
Si el software o firmware fuera libre y abierto, se podría parchear para eliminar o desactivar el bloqueo regional. Incluso es muy probable que esa restricción nunca se hubiera incluido.
En los países aprobados, los reguladores tendrían que haber aprobado esto como un dispositivo de asistencia médica. Si se pudiera vender un dispositivo de asistencia médica sin aprobación, también podrían venderse bajo ese nombre cosas que realmente podrían lastimar o matar a la gente.
El problema aquí es que este caso parece una función de asistencia que no causa daño, así que prohibirla se ve ridículo. Pero si la regulación no se aplica, entonces no sirve de nada.
Al final, puede que los reguladores de otros países sean lentos o, en el peor de los casos, que Apple ni siquiera haya solicitado la aprobación.
Me pregunto si alguien sabe qué hace realmente el modo Hearing Protection. No está disponible en Noruega ni fuera de Norteamérica.
Ya había usado antes los AirPods Pro 2 para proteger mis oídos y funcionaban bastante bien. Me pregunto si es solo que la expresión “Hearing Protection” se puede usar únicamente en EE. UU., o si realmente es una función mejor que la cancelación de ruido normal de los Pro 2.
Por cómo suena Hearing Protection al funcionar, parece compresión multibanda; es decir, divide el rango de frecuencias audibles en varias bandas y aplica compresión por separado a cada una. Pero también da la impresión de que esto ya lo hacían desde antes.
Me pregunto si esto realmente es distinto del modo transparencia personalizado de Accesibilidad que existía antes del anuncio de la función de audífono.
Se podía usar el audiograma guardado en la app Salud. Pero el modo transparencia personalizado sonaba bastante mal, como un filtro peine.
Está increíble. En i3Detroit están construyendo una jaula de Faraday del tamaño de un walk-in closet. Claro, como estamos en Estados Unidos, no hace falta para este hack en particular, pero hay montones de razones divertidas para tener una.
La razón principal es que muy cerca hay un transmisor de WOMC con una EIRP de 135,000 watts. Eso se mete en todo tipo de equipos y hace más difíciles otras mediciones de radiofrecuencia. Para cosas como alinear amplificadores, conviene fijar primero una línea base sólida en un entorno silencioso antes de agregar posibles causas como la intermodulación.
También puedes depurar equipos inalámbricos como WiFi, Bluetooth, etc., sin montones de nodos cercanos. Puedes filtrar la salida del sniffer, pero es más divertido filtrar la entrada misma.
Incluso podrías encender una red móvil 1G o 2G sin preocuparte por licencias de frecuencia. También podrías practicar técnicas agresivas de WiFi que podrían interferir con la red existente del hackerspace.
Podrías jugar con un spoofer de GPS en una zona sin FCC, o hacer experimentos divertidos de forma responsable. Incluso podrías encerrar un iPhone adentro y ver si se reinicia solo.
Me da muchísimas ganas de meter dispositivos adentro y llenar el aire interior de radiofrecuencia sin preocuparme por licencias.
De hecho, vi una jaula de Faraday a escala real en el Indian Institute of Science, y me dio gusto ver que su estructura y enfoque eran parecidos a los nuestros.
En este caso, parece que el certificate pinning también se podría resolver con bastante facilidad. Bastaría con usar un proxy o una VPN. Aun así, todo el alboroto de la jaula de Faraday está muy bueno.
Probablemente también habría funcionado usar Tailscale en algún VPS.