π
<-
Chat plein-écran
[^]

nHide, alternative crédible pour cacher ses fichiers Nspire

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

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby mdr1 » 02 Nov 2013, 14:23

Ah bon ? Qu'utilises-tu comme fonction ? "isKeyPressed" ? Dans ce cas, il suffit de faire une table de correspondances. T'utilises directement un hook ? Dans ce cas, comment procèdes-tu ?
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
Class: Je voyage toujours en première.

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby Excale » 02 Nov 2013, 14:25

mdr1 wrote:Ah bon ? Qu'utilises-tu comme fonction ? "isKeyPressed" ? Dans ce cas, il suffit de faire une table de correspondances. T'utilises directement un hook ? Dans ce cas, comment procèdes-tu ?


Justement, je vais pas faire un isKeyPressed sur toutes les touches...
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby Bisam » 02 Nov 2013, 14:25

Ben, tu le fais dans l'autre sens... tu déchiffres le code (que l'on supposera limité à une touche, sinon, ça devient galère pour les timings) dans le fichier texte et tu testes uniquement si la touche correspondante est pressée...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 68.4%
 
Posts: 5621
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby Excale » 02 Nov 2013, 14:28

Sauf que... le code touche dépend du modèle de Nspire.

Donc quand on fait iskeypressed(TOUCHE), TOUCHE est en réalité une directive de préprocesseur qui associe ce qu'il faut en temps réel en fonction du modèle de Nspire.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby mdr1 » 02 Nov 2013, 14:43

Excale wrote:Justement, je vais pas faire un isKeyPressed sur toutes les touches...

Bah si, sinon, il suffit au méchant d'appuyer sur toutes les touches pour débloquer le système, il faut donc vérifier que les autres touches ne sont pas pressées. Pourquoi ne pas simplement faire ainsi :

Code: Select all
int[] renvoyerEnsembleDeTouchesDuFichier() { /*...*/ }
int[] renvoyerComplementaire(int[] touches) { /* ... */ }
/* ... */

// Ici, nous voulons savoir si les bonnes touches sont pressées.
int[] touches = renvoyerEnsembleDeTouchesDuFichier() ;
for(int k=0 ; k<tailleDeTouches ; k++) if !isKeyPressed(k) return ;
int[] autreTouches = renvoyerComplementaire(touches) ;
for(int k=0 ; k<tailleDeAutresTouches ; k++) if isKeyPressed(k) return ;
// Ici, c'est ok.

Voilà les grandes lignes. Gestion de la taille des tableaux libre.

OSEF le modèle de Nspire, il suffit de faire plus de colonnes dans le readme.

NB : Pour l'histoire de la directive de préprocesseur, voici comment fait lkj dans nTxt :

