¿Por qué algunos mensajes de texto Unicode bloquean el sistema operativo del iPhone?

29

Recientemente, ha surgido una nueva "falla" en Internet en las últimas semanas, donde si se envía un usuario de iPhone:

  effective. 
      Power
           لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ
 冗

a través de iMessage bloquea el sistema operativo del teléfono temporalmente y la fuerza reinicia el teléfono receptor.

¿Por qué funciona esto?

    
pregunta Shaun Loftin 27.05.2015 - 23:54

2 respuestas

34

Si necesita una solución para esto, use Siri o una Mac con iMessage para enviarse un nuevo mensaje. Consulte enlace

Es un procedimiento de tres pasos para recuperar y una futura actualización de software solucionará este error.

  1. Pídale a Siri que "lea los mensajes no leídos".
  2. Use Siri para responder al mensaje malicioso. Después de que respondas, podrás abrir Mensajes nuevamente.
  3. Si el problema continúa, mantén presionado el mensaje malicioso, toca Más y elimina el mensaje de la cadena.

En cuanto a por qué sucede, es un error específico en la forma en que el Centro de notificaciones presenta el contenido de Unicode de este mensaje. El código realiza una operación "insegura" (algo similar a 5 dividido por 0 y luego no busca resultados inesperados) que causa un error no manejado.

Luego, ya que el Centro de notificaciones no puede procesar el bloque de texto y, en última instancia, bloquea el Springboard que no tenía el código para manejar esta falla correctamente. Cuando no hay un controlador de errores específico presente, la mayoría de las operaciones tienen un "reinicio usted mismo" a prueba de fallas para intentar remediar el error.

Unicode es una forma de codificar caracteres que se usa para manejar idiomas que tienen un mayor número de caracteres que el inglés. Los programadores pueden tener problemas con esto porque aprendieron a programar usando texto ASCII y no escriben su software con soporte completo de Unicode.

Un buen buen artículo sobre este explica "si aún está programando de esa manera, no es mucho mejor que un médico que no cree en los gérmenes ".

Este otro artículo explica bien esta situación específica.

Apple podría realizar revisiones de código más estrictas, realizar pruebas unitarias específicas o dejar que los usuarios finales fuzz prueben su código como en este y similar cases .

    
respondido por el tron_jones 28.05.2015 - 03:38
6

Es algo para que Apple lo arregle.

El problema parece deberse a la forma en que el teléfono intenta mostrar el mensaje en las notificaciones. Los caracteres hacen que el sistema se rompa, por lo que intenta mostrarlo brevemente antes de fallar y luego volver a configurar el teléfono para intentar repararlo.

Aquí hay algunas correcciones a corto plazo que puedes hacer hasta que Apple solucione el problema.

  • Haga que la persona que le envió el mensaje malicioso envíe otro mensaje cancelando efectivamente la cadena inicial

  • Envíate un mensaje a través de Siri, la hoja compartida o desde tu Mac.

  • Otro lector observa que "enviar una foto al contacto a través de la aplicación Fotos puede permitirle acceder al historial de mensajes y eliminar la conversación "

fuente: enlace

    
respondido por el Buscar웃 28.05.2015 - 00:17

Lea otras preguntas en las etiquetas