1

Bien le bonsoir
Voila dans mon programme j'ai decouvert en l'excutant avec vti que lorsque j'utilisais la touche 2nd+ESC cela faisait tout bugé et je ne vois d'ou cela vient.Est ce quelqu'un pourrait m'aider?
Voici la source: // C Source File // Created 31/08/2004; 22:44:45 #include <tigcclib.h> #include <kbd.h>   #undef XFLAGS  #define XFLAGS 15  #undef XF_NO_ALPHA_LOCK  #define XF_NO_ALPHA_LOCK 0x0004000000000000ULL  void _main(void)  {  int dialogkey; const char *text;  char buffer[10];  const char *a="8908";  HANDLE dialog;    text="Welcome on my TI89"; Again:   if(!(dialog=DialogNewSimple(140,50)))return;  DialogAddTitle(dialog,"Password",BT_OK,BT_CANCEL); DialogAdd(dialog,0,0,0,XFLAGS,XF_NO_ALPHA_LOCK);  DialogAddRequest(dialog,4,24,"Request the password",0,5,5);  DialogAddText(dialog,4,15,text);  dialogkey=DialogDo(dialog,CENTER,CENTER,buffer,NULL);  HeapFree(dialog);  if(dialogkey!=13) DlgMessage("Password","You dream!!!",BT_OK,BT_NONE);;  if (!strcmp(a,buffer))  { DlgMessage("Password","Access Granted",BT_OK,BT_NONE); return;  }        else        {           DlgMessage("Password","Access Denied",BT_OK,BT_NONE);        } goto Again;  } 

Merci d'avance.

2

3

Non j'en avais un d'installer mais vu que j'ai remis l'os à jour il y a peu de temps je sais plus pourquoi smile ben j'en ai plus.
ca pourrait venir de ca?

4

je sais pas si je trouverais la source du pb, mais vu que j'ai commencé à jeter un coup d'oeil au source, autant que je dise ce qui me passe par la tête smile

#include <tigcclib.h>
#include <kbd.h>[/cite]
les headers de tigcc (dont kbd.h) sont tous inclus dans tigcclib.h => tu n'as pas besoin de ré-inclure kbd.h

[pre]#undef XFLAGS 
#define XFLAGS 15 
#undef XF_NO_ALPHA_LOCK 
#define XF_NO_ALPHA_LOCK 0x0004000000000000ULL

heu... ces flags sont définis quelque part dans un des headers de TIGCC, je suppose... pourquoi les indéfinir puis les redéfinir ? les valeurs par défaut ne fonctionnent pas ?

