Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> Fx lock
Fx lock
Version : 2.01 Taille : 6120 octets Ajouté le : 2014-02-11 18:41 Modifié le : 2018-10-06 14:31
Auteur : nicocreation
Posté par :
PlanetcasioHors ligneMembrePoints: 623 Défis: 0 Message
Planète Casio - Add-in Casio - Fx lock - nicocreation - Calculatrices
Nombre de visites sur cette page : 14928
Score au progrank : 65
Note actuelle : 8.75/10 noté 4 fois
Vous devez être connecté(e) pour noter (inscription).
3343 téléchargements | Voir les Tests (3)


A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

Cet add-in développé par Nicolas d'Avenia sur le site topprogcasio permet de bloquer l\'accès à votre calculatrice si vous ne possédez pas le code que vous déterminerez à la première utilisation.

Détails techniques
Cliquez pour enrouler

Le mot de passe est stocké dans un fichier de 10 octets.
Le développeur est joignable à : Autorisation de la divulgation en attente des admins.
publié de base sur www.top-progcasio.com.


Détails d'installation
Cliquez pour enrouler
1) Vous mettez le programme sur la calto.
2) Vous lancez l'appui.
3) Si le fichier du code n\'existe pas encore, Le programme vous demandera de rentrez un mot de passe 2 fois. Ce mot de passe sera enregistré dans un fichier de 10 octets.
4) Vous pouvez directement éteindre la calto ou sortir du prog avec (MENU) et puis éteindre la calto.
5) La calto est protégée.

Optionnel : si vous voulez, vous pouvez mettre un bout de scotch sur les circuits imprimés de votre calto à l'endroit du bouton reset.
ça le désactive.

Merci à Gollum pour ces indications.


Une version améliorée Shadow15510 (message)


Note sur 10 Commentaire Date de notation
8Très bon addin. Interface à modifier ...Le 12.02.2014 à 17:47
8.8Voir le testLe 22.05.2023 à 03:01
9.2Voir le testLe 26.02.2014 à 17:26
9Voir le testLe 27.06.2016 à 12:53

Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 12-02-2014 à 16:54 | #
Salut, je pensais avoir dit que Limachi m'avait filé les les sources mais maintenant, je peux plus modifier
donc, Si vous voulez une description plus détaillée, voilà :
La description détaillée de l'utilisation.
Cliquer pour enrouler
D'abord, Vous mettez le programme sur la calto.
2° vous lancez l'appli.
si le fichier du code n’existe pas encore, Le programme vous demandera de rentrez un mot de passe 2 fois.
ce mot de passe sera enregistré dans un fichier de 10 Octets
Maintenant,vous pouvez directement éteindre la calto ou sortir du prog avec (MENU) et puis étteindre la calto.
voilà, la calto est protégée.
si vous voulez, vous pouvez mettre un bout de scotch sur les circuits imprimés de votre calto à l'endroit du bouton reset.
ça le désactive.

voilà, je vous ai fait la description mais je voulais apporter 2/3 changements à l'addin donc je pense que je posterais les nouvelles versions en fichiers joins.
PS @ admins: je propose de rajouter les projets sdk au extensions autorisées
GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 12-02-2014 à 16:55 | #
COMPAPTIBLE SH4 8)
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1242 Défis: 54 Message
Posté le 12-02-2014 à 17:31 | #
Les projets sdk ? Il me semble fortement que si tu parles du fichier .g1w (il me semble bien que c'est ça l'extension), ce dernier seul ne contient pas de code et est donc inutile si on ne donne pas le reste du dossier : d'où l'utilité de un ZIP du dossier ... Enfin, c'est à vérifier mais je suis quasi sûr que c'est ça ...
GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 12-02-2014 à 17:35 | #
perso, quand je double clique un .g1w, je tombe direct sur mon sdk avec mon code ....
je sais pas si c'est parceque je clique dans le bon dossier.
DodormeurHors ligneAncien rédacteurPoints: 3965 Défis: 84 Message
Posté le 12-02-2014 à 17:37 | #
En fait, le g1w contient la position de tout le code source, et il sait donc ou il doit chercher dans ton ordinateur pour trouver le code source. Mais si les .c ne sont pas la, il va t'afficher une erreur
GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 12-02-2014 à 17:40 | #
ok, je vous mets toutes les sources dans 2 secondes ..
GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 15-02-2014 à 08:19 | # | Fichier joint
le code source (modifié par mes soins)
Cliquer pour enrouler
//FxLock V2
//D'AVENIA Nicolas
//Email address, replace the 【arobase】 with a @ and ▶ with a . : nicoda57【arobase】gmail▶com
//www.top-progcasio.com

