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
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.
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) !
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
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.
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...
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) !
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é.
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