Forum

Catégorie : Discussions générales
Forum : Articles
Vues : 8897
Réponses : 82
Type : discussion
Etat : réponses autorisées

[ASTUCE] empêcher l'édition ou cacher un programme - Page 1 / 5

Persalteas le 27/06/2012 à 10:52
Bonjour !

Un article pour garder ces précieux codes hexadécimaux sous la main !

Vous avez peut-être remarqué qu'il existe des programmes qui n'apparaissent pas dans le menu EDIT de la calculette, et dont on ne peut pas voir le code source.

Ils ont été protégés. De même, il est possible de "gommer" l'existence d'un programme, dans tous les menus de la TI que ce soit EXEC, EDIT, MEM, ou le menu d'échange, grâce à un code fraîchement programmé par notre spécialiste hexadécimal français, Matrefeytontias.

Je vais donc vous présenter deux codes, le système ZPROT/ZUNPROT et le système ZHIDE/ZUNHIDE.

NE TESTEZ CES PROGRAMMES QUE SUR TI-82 STATS/TI-82 STATS.FR/TI-83.

ILS NE SONT PAS COMPATIBLES TI-83 Plus/TI-84 Plus.

Chaque système a besoin de 3 programmes dont voici les codes. Comme tout programme en assembleur, LA MOINDRE ERREUR dans les codes causera très probablement un CRASH MEMOIRE ET UNE PERTE DE DONNEES. Irrécupérables, bien sur.
Faites donc attention en recopiant, et je vous conseille de sauvegarder vos programmes importants sur la TI d'un ami jusqu'à être surs que le programme fonctionne normalement et qu'il ne provoque pas de crash.

PROTECT: empêcher de voir le code source d'un programme:
source
• Auteur: Alexis Jehan (alias Alexvire ou Alexis)

• Taille: 381 octets

• Vous en avez assez que vos camarades modifient vos programmes ? Alors PROTECT est pour vous. Il permet de protéger ou déprotéger vos programmes pour qu'ils apparaissent ou non dans le menu "EDIT". Vous devez pour cela utiliser le programme PROTECT et non les autres.