#include "fxlib.h"


FONTCHARACTER pinFile[]={'\\','\\','f','l','s','0','\\','p','f','i','l','e','.','d','a','t',0};

int worb=1;
void clignote()
{
int i,j;
worb=-worb;
if(worb==1)
{
for(i=123;i<=127;i++)for(j=0;j<=4;j++)Bdisp_SetPoint_DD(i,j,1);
}
else
{
Bdisp_PutDisp_DD();
}
}

int matchCode(unsigned char * pass1, unsigned char * pass2)
{
while(*pass1==*pass2){
if(*pass1==0)return 1;
pass1++;
pass2++;
}
return 0;
}

void getUserCode(int pos_x, int pos_y, unsigned char * pass){
unsigned int key;
unsigned char etoile[2]={0x2A,0};
int pos=0;
SetTimer(1,350,clignote);
do{
GetKey(&key);
if(key>=48 && key<=58 && pos<8)
{
locate((pos_x+pos),pos_y);
pass[pos]=(unsigned char)key;
Print((unsigned char*)etoile);
pos++;
}
if(key==KEY_CTRL_DEL && pos>0)
{
pos--;
locate((pos_x+pos),pos_y);
Print((unsigned char*)" ");
}
}while(key!=KEY_CTRL_EXE || pos==0);
pass[pos]=0;
KillTimer(1);
}

void readPassword(unsigned char * buf){
int file;
file=Bfile_OpenFile(pinFile,_OPENMODE_READ);
Bfile_ReadFile(file ,buf ,9,1);
Bfile_CloseFile(file);
}

void setPassword(unsigned char * pass){
int file;
unsigned char buf[10];
int i=1;
i=1;
buf[0]=1;
do{
buf[i++]=*pass;
} while(*(++pass));
buf=0;
Bfile_DeleteFile(pinFile);
Bfile_CreateFile(pinFile, 10);
file=Bfile_OpenFile(pinFile,_OPENMODE_WRITE);
Bfile_WriteFile(file,buf,10);
Bfile_CloseFile(file);
}

unsigned char isFirstUse()
{
unsigned char buf;
int file;

Bfile_CreateFile(pinFile,10);
file=Bfile_OpenFile(pinFile,_OPENMODE_READ);
Bfile_ReadFile(file ,&buf ,1,0);
Bfile_CloseFile(file);

if(buf!=1)return 1;
return 0;
}

void install()
{
unsigned int key;
unsigned char tampon=1;
int file;
unsigned char pass1[10];
unsigned char pass2[10];

file=Bfile_OpenFile(pinFile,_OPENMODE_WRITE);
Bfile_WriteFile(file,&tampon,1);
Bfile_CloseFile(file);

locate(0,1);
Print((unsigned char*)"FX LOCK - FIRST USE");
PopUpWin(2);
locate(3,3);
do
{
PopUpWin(2);
locate(3,3);
Print((unsigned char*)"Set pass : (1)");
Bdisp_PutDisp_DD();
getUserCode(4,4,pass1);
PopUpWin(2);
locate(3,3);
Print((unsigned char*)"Set pass : (2)");
Bdisp_PutDisp_DD();
getUserCode(4,4,pass2);
} while(matchCode(pass1,pass2)==0);
Bdisp_PutDisp_DD();


setPassword(pass1);
PopUpWin(2);
locate(4,3);
Print((unsigned char*)"New pass set !");
Bdisp_PutDisp_DD();
GetKey(&key);
}

