Domanda Qualcuno sa cos'è un "grey code"

Stato
Discussione chiusa ad ulteriori risposte.

wupper9800

Utente Bronze
9 Gennaio 2016
41
6
4
37
Ciao a tutti! Come da titolo vorrei sapere cos'è un "grey code"; me lo ha nominato oggi un supplente che è venuto in classe mia, ma per un motivo o un altro non è riuscito a spiegarmelo....Qualcuno me lo può dir? Grazie!
 
Ultima modifica da un moderatore:
-------
 
Ultima modifica:
Non il codice Gray https://it.wikipedia.org/wiki/Codice_Gray, ma proprio "grey" come grigio, mi pare che ha detto che è un codice che i programmatori inseriscono nei loro software per non farselo "rubare", ma è stato molto vago.
Gray e grey sono esattamente la stessa cosa: indicano entrambi "grigio", solo che il primo termine (gray) è più utilizzato in inglese americano, quindi ti ha dato il link corretto di wikipedia.
Seconda cosa, con tutto rispetto al tuo professore che non conosco, non c'entra un piffero in verità con quello che ha detto. Il codice gray rientra nella codifica digitale, quindi parliamo di codice binario (spero tu sappia cosa sia, se non lo sai non esitare ad andare su wikipedia).
La differenza è che un gray code è quando un bit cambia per volta, il codice binario è quando uno o più bit cambiano per volta. Un esempio, per tre bit (codice binario .. gray code) è:
000 .. 000
001 .. 001
010 .. 011
011 .. 010
100 .. 110
101 .. 111
110 .. 101
111 .. 100
000 .. 000
Il vantaggio del codice binario è però che è più facile da convertire ad un valore numerico.
 
Grazie mille!!! Ma questo fantomatico codice che usano i programmatori per non farsi "rubare" il software come si chiama?
Proteggere il codice di un software è impossibile: se un software può essere eseguito su una macchina, chiunque ha accesso a tale macchina può risalire al codice in qualche modo.
Esistono strumenti e tecniche per rendere però il lavoro un po' più difficile: offuscatori, packer, protector, ecc.
 
Proteggere il codice di un software è impossibile: se un software può essere eseguito su una macchina, chiunque ha accesso a tale macchina può risalire al codice in qualche modo.
Esistono strumenti e tecniche per rendere però il lavoro un po' più difficile: offuscatori, packer, protector, ecc.
Quindi si può comunque risalire al codice, indipendentemente dalle tecniche usate per proteggerlo?
 
Quindi si può comunque risalire al codice, indipendentemente dalle tecniche usate per proteggerlo?
Se è eseguibile sì.
Quando un programma viene eseguito le sue istruzioni vengono elaborate dal processore. Affinché il processore possa elaborarle deve necessariamente leggerle in chiaro. Se il processore può leggerle in chiaro può farlo chiunque.
 
Quindi si può comunque risalire al codice, indipendentemente dalle tecniche usate per proteggerlo?
Risalire al codice no, non sempre. Quello che ti è concesso fare è di provare a scrivere un codice del tutto equivalente, ma niente ti assicura che sia il codice originale. Di fatto il più delle volte è meno dispendioso riprogettare tutto da zero piuttosto che provare a rubare un intero programma a partire dal disassembly.
 
che io sappia i codici grey gli ho visti solo negli encoder ,magari stava parlando di un programma di una macchina(?) e non di sicurezza
 
Se è eseguibile sì.
Quando un programma viene eseguito le sue istruzioni vengono elaborate dal processore. Affinché il processore possa elaborarle deve necessariamente leggerle in chiaro. Se il processore può leggerle in chiaro può farlo chiunque.

Risalire al codice no, non sempre. Quello che ti è concesso fare è di provare a scrivere un codice del tutto equivalente, ma niente ti assicura che sia il codice originale. Di fatto il più delle volte è meno dispendioso riprogettare tutto da zero piuttosto che provare a rubare un intero programma a partire dal disassembly.
Grazie per la risposta, ora è tutto chiaro.
 
Risalire al codice no, non sempre.
Si può risalire al codice sempre (è questa la natura di ogni software) ma contemporaneamente non si può mai risalire al codice originale (parlo del tale e quale codice scritto dall'autore, forse anche tu parlavi di questo) perchè il compiler fa un'infinità di ottimizzazioni.
Di fatto il più delle volte è meno dispendioso riprogettare tutto da zero piuttosto che provare a rubare un intero programma a partire dal disassembly.
Già.
 
Stato
Discussione chiusa ad ulteriori risposte.