PROTECT
Code
Lbl 0
EffEcr
Menu(">>> PROTECT <<<<","PROTEGER",1,"DEPROTEGER"
,2,"QUITTER",3
Lbl 1
Input "prgm",Chaîne0
Chaîne0
Envoi(9prgmZPROT
Goto 0
Lbl 2
Input "prgm",Chaîne0
Chaîne0
Envoi(9prgmZUNPROT
Goto 0
Lbl 3
Output(4,6,"ALEXIS
EffVar Chaîne0
Output(1,1,"


ZPROT (Ne faites pas d'erreurs !)
Code
CD8E42
3E72
323A80
CD2A44
DA
7B
46
E61F
FE04
C26C46
213980
3605
23
1A
4F
0600
13
13
EB
EDB0
CD2A44
DA7B46
3606
C9
End
0000
End


ZUNPROT (Ne faites pas d'erreurs !)
Code
CD8E42
3E72
323A80
CD2A44
DA
7B
46
E61F
FE04
C26C46
213980
3606
23
1A
4F
0600
13
13
EB
EDB0
CD2A44
DA7B46
3605
C9
End
0000
End


HIDE: Planquer le programme. Il est toujours là, mais impossible a détecter avant déprotection.
source

• Auteur: Mattias Refeyton (alias Matrefeytontias)

HIDE
Code
Lbl 0
EffEcr
Menu("HIDE","CACHER",1,"REAPPARAITRE",2,"QUITTER",3
Lbl 1
Input "prgm",Chaîne0
Chaîne0
Envoi(9prgmZHIDE
Goto 0
Lbl 2
Input "prgm",Chaîne0
Chaîne0
Envoi(9prgmZUNHIDE
Goto 0
Lbl 3
EffVar Chaîne0
Output(1,1,"


ZHIDE
Code

213980
3604
23
36AA
23
3609
23
3600
CD2A44
D8
EB
23
113980
010900
EDB0
213980
3605
CD2A44
D8
11FCFF
19
7E
D640
77
C9
End
0000
End


ZUNHIDE
Code
213980
3604
23
36AA
23
3609
23
3600
CD2A44
D8
EB
23
113980
010900
EDB0
213980
3605
23
7E
D640
77
CD2A44
D8
11FCFF
19
7E
C640
77
C9
End
0000
End
Persalteas le 27/06/2012 à 14:16
merci beaucoup, c'est 50 fois plus clair comme ça... glasses.gif
Est-ce que ça ne prend pas plus d'octets, par contre ?
matrefeytontias le 27/06/2012 à 14:23
Si, chaque retour à la ligne prend 1 octet ... mais on peut toujours les enlever après avoir tout copié.
linkakro le 27/06/2012 à 18:23
Stocker Chaîne0 dans Rép est innutile pour HIDE contrairement à PROTECT, car le programme Z(UN)HIDE de Matrefeytontias utilise directement la chaîne0.
Ainsi on peut simplifier :
Code
Input "prgm",Chaîne0
Envoi(9prgmZHIDE

Input "prgm",Chaîne0
Envoi(9prgmZUNHIDE
En revanche Protect permet de choisir sa chaîne, mais il faut la stocker dans Ans.
matrefeytontias le 27/06/2012 à 18:30
J'utilise Str0 parce que c'est plus simple pour moi niveau code ^^'
eArnoow2 le 19/09/2012 à 21:36
Par contre, les programmes ne sont plus accessibles, même par un autre programme ! Vous ne connaîtriez pas un programme permettant de les cacher tout en pouvant les utiliser (par exemple les prog en hexa style zhide ou zunprot) ?
The K le 19/09/2012 à 21:40
A ma conaissance ça n'existe pas ...

Tu peux en créer un si tu veux tongue.gif
eArnoow le 20/09/2012 à 08:26
Quand j'aurais fini mon Pong xD
blg_flg le 20/09/2012 à 17:36
Citation
Par contre, les programmes ne sont plus accessibles, même par un autre programme ! Vous ne connaîtriez pas un programme permettant de les cacher tout en pouvant les utiliser.

Si. Ça doit être possible. ZHIDE cache le programme dont le nom est dans Chaîne0 (il me semble que c'est la 0...). Donc je pense que c'est faisable si tu fais un truc comme ça (le programme XYZ est caché, mais tu veux l'utiliser):
Code
:blablabla
:"XYZ->Chaîne0
:Send(9prgmZUNHIDE
:prgmXYZ
:Send(9prgmZHIDE
:blablabla
Cytropus le 20/09/2012 à 18:48
Exact, mais si le prof arrive et que tu arrête brutalement le programme, le programme est "dé-cacher" donc ça sert plus à rien happy.gif
m@thieu41 le 20/09/2012 à 20:04
Peut-être (mais je ne suis pas sûr du résultat crazy.gif ) qu'on pourrait cacher le programme quand on le lance?
Ex:
Code
:blablabla
:"XYZ->Chaîne0
:Send(9prgmZUNHIDE
:prgmXYZ
:blablabla

PrgmXYZ
Code

:"XYZ->Chaîne0
:Send(9prgmZHIDE
:blablabla

Mais je me demande ce qui se passera quand le prgm ASM en arrivera au C9 après l'avoir cachégodgrace.gif
eArnoow le 20/09/2012 à 20:24
Tu testes et tu me dis clown.gif
J'ai pas de câble et j'ai pas envie de tout perdre laugh.gif
m@thieu41 le 20/09/2012 à 20:45
J'ai testé sur émulateur, et ça marche impec bigmouth.gif
Cytropus le 20/09/2012 à 21:07
Sur émulateur, peut-être cry.gif
mais je viens d'essayer sur ma 82stat.fr et ça marche pas eyeonly.gif
blg_flg le 20/09/2012 à 21:18
Si ça marche sur émulateur (lequel d'ailleurs?) ça doit marcher on calc.
m@thieu41 le 20/09/2012 à 21:23
Pour un émulateur (wabbitemu) de TI 83 (non plus), ça marche impec, je ne vois pas pourquoi ça ne marcherais pas sur ta calto...
blg_flg le 20/09/2012 à 21:26
Effectivement. Ça devrait fonctionner. ahh.gif
Cytropus le 20/09/2012 à 21:26
je sais pas : j'ai caché le prog X
Code
Envoi(9prgmZHIDE
:suite du jeu


et j'ai utilisé Y
Code
"X->Chaine0
:Envoi(9prgmZUNHIDE
:prgmX


résultat : il me met "fait" sans lancer le jeu cupsmiley.gif
m@thieu41 le 20/09/2012 à 21:36
Je ne comprends pas: chez moi ça avait marché impec (après, le programme était caché et tout...) extraterre.gif
Je n'ai malheureusement pas fait de sauvegarde, et TIProgramEditor ne veut plus se lancer, j'ai la flemme de tout recopier encore une fois à la main, je réessayerais demain crazy.gif
eArnoow le 20/09/2012 à 22:29
Tu peux me ré expliquer comment faire pour cacher un programme tout en pouvant l'utiliser et le lancer depuis d'autres ?
C'est en majeur partie pour cacher ZPROT ZUNPROT ZHIDE ZUNHIDE OFF ONLOAD et ZNOLOAD.
Merci winkle.gif