Il programma checkPIN
chiede un PIN e ne verifica la correttezza. Osserviamo in particolare:
- Gli argomenti: il programma
checkPIN
riceve il PIN come argomento da linea di comando e controlla se è corretto o meno. - Lo stato di terminazione:
- se l’operazione ha avuto successo,
checkPIN
termina conexit(0)
; - se l’operazione fallisce,
checkPIN
termina conexit(1)
.; - nel caso di invocazione sbagliata (ad esempio senza passare il PIN),
checkPIN
termina conexit(2)
.
- se l’operazione ha avuto successo,
Testate i tre casi descritti sopra come segue. Notate che in bash
, per poter osservare lo stato di terminazione è sufficiente stampare il valore della variabile $?
, che contiene il valore della exit
dell’ultimo programma eseguito:
$ ./checkPIN Utilizzo: ./checkPIN PIN (Il PIN è di 5 cifre e può iniziare per 0!) $ echo $? # mostra il valore della exit 2 # invocazione sbagliata, exit(2) $ ./checkPIN 12345 PIN 12345 errato $ echo $? # mostra il valore della exit 1 # PIN errato, exit(1) $ ./checkPIN ***** # PIN corretto (se lo sapete ;) PIN ***** corretto! >>> Sei autenticato <<< $ echo $? # mostra il valore della exit 0 # PIN corretto, exit(0)
Come si legge nell’output della prima esecuzione, il PIN è di 5 cifre e può iniziare per zero!
Se vi è tutto chiaro, è ora di iniziare a scrivere il programma di cracking (Task 3)!