π
<-

Programme de clignotement diode examen : légende urbaine ?

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Programme de clignotement diode examen : légende urbaine ?

Unread postby critor » 01 Feb 2017, 16:34

Si l'on lit les commentaires sur les différents médias sociaux au sujet du mode examen 2018+, il serait ultra facile de réaliser un programme simulant le clignotement de la diode examen. :o

Lorsque l'on a une véritable connaissance des exigences des textes réglementant le mode examen et de son fonctionnement, on ne peut que se rendre compte qu'il est impossible de réaliser un tel programme de façon fiable et en laissant la calculatrice utilisable. En effet :
  • Un programme prend la main sur le système. Pendant qu'un programme tourne sur nos machines, il est impossible de faire appel à des fonctionnalités extérieures au programme.
    Il est donc en théorie possible de simuler le mode examen pendant les premières minutes et tromper le surveillant, mais en pratique il faudra bien à un moment se servir des fonctionnalités de sa calculatrice, c'est-à-dire sortir du programme ce qui éteindra ou figera la diode, et déclenchera l'intervention immédiate des surveillants.
    Un tel programme serait donc totalement inutile, même si il existe déjà de façon non publique pour calculatrices TI-Nspire.
  • Mais supposons donc qu'il soit possible de faire tourner un programme en arrière plan, sans blocage des fonctionnalités de la calculatrice.
    Problème : le signal se doit d'être régulier, là où la vitesse d'exécution d'un programme variera selon ce que la machine est en train de faire.
  • Supposons encore de façon optimiste qu'il soit possible de donner au code de notre programme une priorité suffisamment haute pour s'affranchir de ce contexte. Il reste un dernier problème essentiel auquel bizarrement on oublie de penser.
    Une fois le mode examen activé, le signal de la diode se doit d'être régulier, et ce en toute situation - c'est-à-dire que la diode continue à clignoter même lorsque la calculatrice est éteinte !
    Or, un programme normal cesse toute exécution à l'extinction de la calculatrice. :#non#:
Bref, un simple programme simulant le clignotement de la diode examen est tout bonnement impossible.
Du code faisant clignoter la diode est en théorie réalisable, mais pour s'affranchir simultanément des 3 contraintes précédentes, il devra être injecté très profondément au coeur même du système d'exploitation (ce qui ne saurait plus être qualifié de simple 'programme'), nécessitant donc une modification du système ce qui implique une connaissance assez poussée de son architecture.

De ce point de vue là, le mode examen à diode a été fort bien pensé. :bj:

3054Parmi nos modèles conformes, lesquels seraient vulnérables face à de telles modifications ?
  • Théoriquement, on peut programmer sans contrainte un système modifié sur Casio Graph 25+E, Graph 35+E, Graph 75+E, fx-CP400+E et HP Prime.
    Mais en pratique, les outils et/ou instructions techniques nécessaires ne sont disponibles publiquement que pour Casio Graph 35+E, Graph 75+E et HP Prime.
  • Sur les TI-83 Premium CE et TI-82 Advanced, le système est officiellement protégé contre toute altération par une signature électronique 2048-bits infalsifiable vérifiée à l'installation.
    En pratique, il est possible d'altérer le système une fois installé, mais les outils et/ou instructions techniques nécessaires n'ont jamais été publiés.
  • Sur les TI-Nspire nous retrouvons la même vérification par signature électronique, 1024-bits pour les modèles monochromes et 2048-bits pour les TI-Nspire CX.
    Grosse différence ici, la signature est vérifiée non seulement à l'installation du système, mais également à chaque redémarrage de la calculatrice.
    Faire tourner de façon pérenne un système modifié nécessite donc un gestionnaire de démarrage (Nlaunchy ou nBoot+ControlX), et aucun d'entre eux n'est compatible avec les TI-Nspire CX de génération CR4 (révision matérielle W+) produites depuis octobre 2015, et qui seront donc majoritaires aux examens 2018+.
    Rajoutons également que le système d'exploitation est enregistré sur la calculatrice sous forme cryptée, ce qui complexifie toute tentative de modification (il faudra à la fois être capable de décrypter et de recrypter, et ce sont deux problèmes complexes totalement différents).



