Oppure

Loading
09/07/10 19:24
Steno94
Ciaoo volevo sapere se dopo aver compilato questo sorgente è possibile scoprire la password...per favore mi sto cervellando per riuscire ad arrivare a questa password:rofl:

ECCO IL SORGENTE:

#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
    string pass;
    
    cout<<"Password:"<<endl;
    cin>>pass;
    
    if(pass == "PASSWORD")
    {
            cout<<"Password Corretta";
    }
    else
    {
        cout<<"Password Errata";
    }

system("pause>null");
return 0; 
}



Specifico che non sono un programmatore ora sto leggendo una bellissima e interessantissima guida in c per poi passare al c++...quindi scusate se c'è quanlche errore nel programma:)

kane scs puoi spiegarti meglio...cioè avendo solo il file exe cioè compilato senza il sorgente come uso il blocco note...grz;)

Grz a tutti ho capito che dovrò cambiare il sorgente per non fare scoprire la password...ora chiudo il topic alla prossima;)
Ultima modifica effettuata da Steno94 12/07/10 9:06
aaa
09/07/10 19:31
HeDo

è la peggior cosa da fare per controllare una password...
aaa
09/07/10 19:31
TheKaneB
un programma fatto così può essere craccato in 8 ns. Basta solo il notepad, non serve nemmeno un decompiler...

e cmq per fare il check devi confrontare 2 oggetti di tipo string. Quindi dichiara una nuova stringa, inizializzala con il valore "PASSWORD" e poi usala per il confronto... così:

string secret("PASSWORD";);

...


if ( miaNonna == secret )
...


oppure così:

if ( miaNonna == string("PASSWORD";) )

Il secondo metodo è preferibile, ma spreca un po' di tempo di calcolo (in questo genere di progrmammini puoi fregartene altamente)
Ultima modifica effettuata da TheKaneB 09/07/10 19:33
aaa
09/07/10 19:34
HeDo
:rofl:
Postato originariamente da TheKaneB:

un programma fatto così può essere craccato in 8 ns. Basta solo il notepad, non serve nemmeno un decompiler...

e cmq per fare il check devi confrontare 2 oggetti di tipo string. Quindi dichiara una nuova stringa, inizializzala con il valore "PASSWORD" e poi usala per il confronto... così:

string secret("PASSWORD";);

...


if ( miaNonna == secret )
...


oppure così:

if ( miaNonna == string("PASSWORD";) )

Il secondo metodo è preferibile, ma spreca un po' di tempo di calcolo (in questo genere di progrmammini puoi fregartene altamente)


kane queste sono disquisizioni inutili, non si fa così punto :)
aaa
09/07/10 19:51
TheKaneB
va beh, era tanto per dire che una stringa non si può confrontare con un char * :D
aaa
09/07/10 19:53
Alex
Postato originariamente da TheKaneB:

un programma fatto così può essere craccato in 8 ns. Basta solo il notepad, non serve nemmeno un decompiler...

e cmq per fare il check devi confrontare 2 oggetti di tipo string. Quindi dichiara una nuova stringa, inizializzala con il valore "PASSWORD" e poi usala per il confronto... così:

string secret("PASSWORD";);

...


if ( miaNonna == secret )
...


oppure così:

if ( miaNonna == string("PASSWORD";) )

Il secondo metodo è preferibile, ma spreca un po' di tempo di calcolo (in questo genere di progrmammini puoi fregartene altamente)

scusate l'intrusione...non si può in C fare il confrotto tra una variabile e un valore? tipo come in pascal?
aaa
09/07/10 19:58
TheKaneB
scusate l'intrusione...non si può in C fare il confrotto tra una variabile e un valore? tipo come in pascal?


Apri un nuovo topic... cmq i confronti in C si fanno esattamente come in pascal, quello che cambia è che in C gli array sono un surrogato dei puntatori (quindi puoi confrontare i puntatori di base, ma non l'array per intero), e le stringhe non esistono (infatti questo è C++)..
aaa
09/07/10 20:16
Alex
scusami:D era solo una curiosità che mi era venuta leggendo il topic...non valeva la pena aprire un topic nuovo=)

comunque grazie mille=)
aaa