void MessLock()
{
unsigned int key;
unsigned char pass1[10];
unsigned char pass2[10];
PopUpWin(5);
Bdisp_PutDisp_DD();
locate(3,2);
Print((unsigned char*)"FX-9860 is LOCKED");
locate(4,4);
Print((unsigned char*)"Enter code...");
getUserCode(6,6,pass1);
readPassword(pass2);
if(matchCode(pass1,pass2)==0) MessLock();

}
void ChangeCode()
{
unsigned int key;
unsigned char pass1[10];
unsigned char pass2[10];
unsigned char pass0[10];
SaveDisp(1);
PopUpWin(2);
locate(3,3);
Print((unsigned char*)"Enter pass :");
Bdisp_PutDisp_DD();
getUserCode(4,4,pass0);
readPassword(pass1);
if(matchCode(pass0,pass1)==0){
locate(4,3);
PopUpWin(2);
Print((unsigned char*)"Failed !");
GetKey(&key);
}
else
{
do
{
PopUpWin(2);
locate(3,3);
Print((unsigned char*)"New pass : (1)");
Bdisp_PutDisp_DD();
getUserCode(4,4,pass1);
PopUpWin(2);
locate(3,3);
Print((unsigned char*)"New pass : (2)");
Bdisp_PutDisp_DD();
getUserCode(4,4,pass2);
} while(matchCode(pass1,pass2)==0);
setPassword(pass1);

PopUpWin(2);
locate(4,3);
Print((unsigned char*)"New pass set !");
GetKey(&key);
}
RestoreDisp(1);
Bdisp_PutDisp_DD();
}
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;

unsigned char pass1[10];
unsigned char pass2[10];

Bdisp_AllClr_DDVRAM();

if(isFirstUse())install();
Bdisp_AllClr_DDVRAM();

locate(1,1);
Print((unsigned char*)"[F1] : change code");
locate(1,3);
Print((unsigned char*)"[Menu] and power off");
locate(1,4);
Print((unsigned char*)" to lock calculator");
locate(2,6);
Print((unsigned char*)"Graph 85 is LOCKED");
locate(1,8);
Print((unsigned char*)"www.planete-casio.com");

SetQuitHandler(MessLock);

SaveDisp(1);
while(1){
GetKey(&key);
if(key==KEY_CTRL_F1)ChangeCode();
}

return 1;
}




//****************************************************************************
//************** ****************
//************** Notice! ****************
//************** ****************
//************** Please do not change the following source. ****************
//************** ****************
//****************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
// InitializeSystem
//
// param : isAppli : 1 = Application / 0 = eActivity
// OptionNum : Option Number (only eActivity)
//
// retval : 1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section
TotoyoHors ligneMembre d'honneurPoints: 16093 Défis: 102 Message
Posté le 15-02-2014 à 12:30 | #
En regardant le screenshot, je vois "planet-casio.com".
A supprimer car l'auteur n'a jamais posté son jeu ici et n'appréciera pas de voir son jeu accaparer par nous.
GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 15-02-2014 à 15:02 | #
Top-prog-casio n'est il pas une "filière" de planète casio ?
je vais modifier .
je vous envoie les fichiers dans 2 heures. je dois aller faire une réparation d'ordi.
P.S. merci pour nicocréation.
je ne conaissait pas le pseudo.
TotoyoHors ligneMembre d'honneurPoints: 16093 Défis: 102 Message
Posté le 15-02-2014 à 15:12 | #
Top-progcasio est un site indépendant qui a fermé. Ziqumu a pu récupérer les sources auprès du webmaster. Il a ainsi rétablit l'accès au site, mais ce n'est pas un programme de Planète Casio.

Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 105 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd