Bonjour,
Je veux creer une demo d'un soft pour OSX 10.8/10.9 que je vends sur le Mac App Store. C'est une app avec une database SQLite / CoreData. J'aurais pu creer un freemium qui incorpore un achat in-app si l'utilisateur veut utiliser a fond l'app, c'est a dire creer plus d'objets dans certaines tables de donnees que ce que la demo doit autoriser.
Je n'ai pas le temps pour l'instant d'apprendre tout ce qui concerne la programmation des achats in-app, la gestion des recus etc... donc j'ai choisi une solution qui ne m'a pris qu'une demi-heure, reflexion comprise:
- Creer une copie de mon app, avec un nom specifique pour le bundle (com.domain.appname-demo) et le fichier de base de donnees (persistent store).
- Quelques lignes de code en plus qui verifient le nombre d'objets dans certaines tables pour bloquer l'utilisateur a un certain moment en lui presentant une alert sheet pour lui rappeler la limite. Pour le comptage, je me base sur [[arrayController arrangedObjects] count].
- Quelques lignes de code en plus pour verifier la date et bloquer l'app au-dela d'une certaine date: [[NSDate date] compare:*une_certaine_date_codee_en_dur*]. Quand la date est atteinte, l'app montre une alert sheet a l'utilisateur au demarrage, puis terminate.
- Le controle des limites dans cette demo ne fait appel a aucune info stockee dans un fichier facile a modifier, par exemple la plist des Prefs de l'app. J'ajoute qu'elle est signee, et le fichier PKG avec mon certificat Developer ID Installer.
En theorie, on peut toujours ouvrir la database avec une app tierce pour supprimer des vieux enregistrements dans des tables et contourner la limite du comptage, et modifier les preferences systeme pour contourner la limite de date, mais personne ne ferait ca car, vu la nature des donnees creees avec mon app, cela produirait un resultat insense et inutilisable en pratique.
Ma question: dans ces conditions, serait-il facile pour un hacker de cracker mon app pour distribuer une copie sans limite et permettre aux gens de l'utiliser sans l'acheter sur le store? Me conseillez-vous de m'y prendre autrement pour inserer des limites et protections? A ce niveau-la, je n'y connais rien en securisation...
Merci
Je veux creer une demo d'un soft pour OSX 10.8/10.9 que je vends sur le Mac App Store. C'est une app avec une database SQLite / CoreData. J'aurais pu creer un freemium qui incorpore un achat in-app si l'utilisateur veut utiliser a fond l'app, c'est a dire creer plus d'objets dans certaines tables de donnees que ce que la demo doit autoriser.
Je n'ai pas le temps pour l'instant d'apprendre tout ce qui concerne la programmation des achats in-app, la gestion des recus etc... donc j'ai choisi une solution qui ne m'a pris qu'une demi-heure, reflexion comprise:
- Creer une copie de mon app, avec un nom specifique pour le bundle (com.domain.appname-demo) et le fichier de base de donnees (persistent store).
- Quelques lignes de code en plus qui verifient le nombre d'objets dans certaines tables pour bloquer l'utilisateur a un certain moment en lui presentant une alert sheet pour lui rappeler la limite. Pour le comptage, je me base sur [[arrayController arrangedObjects] count].
- Quelques lignes de code en plus pour verifier la date et bloquer l'app au-dela d'une certaine date: [[NSDate date] compare:*une_certaine_date_codee_en_dur*]. Quand la date est atteinte, l'app montre une alert sheet a l'utilisateur au demarrage, puis terminate.
- Le controle des limites dans cette demo ne fait appel a aucune info stockee dans un fichier facile a modifier, par exemple la plist des Prefs de l'app. J'ajoute qu'elle est signee, et le fichier PKG avec mon certificat Developer ID Installer.
En theorie, on peut toujours ouvrir la database avec une app tierce pour supprimer des vieux enregistrements dans des tables et contourner la limite du comptage, et modifier les preferences systeme pour contourner la limite de date, mais personne ne ferait ca car, vu la nature des donnees creees avec mon app, cela produirait un resultat insense et inutilisable en pratique.
Ma question: dans ces conditions, serait-il facile pour un hacker de cracker mon app pour distribuer une copie sans limite et permettre aux gens de l'utiliser sans l'acheter sur le store? Me conseillez-vous de m'y prendre autrement pour inserer des limites et protections? A ce niveau-la, je n'y connais rien en securisation...
Merci
Dernière édition: