25/04/06 13:44
pierotofy
Guarda il programma Msn Password nella sezione C++, credo potrà esserti d'aiuto.
Il mio blog: piero.dev
25/04/06 15:31
KingOfSka
dunque, ho provato a fare questa funzione (guardando il tuo programma su msn):
ma quando la testo nel mio programma, l'output che mi fornisce se stampo l'array "Data" è solo di un carattere, che coincide con la prima lettera della chiave da leggere e non di tutti i caratteri che la compongono
es se la chiave è: 112 105 112 112 111 (pippo) io leggo solo "112" (cioè la prima "p"
come posso fare a sistemare la mia funzione perchè mi legga tutta l'intera chiave??
grazie a tutti!!
unsigned char *Data = new unsigned char[0x100]; int leggichiavebinaria() { int ret; HKEY hKey; DWORD dwType; DWORD dwSize; char *pKeyDir = new char[0xFF]; char *pKeyName = new char[0xFF]; wsprintf(pKeyDir,"Software\Prova\ChiaveProva"); wsprintf(pKeyName,"NomeChiave"); ret = RegOpenKeyEx(HKEY_CURRENT_USER,pKeyDir,0,KEY_ALL_ACCESS,&hKey); if( ret != ERROR_SUCCESS ) return 1; ret = RegQueryValueEx(hKey,pKeyName,NULL,&dwType,DataUserName,&dwSize); if( ret != ERROR_SUCCESS ) return 1; return 0; //se non ci sono errori }
ma quando la testo nel mio programma, l'output che mi fornisce se stampo l'array "Data" è solo di un carattere, che coincide con la prima lettera della chiave da leggere e non di tutti i caratteri che la compongono
es se la chiave è: 112 105 112 112 111 (pippo) io leggo solo "112" (cioè la prima "p"
come posso fare a sistemare la mia funzione perchè mi legga tutta l'intera chiave??
grazie a tutti!!
aaa
25/04/06 17:51
Rand
ciao!
in pratica il tuo errore viene fuori non xkè hai sbagliato a usare la funzione (ke è perfetta), ma xkè la cout (ke presumo usi x stampare il valore della chiave) considera i vari fine stringa "ciao!
in pratica il tuo errore viene fuori non xkè hai sbagliato a usare la funzione (ke è perfetta), ma xkè la cout (ke presumo usi x stampare il valore della chiave) considera i vari fine stringa "{parsed_message}"
...allora x risolvere, copiati l'array unsigned su uno di char:
spero di aver capito il tuo problema "
...allora x risolvere, copiati l'array unsigned su uno di char:
spero di aver capito il tuo problema
in pratica il tuo errore viene fuori non xkè hai sbagliato a usare la funzione (ke è perfetta), ma xkè la cout (ke presumo usi x stampare il valore della chiave) considera i vari fine stringa "ciao!
in pratica il tuo errore viene fuori non xkè hai sbagliato a usare la funzione (ke è perfetta), ma xkè la cout (ke presumo usi x stampare il valore della chiave) considera i vari fine stringa "{parsed_message}"
...allora x risolvere, copiati l'array unsigned su uno di char:
char Data2[0x100]; for(int i=0; i<0x100; i++) { if(Data[i]!='{parsed_message}' || Data[i]!=' ') Data2[i]=(char)Data[i]; } //ora usi l'array data2
spero di aver capito il tuo problema "
...allora x risolvere, copiati l'array unsigned su uno di char:
char Data2[0x100]; for(int i=0; i<0x100; i++) { if(Data[i]!='ciao!
in pratica il tuo errore viene fuori non xkè hai sbagliato a usare la funzione (ke è perfetta), ma xkè la cout (ke presumo usi x stampare il valore della chiave) considera i vari fine stringa "{parsed_message}"
...allora x risolvere, copiati l'array unsigned su uno di char:char Data2[0x100]; for(int i=0; i<0x100; i++) { if(Data[i]!='{parsed_message}' || Data[i]!=' ') Data2[i]=(char)Data[i]; } //ora usi l'array data2
spero di aver capito il tuo problema ' || Data[i]!=' ') Data2[i]=(char)Data[i]; } //ora usi l'array data2
spero di aver capito il tuo problema
aaa