Pregunta

Estoy escribiendo una aplicación que lee la información de plist am XML en el paquete en el arranque. La información en el plist ha sido recopilada a través de muchos días de trabajo y me gustaría asegurarse de que no se puede extraer fácilmente del paquete de aplicación por la otra parte después de la distribución. ¿Hay alguna manera de asegurar o cifrar plists XML que se incluye dentro de su paquete de aplicaciones?

Cualquier ayuda sería muy apreciada por favor.

¿Fue útil?

Solución

No hay ninguna función incorporada de cifrado en plist. Mucha gente trata a la compresión como el cifrado.

Esto es lo que yo haría,

  1. Inventa una clave de cifrado.
  2. escribir un pequeño programa para cifrar el plist en un archivo binario utilizando SecKeyEncrypt().
  3. Coloque el archivo binario en el paquete.
  4. En la aplicación, se esconden la llave en alguna parte. Por ejemplo, guardarlas como piezas de manera que no es fácil de encontrar en un vertedero.
  5. Cuando que arranque la aplicación, leer el archivo binario del paquete, descifrarlo usando SecKeyDecrypt() con la tecla y almacenar el texto claro en la memoria.
  6. El texto claro es la plist y cargue el plist de la memoria.

Esto todavía se considera ofuscar porque clave está disponible en su paquete, pero será lo suficientemente fuerte para disuadir mayoría de los hackers casuales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top