Dans d'autres commentaires de sources similaires, certains se vantent même en disant qu'ils ont Ndless sur leur TI-Nspire qui leur permet de simuler le mode examen, ce qui n'est franchement pas malin du tout car d'une part c'est à ce jour faux, et d'autre part cela incite les institutionnels non techniquement compétents lisant cela à exiger de Texas Instruments le blocage alors injuste de Ndless. :mj:

Le contrôle de la diode examen par des programmes Ndless était effectivement possible par simple écriture sur le port associé jusqu'à la version d'OS 1.4.
Depuis, ce port fait l'objet d'un verrouillage, même si cela a donc pu être contourné par un programme.
Ce programme rajoute le déverrouillage de la diode en écrivant à 3 adresses différentes au lieu d'une seule :
Mais en l'état, c'est donc un programme totalement inutile : le lancement prend le contrôle de la diode, mais comme avec tout programme Ndless ce dernier prend la main sur le système et les fonctionnalités de la calculatrice deviennent alors inutilisables jusqu'à la sortie du programme.

7756Nous avons refait un tel programme de démo à partir de ces adresses documentées publiquement. Il permet d'allumer indépendamment les deux couleurs de base de la diode (vert et rouge), ce qui par synthèse additive donne la 3ème couleur orange.
Il ne sera bien évidemment jamais publié ni partagé - mais nous ne pouvons pas décemment parler de la fiabilité du mode examen sans tester nous-mêmes si il y a moyen de contourner. ;)

Crois-tu donc que ce soit plus facile de contrôler la diode examen parce que l'on a une TI-Nspire avec Ndless ?
Oh que non, car on se rend compte à l'utilisation du programme qu'il y a une autre énorme difficulté non encore évoquée, une sécurité malicieusement cachée par Texas Instruments. A la sortie du programme le système d'exploitation reprend la main, et d'une façon ou d'une autre arrive à se rendre compte qu'une ou plusieurs écritures ont été effectuées sur le port de la diode.
Le motif de la diode ayant donc peut-être été falsifié, le système redémarre immédiatement la calculatrice, annulant donc au passage toutes les altérations que tu as éventuellement réalisées (dont l'installation de Ndless si tu n'as pas de gestionnaire de démarrage).

Ci-dessous, une démo te montrant bien que le redémarrage ne se produit pas si on ne change rien, mais se produit dans tous les autres cas, y compris si tu prends soin de remettre la diode dans son état d'origine : :o


Contrairement à la rumeur Ndless ne change donc rien à la chose, la prise de contrôle de la diode semblant même encore plus difficile sur TI-Nspire que sur les autres modèles.



De nombreux contournements du mode examen plus ou moins facilement réalisables selon les modèles existent et d'autres encore plus extraordinaires sont à venir, mais imaginer pouvoir simuler le clignotement de la diode examen juste en lançant un programme est vraiment la pire des idées. :#non#:




Niveau surveillants, dans l'éventualité où du code contrôlant la diode soit un jour fonctionnel sur certains modèles, ce qui à date n'est vraiment pas gagné d'avance, la meilleure vérification est de venir à un moment ou à un autre éteindre la calculatrice de chaque candidat.
Si la calculatrice refuse de s'éteindre ou si le clignotement de la diode s'arrête ou change de rythme (il est donc irrégulier contrairement aux exigences du cahier des charges officiel), c'est qu'il est simulé par du code non officiel et qu'il y a donc fraude. :#non#:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Programme de clignotement diode examen : légende urbaine

Unread postby Ti64CLi++ » 01 Feb 2017, 16:54

Mais donc la calculatrice la moins protégé contre le clignotement de la LED serait la HP Prime non? Puisque un OS modifié a déjà été créer, il serait théoriquement possible d'en faire un avec toutes les fonctionnalités de l'OS d'HP, mais avec le clignotement de la LED en plus?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Programme de clignotement diode examen : légende urbaine

Unread postby critor » 01 Feb 2017, 16:57

Oui, un OS alternatif est capable de faire clignoter la diode sur HP Prime, il en sera question dans un autre article, tout comme du Linux sur TI-Nspire.

Mais niveau fonctionnalités, l'OS HP Prime alternatif t'offre juste une calculatrice basique 4 opérations, donc aucun candidat ne choisira ça à ce jour pour frauder. :P
Il aurait fallu que cet OS évolue vers un portage de Linux ou de BSD, mais plus rien ne semble bouger depuis des mois. :'(

