PDA

Visualizza la versione completa : [C] problema con un programma


mageta
22-02-2004, 12:10
Dunque premetto che sto facendo questo prog per me, nel senso che mi serve per recuperare la pass del router -_-', uno zyxel 600

ecco il codice qua di seguito:


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE *status;
int o=0, p;
int i=0,z=0,x=0,c=0,v=0,b=0,n=0,u,y=0,j=0;
char parola[10]={0,0,0,0,0,0,0,0,0,0};
char pass=0;
printf("Start Script!\n");
for(i=33; i<126; i++) {
parola[9]=i; //0
for(z=33; z<126; z++){
parola[8]=z; //1
for(x=33; x<126; x++){
parola[7]=x; //2
for(c=33; c<126; c++){
parola[6]=c; //3
for(v=33; v<126; v++){
parola[5]=v; //4
for(b=33; b<126; b++){
parola[4]=b; //5
for(c=33; c<126; c++){
parola[3]=c; //6
for(v=33; v<126; v++){
parola[2]=v; //7
for(b=33; b<126; b++){
parola[1]=b; //8
for(n=33; n<126; n++){
parola[0]=n; //9
printf("la pass è: %s \n", parola);
while(1){
status=popen("telnet 192.168.1.1", "w");
write(fileno(status), "%s\r",parola);
scanf("%d", o);
pclose(status);
p++;
}
}
}
}
}
}
}
}
}
}
}

return 0;
}
/////////////////////////////////////////////////////
//impostando così l'open file riesce ad acedere al router
//while(1){
// status=popen("telnet 192.168.1.1", "w");
// write(fileno(status), "parola", strlen("parola"));
// scanf("%d", u);
// pclose(status);
//}


e questo è quello che mi rilascia lo script:


bash-2.05b$ ./force
Start Script!
la pass è: !!!!!!!!!!
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.

Password: **

Password: ***********************

Password: **********

Password: ***********************

Bad Password!!!
Connection closed by foreign host.
Broken pipe
bash-2.05b$

come potete vedere inizia a caricare pass su pass ma non capisco da dove le piglia :(
inoltre io voglio che l'array parola sia vuoto in origine, ho provato ad inizializzarlo all'inizio ma non pare funzi molto... visto che mi spara fuori sti caratteri qua:
!!!!!!!!!!


se potete darmi qualche dritta ve ne sarei infinitamente grato.

ciao

I'mtheleader
22-02-2004, 15:43
Caspita servirebbe anche a me!!! sai che non sapevo che ci si poteva connettere attraverso C con telnet!!!

Grazie, se ne imparano sempre di nuove....

cmq aspetto anch'io di avere informazioni....

ciao ciao

mageta
23-02-2004, 11:28
uppino

Akira86
23-02-2004, 12:48
Ciao..

Forse dico una stupidaggine, ma un vettore char non si puo iizializare con uno 0.

Essendo 0 un intero (int) non lo si puo mettere in un tipo char..

Non ho provato pero potrebbe essere così.. :ciauz:

iguana13
23-02-2004, 15:29
No, lo puoi inizializzare tranquillamente con 0 (cast automatico).

:ciauz:

I'mtheleader
23-02-2004, 17:16
Nulla vieta di inserire quello che vuoi nella variabili dato che sono tutte atte a contenere dati e dato anche che tutti i dati sono valori numerici...

Quindi la char si comporta doppiamente....

Se metto una lettera lui memorizza al suo interno il numero dell ascii del tasto...

Se metto un numero lui la prende come una ascii di una lettera

Mettendo quindi un char =0 non si fa altro che inserire in quella variabile la lettera con ascii 0 cioè il carattere NULL...

:ciauz:

Loading