Posté le 03/07/2011 à 03:10 Membre depuis le 03/07/2011, 1 message
Bonsoir,
Voulant créer un programme Ti89 (je ne m'y connais pas trop en programmation) et voulant qu'il ne se diffuse pas à tout le monde, je voudrais savoir si c'est possible de créer une sorte de protection qui délivre un mot de passe spécifique en fonction du numéro de série de la calculatrice et comment y arriver.
Par exemple, ca se fait pour les programmes vendus sur http://www.ti89.com/
Voila, en espérant que quelqu'un puisse l'aider smile
Posté le 03/07/2011 à 08:25 Membre depuis le 28/10/2001, 7625 messages
Est-ce qu'un programme comme KeyPass, de Samuel Stearley ( http://www.stearley.org/calc.html ), avec combinaison de touches paramétrable et surtout, résistant à la combinaison de reset 2nd+LEFT+RIGHT+ON (contrairement à certains programmes soi-disant de protection par mot de passe), ferait ton affaire ?
Au passage: la protection des FlashApps de ti89.com est facile à contourner.
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
Posté le 03/07/2011 à 11:23 Membre depuis le 18/06/2001, -26079 message
Purée, vendre des programmes pour 89 sick
99.99% des programmes pour 89 sont gratuits et ont toujours été faits dans un esprit de partage, pas grand monde ici ne t'aidera à faire ça.
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
Posté le 03/07/2011 à 12:16 Membre depuis le 13/06/2001, 73049 messages
Il n'a pas dit qu'il voulait que ça soit payant, il a dit qu'il ne voulait pas en généraliser la diffusion, c'est différent smile (typiquement, ça peut être intéressant pour une bêta, pour un programme vraiment spécifique, ou autre).
Par contre, une vraie protection efficace, ça me semble un peu compliqué. Une solution est de faire un exécutable crypté, ayant comme clé le numéro de série de la calculatrice (mais ça veut dire qu'il faut compiler un exécutable par calculatrice).
Sinon, il peut aussi faire un couple {code;numéro de série}, où le code est calculé à partir du numéro de série par une méthode fermée (il y a intérêt à ce que ça soit bien obfusqué au niveau de l'exécutable). L'association code correct-numéro de série donne alors une clé qui permet de décrypter l'exécutable.
Il y a probablement d'autres façons de faire, mais je ne suis pas spécialiste en protection cheeky
avatar
Posté le 03/07/2011 à 13:07 Membre depuis le 28/10/2001, 7625 messages
Hmm, vos réponses me font voir que j'ai très mal lu ./1 grin
J'avais raté "et voulant qu'il ne se diffuse pas à tout le monde", et j'ai répondu à côté.

Un chiffrage/déchiffrage basé sur le numéro de série ne serait pas très solide: il n'y a que 2^32 numéros de série différents par modèle de calculatrice (le premier octet ne fait qu'indiquer le type de machine), donc 2^34 numéros de série, puisqu'il y a les modèles 01 (92+), 03 (89), 08 (V200), 09 (89T).
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
Posté le 03/07/2011 à 16:34 Membre depuis le 02/11/2003, 8072 messages
De toutes façons, il suffit de faire un snapshot mémoire pendant que le programme tourne pour récupérer la version déchiffrée du binaire...
Posté le 03/07/2011 à 16:49 Membre depuis le 18/06/2001, -26079 message
Hmmm, s'il embarque un tant soit peu de smc, même de simples variables en section de code, ça pourra très bien ne pas marcher, même avec une protection de débutant.
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
Posté le 03/07/2011 à 21:48 Membre depuis le 16/06/2001, 69781 messages
menfin l'esprit TI a toujours été la libre diffusion des programmes.

Pour une beta on donne le prog aux testeurs uniquement, et si on veut abuser on fait d'abord signer un NDA. Pas besoin qu'il soit compliqué.
Posté le 04/07/2011 à 11:21 Membre depuis le 30/06/2001, 71421 messages
Lionel Debroux (./5) :
Hmm, vos réponses me font voir que j'ai très mal lu ./1 grin
J'avais raté "et voulant qu'il ne se diffuse pas à tout le monde", et j'ai répondu à côté.

Un chiffrage/déchiffrage basé sur le numéro de série ne serait pas très solide: il n'y a que 2^32 numéros de série différents par modèle de calculatrice (le premier octet ne fait qu'indiquer le type de machine), donc 2^34 numéros de série, puisqu'il y a les modèles 01 (92+), 03 (89), 08 (V200), 09 (89T).

Ca peux etre numero de série + code et faire un nombre sur 64bit (par exemple)
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o