Domanda

Sto scrivendo un programma che legge le informazioni da am xml plist nel bundle all'avvio. Le informazioni contenute nel plist è stato compilato attraverso molti giorni di lavoro e vorrei assicurare che non può essere estratto facilmente dal fascio applicazione da un'altra parte dopo la distribuzione. C'è un modo per garantire o crittografare plists XML che si includono nel proprio bundle app?

Qualsiasi aiuto sarebbe molto apprezzato per favore.

È stato utile?

Soluzione

Non v'è alcun built-in funzione di crittografia in plist. Molte persone considera il compressione crittografia.

Ecco cosa farei,

  1. Make up una chiave di crittografia.
  2. scrivere un piccolo programma per crittografare il plist in un file binario utilizzando SecKeyEncrypt().
  3. Inserire il file binario nel pacchetto.
  4. Nella app, nascondere la chiave da qualche parte. Ad esempio, memorizzarli come pezzi in modo che non è facile da trovare una discarica.
  5. Quando si STARTUP l'applicazione, leggere il file binario da fascio, decifrare usando SecKeyDecrypt() utilizzando la chiave e memorizzare il testo in chiaro nella memoria.
  6. Il testo in chiaro è il plist e caricare il plist dalla memoria.

Questo è ancora considerato offuscando perché la chiave è disponibile nel tuo pacchetto, ma sarà abbastanza difficile per scoraggiare la maggior parte degli hacker casuali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top