Ritorna alla home page

ShowPassword

Valid HTML 4.01 Transitional

Valid CSS!

Premessa: l'autore declina ogni responsabilità per tutto quello che riguarda l'uso e l'eventuale danneggiamento o distruzione di cose o persone in seguito all'utilizzo delle informazioni che seguono.

Sommario: Questo particolare software permette di rivelare i campi password presenti in molti programmi per win. I campi password sono delle particolari caselle di edit, in cui automaticamente win sostituisce ad ogni carattere un asterisco. Questo avviene solo se la casella è dichiarata casella password dal programmatore. Se quest'ultimo non usa questa proprietà, ma sostituisce manualmente l'asterisco al carattere, questo programma non funzionerà.
ATTENZIONE 1: questo programma funziona solo con sistemi win9x/ME, in quanto NT/XP sembra utilizzare altri sistemi (chi ha suggerimenti a riguardo mi contatti all'indirizzo ).
ATTENZIONE 2: questo programma è utile (per esempio) se vi dimenticate la password della posta elettronica, ma l'avete registrata in Outlook o in qualsiasi altro programma che la rivela con gli asterischi. Ovviamente cercate di utilizzare questo programma SOLO ED ESCLUSIVAMENTE CON SCOPI LEGALI!!!

Descrizione: il cuore del programma è una semplicissima funzione:

HWND handlepassword;
tagPOINT dove;

GetCursorPos(&dove);
handlepassword=WindowFromPoint(dove);
if (SendMessage(handlepassword, EM_GETPASSWORDCHAR, 0, 0)!=NULL)
{
    SendMessage(handlepassword, EM_SETPASSWORDCHAR, 0, 0);
    ShowWindow(handlepassword, SW_HIDE);
    ShowWindow(handlepassword, SW_SHOW);
}

Questa funzione è legata al rilascio del mouse e come si nota vengono utilizzati solo tipi e funzioni delle API di windows.
GetCursorPos ritorna la posizione del mouse nel tagPOINT dove. Quest'ultimo viene passato come parametro alla funzione WindowFromPoint, che ritorna l'handle della finestra (o dell'oggetto) e viene memorizzato nella variabile HWND handlepassword.
Bisogna chiarire che i campi password possono essere coperti da qualsiasi carattere, non solo asterischi; nel caso sia specificato il valore 0, la password è in chiaro.
La funzione SendMessage manda un messaggio all'handle specificato (primo parametro), con tre ulteriori parametri disponibili. Nel caso il secondo parametro sia EM_GETPASSWORDCHAR, gli altri non vengono usati e viene ritornato il valore del carattere corrente che maschera la password. Nel nostro caso utilizzo questa funzione solo per verificare che sia un campo edit; nel caso contrario non succede niente.
Utilizzando il parametro EM_SETPASSWORDCHAR, il terzo parametro è il valore del carattere che deve coprire la password. Basta mettere 0 e la password sarà in chiaro!
Le altre due funzioni servono solo a far sparire e riapparire il campo. Questo serve solo per aggiornare il campo, che altrimenti non si aggiorna sempre. Ovviamente la velocità è tale da non essere visto sparire e apparire il campo, ma si percepirà solo l'aggiornamento.

Il programma eseguibile è disponibile per il download qui.
E' un comune zip, quindi non dovrebbe mettervi più di tanto in difficoltà! ;)

A presto!

Ritorna alla home page