le Again, puis goto Again... pas super joli à lire smile
un do...while serait plus joli smile
un peu comme ça (c'est plus un algo que du vrai code grin )
pass_ok = 0;
do
{
    DlgMachin... enfin, tout ce qui touche à la boite de dialogue
    if(!strcmp(buffer,a))
    {pass_ok = 1; DlgMessag("ok");}
    else DlgMessage("pas ok");
    
}while(!pass_ok);


dans ton programme, si le pass est OK, alors tu return => ça quitte
si le pass est pas ok, tu vas à Again => tu recommences
Il n'y a pas moyen de quitter tant qu'on n'a pas entré le pass correct ?

ton pb avec 2nd+ESC, ça se produit quand ?
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Ca se produit quand tu veux quitter le programme en utilisant cette touche pour esquiver le mot de passe.

6

si tu appuie sur ESC, ton dialogkey sera différent de 13
donc, tu afficheras "you dream"
ta condition !strcmp() sera fausse => tu afficheras "denied"
et là, tu feras un goto Again
=> tu repartira au niveau de la création dela boite de dialogue
donc, ça ne quittera pas smile
(ou alors, j'ai raté un truc dans le source ; j'ai pas essayé de l'exécuter)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

7

squale92 :
#undef XFLAGS 
#define XFLAGS 15 
#undef XF_NO_ALPHA_LOCK 
#define XF_NO_ALPHA_LOCK 0x0004000000000000ULL
heu... ces flags sont définis quelque part dans un des headers de TIGCC, je suppose...

Non, ils ne le sont pas. Ce morceau de code est de moi, et je mets les #undef au cas où TIGCCLIB met ces valeurs plus tard (et pas forcément de la même manière - si on veut être compatible avec TIFS, on ne peut pas mettre le long long pour XF_NO_ALPHA_LOCK, on devra faire comme eux et prévoir 2 longs voire 4 shorts).
le Again, puis goto Again... pas super joli à lire smile

Déjà, c'est subjectif, et puis ça n'a strictement rien à voir avec son problème.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Non, ils ne le sont pas

ah, ok smile
Déjà, c'est subjectif, et puis ça n'a strictement rien à voir avec son problème

certes, mais s'il peut prendre de bonnes habitudes dès les programmes de 30 lignes (environ, j'ai pas compté), ça lui sera profitable pour ceux que 3.000... et encore plus pour ceux que 30.000
(quand tu reprend 10.000 lignes de codes avec des goto deux ans après que tu les ait écrites... c'est _dur_... surtout quand les gotos peuvent aisément être remplacés par autre chose)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

9

10

Eu c'est quoi XFLAG ?

11

Mais le probleme est toujours le fait que quand j'excute le programme ,or en utilisant la touche 2nd+ESC on peut feinter le mot de passe qui fera bugé la caltos.

12

cerede2000
: Eu c'est quoi XFLAG ?

eXtra/eXtended FLAGs.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

Pep :
Mais le probleme est toujours le fait que quand j'excute le programme ,or en utilisant la touche 2nd+ESC on peut feinter le mot de passe qui fera bugé la caltos.


On m'a toujours pas repondu à ma question.

14

Si:
squale92 :
si tu appuie sur ESC, ton dialogkey sera différent de 13
donc, tu afficheras "you dream"
ta condition !strcmp() sera fausse => tu afficheras "denied"
et là, tu feras un goto Again
=> tu repartira au niveau de la création dela boite de dialogue
donc, ça ne quittera pas smile (ou alors, j'ai raté un truc dans le source ; j'ai pas essayé de l'exécuter)

avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Oui mais si tu appui sur la touche 2nd+ESC ca fait bugé le programme.

16

personne ne repond

17

Rajoute un GKeyFlush(); après ton HeapFree(dialog);.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Et au fait, ton programme de mot de passe ne sert strictement à rien (à moins que toutes tes données importantes ne soient en RAM plutôt qu'en archive, ce qui est une assez mauvaise idée dans le cas d'un plantage), il suffit de faire un reset de la RAM pour débloquer.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

19

20

Ça ne sert à rien. Même si on intercepte la combinaison de touches, il y a toujours des moyens non interceptables de faire un reset.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

21

oui mais pas tout les gars qui touchent a ta caltos savent s'en servir donc il ne savent pas forcement faire un reset et puis je ne suis pas un chaud de la programmation j'ai fait ça pour faire style

22

23

Pep :
oui mais pas tout les gars qui touchent a ta caltos savent s'en servir donc il ne savent pas forcement faire un reset et puis je ne suis pas un chaud de la programmation j'ai fait ça pour faire style

Euh y'a pas besoin d'être spécialement futé pour retirer les piles...
Ou alors si t'es motivé tu t'arranges pour être chargé pendant le boot de AMS grin
Mais bon, voilà le boulot aussi.

Et si tu veux un truc encore plus fiable, tu ouvres ta calc, tu changes une soudure sur un chip, et tu modifies le bootloader qui flashe la rom. Bien évidemment, nous ne saurions être tenus pour responsables des dégats que tu pourrais faire en mettant cette idée en pratique. cheeky

24

De toute facon il est impossible rien qu'en faisant un programme de faire une password inviolable!!

25

certes. Mais tu peux faire un système tel qu'il faudra suffisamment de temps (et éventuellement d'argent) pour le casser que le jeu n'en vaudra plus la chandelle.

26

C'est vrai que réinstaller l'AMS effacera aussi les données... Donc si tu patches le démarrages de l'AMS (sans patcher le boot lui-même) Tu peux protéger des données par mot de passe... Mais bon: Est-ce vraiment nécessaire? Qu'as-tu de si confidentiel dans une TI-89?
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

27

C'est vrai que réinstaller l'AMS effacera aussi les données... Donc si tu patches le démarrages de l'AMS (sans patcher le boot lui-même) Tu peux protéger des données par mot de passe... Mais bon: Est-ce vraiment nécessaire? Qu'as-tu de si confidentiel dans une TI-89? 

Sur ma calc c'est pas vrai : je peux me creer un OS special qui ne fait qu'un lecteur hexadecimal, puis rebooter dessus en utilisant le boot, et donc apres lire les donnees. M'enfin je suis un cas extreme. Donc je conseille de crypter les donnees quand meme.

28

Ué sauf qu'il a pas dit un OS il a dit l'AMS tongue
#cheveux#