Donc comme au final on peut faire comme si cet OS alternatif n'existait pas, je dirais égalité à la dernière place entre la HP Prime et les Graph 35+E/75+E.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Programme de clignotement diode examen : légende urbaine

Unread postby Ti64CLi++ » 01 Feb 2017, 17:12

Et avec nDroid, ça doit être possible de créer une application pour faire clignoter la led non?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Programme de clignotement diode examen : légende urbaine

Unread postby Epharius » 01 Feb 2017, 17:37

Intéressant, je me demandais où on en était pour le clignotement de la LED justement.

Sinon pour les (e)Z80 au moins, il serait possible d'utiliser les interruptions pour avoir quelque chose de précis (comme ce que doit faire l'OS en mode examen) mais éteindre la calculatrice doit arrêter les interruptions de toute façon :p
Dans tous les cas personnellement je n'avais pas réussi à faire clignoter ma LED sur 83PCE, sans avoir non plus poussé mes recherches. Mais certains ont déjà du y parvenir à mon avis.

Bref, à voir comment évoluent les choses !
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.1%
 
Posts: 1160
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: Programme de clignotement diode examen : légende urbaine

Unread postby Wistaro » 01 Feb 2017, 18:05

Bel article :)

Si la partie logicielle pose problème, pourquoi ne pas passer du côté hardware?

Faire un petit système de clignotement à l'aide de 2/3 composants ne poserait aucun problème. Le seul hic, c'est la discrétion :p
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Programme de clignotement diode examen : légende urbaine

Unread postby jean-baptiste boric » 01 Feb 2017, 19:16

critor wrote:Mais niveau fonctionnalités, l'OS HP Prime alternatif t'offre juste une calculatrice basique 4 opérations, donc aucun candidat ne choisira ça à ce jour pour frauder. :P
Il aurait fallu que cet OS évolue vers un portage de Linux ou de BSD, mais plus rien ne semble bouger depuis des mois. :'(


Pour continuer il me faut impérativement un environnement de développement plus developer-friendly, c'est à dire un QEMU récent avec un support minimal du matériel de la HP Prime. Un utilitaire pour flasher la calculette sous Linux ne serait pas de refus non plus.

Mais à chaque fois que je regarde les sources de QEMU je finis avec une migraine... :?
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Programme de clignotement diode examen : légende urbaine

Unread postby critor » 01 Feb 2017, 19:19

Ah ben déjà heureux de voir que tu es toujours parmi nous et que tu vas bien. :)
Et bonne année ! ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Programme de clignotement diode examen : légende urbaine

Unread postby Bx4 » 01 Feb 2017, 20:38

Je lisais ASM Guru (tres bon tuto français) qui donnait ce code :
Code: Select all
OFF:         
DI   ; disable interrupts         
LD A,001H         OUT (003H),A  ; turn off screen         
LD A,000H         OUT (004H),A       
EX AF,AF'       
EXX         
EI   ; enable interrupts       
RET

Ce code sert a éteindre la calculette, mais il est dit que "le programme reste en mémoire. La commande 'ret' s'exécute quand vous rallumez votre TI". Est ce que c'est possible de faire clignoter la led avec un programme assembleur ?
Si c'est le cas, on a résolu le troisième problème :)
User avatar
Bx4Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 69.9%
 
Posts: 12
Joined: 14 Dec 2016, 22:09
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Première S

Re: Programme de clignotement diode examen : légende urbaine

Unread postby critor » 01 Feb 2017, 21:22

Aucune idée, à tester.

Mais c'est donc du code z80, ce qui ne peut concerner que les TI-82 Advanced et TI-83 Premium CE.

Sur TI-82 Advanced nous n'avons actuellement aucun moyen public d'y injecter du code machine tiers.

Sur TI-83 Premium CE cela reste possible, mais en pratique les écritures directes sur des ports (OUT) sont toutes interceptées, déclenchant un redémarrage immédiat de la machine.


Qu'on les apprécie ou pas, les TI-82 Advanced et TI-83 Premium CE semblent être les modèles les mieux sécurisés niveau mode examen.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Next

Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
726 utilisateurs:
>711 invités
>4 membres
>11 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)