Recientemente escuché bastantes rumores (¿o historias reales?) Sobre cómo algunos desarrolladores chinos de iOS lograron engañar al sistema de comprobación API privado de la App Store y tener sus llamadas dinámicas aplicaciones api privadas aprobadas y disponibles en la tienda de aplicaciones.Llamadas dinámicas a API privada sin ser notado por la tienda de aplicaciones
Hasta ahora, esas historias se centraban en las API privadas de WebKit. Afirmaron que tuvieron éxito en obtener acceso a los datos personales del usuario de iPhone llamando a esas API privadas de WebKit.
Tengo que decir que estoy confundido. Mi pregunta:
- ¿Es lógica su afirmación? (es decir, ¿es posible obtener acceso a los datos del usuario a través de la API privada de WebKit?)
Mi pensamiento sobre las posibles formas de lograr la tarea.
- a través de la performSelector: método
- través NSInvocation
- a través de este llamado omnipotente y misteriosa reflexión cosa
No creo que sea posible a mí mismo. Pero mi experiencia con iOS es limitada, así que no estoy tan seguro de mi juicio. Cualquier sugerencia es muy bienvenida. :)
Al final todo es posible con la cantidad correcta de investigación, etc. – Daniel
Desafortunadamente, todo lo que sabemos sobre la forma en que Apple comprueba el uso privado de API es anecdótico, ya que no divulgan su proceso para hacerlo. Cualquier solución sugerida aquí podría fallar tan pronto como Apple cambie su proceso de revisión. –
El acceso a la API privada nunca ha sido un problema. Por ejemplo, su código contiene nombres de símbolos codificados, los descodifica en tiempo de ejecución, busca sus direcciones usando el enlazador dinámico, luego llama a las funciones/métodos por dirección. Dicho eso, será mejor que sepas lo que estás haciendo, por qué lo haces y cómo hacerlo de la forma más segura posible. Es solo una mala práctica, punto. El uso de API privada debe evitarse a toda costa. – Costique