Code: Select all
char readc(){
    if(isKeyPressed(KEY_NSPIRE_TAB))
        return '\t';
    if(isKeyPressed(KEY_NSPIRE_ENTER))
        return '\n';
    if(isKeyPressed(KEY_NSPIRE_DEL))
        return '\b';
    if(isKeyPressed(KEY_NSPIRE_A))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'A' : 'a';
    if(isKeyPressed(KEY_NSPIRE_B))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'B' : 'b';
    if(isKeyPressed(KEY_NSPIRE_C))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'C' : 'c';
    if(isKeyPressed(KEY_NSPIRE_D))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'D' : 'd';
    if(isKeyPressed(KEY_NSPIRE_E))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'E' : 'e';
    if(isKeyPressed(KEY_NSPIRE_F))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'F' : 'f';
    if(isKeyPressed(KEY_NSPIRE_G))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'G' : 'g';
    if(isKeyPressed(KEY_NSPIRE_H))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'H' : 'h';
    if(isKeyPressed(KEY_NSPIRE_I))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'I' : 'i';
    if(isKeyPressed(KEY_NSPIRE_J))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'J' : 'j';
    if(isKeyPressed(KEY_NSPIRE_K))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'K' : 'k';
    if(isKeyPressed(KEY_NSPIRE_L))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'L' : 'l';
    if(isKeyPressed(KEY_NSPIRE_M))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'M' : 'm';
    if(isKeyPressed(KEY_NSPIRE_N))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'N' : 'n';
    if(isKeyPressed(KEY_NSPIRE_O))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'O' : 'o';
    if(isKeyPressed(KEY_NSPIRE_P))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'P' : 'p';
    if(isKeyPressed(KEY_NSPIRE_Q))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Q' : 'q';
    if(isKeyPressed(KEY_NSPIRE_R))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'R' : 'r';
    if(isKeyPressed(KEY_NSPIRE_S))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'S' : 's';
    if(isKeyPressed(KEY_NSPIRE_T))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'T' : 't';
    if(isKeyPressed(KEY_NSPIRE_U))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'U' : 'u';
    if(isKeyPressed(KEY_NSPIRE_V))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'V' : 'v';
    if(isKeyPressed(KEY_NSPIRE_W))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'W' : 'w';
    if(isKeyPressed(KEY_NSPIRE_X))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'X' : 'x';
    if(isKeyPressed(KEY_NSPIRE_Y))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Y' : 'y';
    if(isKeyPressed(KEY_NSPIRE_Z))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Z' : 'z';
    if(isKeyPressed(KEY_NSPIRE_1))
        return '1';
    if(isKeyPressed(KEY_NSPIRE_2))
        return '2';
    if(isKeyPressed(KEY_NSPIRE_3))
        return '3';
    if(isKeyPressed(KEY_NSPIRE_4))
        return '4';
    if(isKeyPressed(KEY_NSPIRE_5))
        return '5';
    if(isKeyPressed(KEY_NSPIRE_6))
        return '6';
    if(isKeyPressed(KEY_NSPIRE_7))
        return '7';
    if(isKeyPressed(KEY_NSPIRE_8))
        return '8';
    if(isKeyPressed(KEY_NSPIRE_9))
        return '9';
    if(isKeyPressed(KEY_NSPIRE_0))
        return '0';
    if(isKeyPressed(KEY_NSPIRE_SPACE))
        return ' ';
    if(isKeyPressed(KEY_NSPIRE_PERIOD))
        return isKeyPressed(KEY_NSPIRE_SHIFT) ? ':' : '.';
    if(isKeyPressed(KEY_NSPIRE_COLON))
        return ':';
    if(isKeyPressed(KEY_NSPIRE_COMMA))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? ';' : ',';
    if(isKeyPressed(KEY_NSPIRE_QUESEXCL) || isKeyPressed(KEY_NSPIRE_QUES))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? '!' : '?';
    if(isKeyPressed(KEY_NSPIRE_PLUS))
        return isKeyPressed(KEY_NSPIRE_SHIFT) ? '&' : '+';
    if(isKeyPressed(KEY_NSPIRE_NEGATIVE) || isKeyPressed(KEY_NSPIRE_MINUS)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '_';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '~';
        else
            return '-';
    }
    if(isKeyPressed(KEY_NSPIRE_MULTIPLY))
        return '*';
    if(isKeyPressed(KEY_NSPIRE_DIVIDE)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '\\';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '|';
        else
            return '/';
    }
    if(isKeyPressed(KEY_NSPIRE_BAR))
        return '|';
    if(isKeyPressed(KEY_NSPIRE_QUOTE))
        return '"';
    if(isKeyPressed(KEY_NSPIRE_APOSTROPHE))
        return '\'';
    if(isKeyPressed(KEY_NSPIRE_EXP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '"';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '\'';
        else
            return '^';
    }
    if(isKeyPressed(KEY_NSPIRE_EQU)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '>';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '<';
        else
            return '=';
    }
    if(isKeyPressed(KEY_NSPIRE_LTHAN))
        return '<';
    if(isKeyPressed(KEY_NSPIRE_GTHAN))
        return '>';
    if(isKeyPressed(KEY_NSPIRE_LP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '[';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '{';
        else
            return '(';
    }
    if(isKeyPressed(KEY_NSPIRE_RP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return ']';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '}';
        else
            return ')';
    }
    return '\0';
}
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
Class: Je voyage toujours en première.

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby Excale » 02 Nov 2013, 14:49

mdr1 wrote:
Excale wrote:Justement, je vais pas faire un isKeyPressed sur toutes les touches...

Bah si, sinon, il suffit au méchant d'appuyer sur toutes les touches pour débloquer le système, il faut donc vérifier que les autres touches ne sont pas pressées.

Oui, bien sur. Sauf qu'il faut quand même qu'il puisse appuyer sur la touche pour afficher l'explorateur. Et il y a beaucoup de moyens de le faire...
Je le redis, nHide c'est pour ceux qui sont infichus d'utiliser Hide Manager (qui, lui, est une protection assez robuste).

mdr1 wrote:NB : Pour l'histoire de la directive de préprocesseur, voici comment fait lkj dans nTxt :

Code: Select all
char readc(){
    if(isKeyPressed(KEY_NSPIRE_TAB))
        return '\t';
    if(isKeyPressed(KEY_NSPIRE_ENTER))
        return '\n';
    if(isKeyPressed(KEY_NSPIRE_DEL))
        return '\b';
    if(isKeyPressed(KEY_NSPIRE_A))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'A' : 'a';
    if(isKeyPressed(KEY_NSPIRE_B))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'B' : 'b';
    if(isKeyPressed(KEY_NSPIRE_C))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'C' : 'c';
    if(isKeyPressed(KEY_NSPIRE_D))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'D' : 'd';
    if(isKeyPressed(KEY_NSPIRE_E))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'E' : 'e';
    if(isKeyPressed(KEY_NSPIRE_F))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'F' : 'f';
    if(isKeyPressed(KEY_NSPIRE_G))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'G' : 'g';
    if(isKeyPressed(KEY_NSPIRE_H))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'H' : 'h';
    if(isKeyPressed(KEY_NSPIRE_I))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'I' : 'i';
    if(isKeyPressed(KEY_NSPIRE_J))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'J' : 'j';
    if(isKeyPressed(KEY_NSPIRE_K))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'K' : 'k';
    if(isKeyPressed(KEY_NSPIRE_L))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'L' : 'l';
    if(isKeyPressed(KEY_NSPIRE_M))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'M' : 'm';
    if(isKeyPressed(KEY_NSPIRE_N))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'N' : 'n';
    if(isKeyPressed(KEY_NSPIRE_O))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'O' : 'o';
    if(isKeyPressed(KEY_NSPIRE_P))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'P' : 'p';
    if(isKeyPressed(KEY_NSPIRE_Q))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Q' : 'q';
    if(isKeyPressed(KEY_NSPIRE_R))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'R' : 'r';
    if(isKeyPressed(KEY_NSPIRE_S))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'S' : 's';
    if(isKeyPressed(KEY_NSPIRE_T))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'T' : 't';
    if(isKeyPressed(KEY_NSPIRE_U))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'U' : 'u';
    if(isKeyPressed(KEY_NSPIRE_V))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'V' : 'v';
    if(isKeyPressed(KEY_NSPIRE_W))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'W' : 'w';
    if(isKeyPressed(KEY_NSPIRE_X))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'X' : 'x';
    if(isKeyPressed(KEY_NSPIRE_Y))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Y' : 'y';
    if(isKeyPressed(KEY_NSPIRE_Z))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Z' : 'z';
    if(isKeyPressed(KEY_NSPIRE_1))
        return '1';
    if(isKeyPressed(KEY_NSPIRE_2))
        return '2';
    if(isKeyPressed(KEY_NSPIRE_3))
        return '3';
    if(isKeyPressed(KEY_NSPIRE_4))
        return '4';
    if(isKeyPressed(KEY_NSPIRE_5))
        return '5';
    if(isKeyPressed(KEY_NSPIRE_6))
        return '6';
    if(isKeyPressed(KEY_NSPIRE_7))
        return '7';
    if(isKeyPressed(KEY_NSPIRE_8))
        return '8';
    if(isKeyPressed(KEY_NSPIRE_9))
        return '9';
    if(isKeyPressed(KEY_NSPIRE_0))
        return '0';
    if(isKeyPressed(KEY_NSPIRE_SPACE))
        return ' ';
    if(isKeyPressed(KEY_NSPIRE_PERIOD))
        return isKeyPressed(KEY_NSPIRE_SHIFT) ? ':' : '.';
    if(isKeyPressed(KEY_NSPIRE_COLON))
        return ':';
    if(isKeyPressed(KEY_NSPIRE_COMMA))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? ';' : ',';
    if(isKeyPressed(KEY_NSPIRE_QUESEXCL) || isKeyPressed(KEY_NSPIRE_QUES))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? '!' : '?';
    if(isKeyPressed(KEY_NSPIRE_PLUS))
        return isKeyPressed(KEY_NSPIRE_SHIFT) ? '&' : '+';
    if(isKeyPressed(KEY_NSPIRE_NEGATIVE) || isKeyPressed(KEY_NSPIRE_MINUS)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '_';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '~';
        else
            return '-';
    }
    if(isKeyPressed(KEY_NSPIRE_MULTIPLY))
        return '*';
    if(isKeyPressed(KEY_NSPIRE_DIVIDE)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '\\';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '|';
        else
            return '/';
    }
    if(isKeyPressed(KEY_NSPIRE_BAR))
        return '|';
    if(isKeyPressed(KEY_NSPIRE_QUOTE))
        return '"';
    if(isKeyPressed(KEY_NSPIRE_APOSTROPHE))
        return '\'';
    if(isKeyPressed(KEY_NSPIRE_EXP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '"';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '\'';
        else
            return '^';
    }
    if(isKeyPressed(KEY_NSPIRE_EQU)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '>';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '<';
        else
            return '=';
    }
    if(isKeyPressed(KEY_NSPIRE_LTHAN))
        return '<';
    if(isKeyPressed(KEY_NSPIRE_GTHAN))
        return '>';
    if(isKeyPressed(KEY_NSPIRE_LP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '[';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '{';
        else
            return '(';
    }
    if(isKeyPressed(KEY_NSPIRE_RP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return ']';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '}';
        else
            return ')';
    }
    return '\0';
}

C'est exactement ce que je ne veux pas faire pour mocheté absolue.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby Hayleia » 02 Nov 2013, 14:51

Excale wrote:
mdr1 wrote:NB : Pour l'histoire de la directive de préprocesseur, voici comment fait lkj dans nTxt :

Code: Select all
char readc(){
    if(isKeyPressed(KEY_NSPIRE_TAB))
        return '\t';
    if(isKeyPressed(KEY_NSPIRE_ENTER))
        return '\n';
    if(isKeyPressed(KEY_NSPIRE_DEL))
        return '\b';
    if(isKeyPressed(KEY_NSPIRE_A))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'A' : 'a';
    if(isKeyPressed(KEY_NSPIRE_B))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'B' : 'b';
    if(isKeyPressed(KEY_NSPIRE_C))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'C' : 'c';
    if(isKeyPressed(KEY_NSPIRE_D))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'D' : 'd';
    if(isKeyPressed(KEY_NSPIRE_E))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'E' : 'e';
    if(isKeyPressed(KEY_NSPIRE_F))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'F' : 'f';
    if(isKeyPressed(KEY_NSPIRE_G))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'G' : 'g';
    if(isKeyPressed(KEY_NSPIRE_H))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'H' : 'h';
    if(isKeyPressed(KEY_NSPIRE_I))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'I' : 'i';
    if(isKeyPressed(KEY_NSPIRE_J))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'J' : 'j';
    if(isKeyPressed(KEY_NSPIRE_K))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'K' : 'k';
    if(isKeyPressed(KEY_NSPIRE_L))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'L' : 'l';
    if(isKeyPressed(KEY_NSPIRE_M))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'M' : 'm';
    if(isKeyPressed(KEY_NSPIRE_N))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'N' : 'n';
    if(isKeyPressed(KEY_NSPIRE_O))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'O' : 'o';
    if(isKeyPressed(KEY_NSPIRE_P))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'P' : 'p';
    if(isKeyPressed(KEY_NSPIRE_Q))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Q' : 'q';
    if(isKeyPressed(KEY_NSPIRE_R))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'R' : 'r';
    if(isKeyPressed(KEY_NSPIRE_S))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'S' : 's';
    if(isKeyPressed(KEY_NSPIRE_T))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'T' : 't';
    if(isKeyPressed(KEY_NSPIRE_U))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'U' : 'u';
    if(isKeyPressed(KEY_NSPIRE_V))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'V' : 'v';
    if(isKeyPressed(KEY_NSPIRE_W))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'W' : 'w';
    if(isKeyPressed(KEY_NSPIRE_X))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'X' : 'x';
    if(isKeyPressed(KEY_NSPIRE_Y))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Y' : 'y';
    if(isKeyPressed(KEY_NSPIRE_Z))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? 'Z' : 'z';
    if(isKeyPressed(KEY_NSPIRE_1))
        return '1';
    if(isKeyPressed(KEY_NSPIRE_2))
        return '2';
    if(isKeyPressed(KEY_NSPIRE_3))
        return '3';
    if(isKeyPressed(KEY_NSPIRE_4))
        return '4';
    if(isKeyPressed(KEY_NSPIRE_5))
        return '5';
    if(isKeyPressed(KEY_NSPIRE_6))
        return '6';
    if(isKeyPressed(KEY_NSPIRE_7))
        return '7';
    if(isKeyPressed(KEY_NSPIRE_8))
        return '8';
    if(isKeyPressed(KEY_NSPIRE_9))
        return '9';
    if(isKeyPressed(KEY_NSPIRE_0))
        return '0';
    if(isKeyPressed(KEY_NSPIRE_SPACE))
        return ' ';
    if(isKeyPressed(KEY_NSPIRE_PERIOD))
        return isKeyPressed(KEY_NSPIRE_SHIFT) ? ':' : '.';
    if(isKeyPressed(KEY_NSPIRE_COLON))
        return ':';
    if(isKeyPressed(KEY_NSPIRE_COMMA))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? ';' : ',';
    if(isKeyPressed(KEY_NSPIRE_QUESEXCL) || isKeyPressed(KEY_NSPIRE_QUES))
       return isKeyPressed(KEY_NSPIRE_SHIFT) ? '!' : '?';
    if(isKeyPressed(KEY_NSPIRE_PLUS))
        return isKeyPressed(KEY_NSPIRE_SHIFT) ? '&' : '+';
    if(isKeyPressed(KEY_NSPIRE_NEGATIVE) || isKeyPressed(KEY_NSPIRE_MINUS)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '_';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '~';
        else
            return '-';
    }
    if(isKeyPressed(KEY_NSPIRE_MULTIPLY))
        return '*';
    if(isKeyPressed(KEY_NSPIRE_DIVIDE)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '\\';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '|';
        else
            return '/';
    }
    if(isKeyPressed(KEY_NSPIRE_BAR))
        return '|';
    if(isKeyPressed(KEY_NSPIRE_QUOTE))
        return '"';
    if(isKeyPressed(KEY_NSPIRE_APOSTROPHE))
        return '\'';
    if(isKeyPressed(KEY_NSPIRE_EXP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '"';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '\'';
        else
            return '^';
    }
    if(isKeyPressed(KEY_NSPIRE_EQU)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '>';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '<';
        else
            return '=';
    }
    if(isKeyPressed(KEY_NSPIRE_LTHAN))
        return '<';
    if(isKeyPressed(KEY_NSPIRE_GTHAN))
        return '>';
    if(isKeyPressed(KEY_NSPIRE_LP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return '[';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '{';
        else
            return '(';
    }
    if(isKeyPressed(KEY_NSPIRE_RP)){
        if(isKeyPressed(KEY_NSPIRE_SHIFT))
            return ']';
        if(isKeyPressed(KEY_NSPIRE_CTRL))
            return '}';
        else
            return ')';
    }
    return '\0';
}

C'est exactement ce que je ne veux pas faire pour mocheté absolue.

Mais on s'en fiche de la mocheté. Si lkj n'avait pas fait ce truc hideux mais qui marche, son programme se réduirait à un readme qui dirait "envoyez moi un message pour que je produise vos fichiers txt".

Image
ImageImageImage
Pokemon Topaze
(Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
Class: Templar

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby mdr1 » 02 Nov 2013, 14:53

Soit tu acceptes d'inclure ce code dit "moche" pour permettre aux utilisateurs de définir par eux-mêmes leurs propres touches, soit c'est bientôt ta boîte à MP qui va être moche... :p L'important est que ça fonctionne. Les petites centaines d'octets à économiser sur cette fonction, c'est à voir pour plus tard... Ou sinon, tu fais les vérifications en assembleur pour t'affranchir d'un telle condition.

PS : Lol Hayleia. :p
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
Class: Je voyage toujours en première.

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby Excale » 02 Nov 2013, 14:56

(Pour l'instant, depuis que nProtect est sorti (à savoir plusieurs mois), j'ai reçu 3 demandes...)

PS: Si faut demander aux gens d'éditer un fichier texte avec leur code, autant leur demander l’éditer le binaire. Je donne l'offset et... :D
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):

Re: nHide, alternative crédible pour cacher ses fichiers Nsp

Unread postby mdr1 » 02 Nov 2013, 15:00

Les gens ont presque autant la flemme de s'inscrire que de lire un readme. Donc tu multiplies les deux probabilités entre elles (il faut lire le readme pour savoir qu'il faut t'envoyer un message, puis te l'envoyer), il ne reste plus grand-chose.
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
Class: Je voyage toujours en première.

PreviousNext

Return to News TI-Nspire

Who is online

Users browsing this forum: GEFE2312 and 15 guests

-
Search
-
Social
-
Featured topics
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 5€. Même non fonctionnelle ou ancien modèle. Etiquette de retour fournie, pas de frais de port à payer.
Coque NumWorks édition limitée Mai 2022 à gagner.
Comparaisons des meilleurs prix pour acheter sa calculatrice !
123
-
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.
485 utilisateurs:
>472 invités
>8 membres
>5 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)