[RISOLTO] Estrazione dati da brute force

Firewall, Server, Monitoring e tutto quello che riguarda la sicurezza della nostra Linux Box

[RISOLTO] Estrazione dati da brute force

Messaggioda berserk-ivix » 23/05/2017, 16:58

Ciao a tutti.
Ho un numero di 11 cifre che vanno tutte da 0 a 2, lo ricavo a terminale tramite un programma che ho scaricato da internet e modificato.
Vorrei estrarre dalle varie combinazioni quelle in cui compaiono 3 cifre uguali, penso si possa fare con grep ma non so come.
Notare che mi interessano le combinazioni in cui compaiano 3 cifre uguali, non di più e non di meno.

Grazie in anticipo per qualsiasi aiuto.

Ciao, Ivano.
Ultima modifica di berserk-ivix il 23/05/2017, 18:12, modificato 1 volta in totale.
Ciao, Ivano.
.
berserk-ivix
Jr. Member
Jr. Member
 
Messaggi: 96
Iscritto il: 25/11/2015, 7:14

Re: Estrazione dati da brute force

Messaggioda berserk-ivix » 23/05/2017, 16:58

Ho pensato di risolvere con questa funzione, aggiunta al codice del brute-force:
Codice: Seleziona tutto
int checkString(char * str, char * a) {
   int score = 0;

   for (int j = 0; j < 3; j++) {
      for (int i = 0; i < 11; i++) {
         if (str[i] == a[j]) {
            score++;
         }
         if (score > 2) {
            return 0;
         }
      }
      score = 0;
   }
   return 1;
}

Ma non mi rende le combinazioni valide, rende sempre 0.
Ciao, Ivano.
.
berserk-ivix
Jr. Member
Jr. Member
 
Messaggi: 96
Iscritto il: 25/11/2015, 7:14

Re: [RISOLTO] Estrazione dati da brute force

Messaggioda berserk-ivix » 23/05/2017, 18:13

Ragazzi, ho risolto.
Ecco il codice della funzione:
Codice: Seleziona tutto
int checkString(char * str, char * a) {
   int score = 0;

   for (int j = 0; j < 3; j++) {
      for (int i = 0; i < 11; i++) {
         if (str[i] == a[j]) {
            score++;
         }
         if (score > 3) {
            return 0;
         }
      }
      if (score == 3) {
         return 1;
      }
   }
}
Ciao, Ivano.
.
berserk-ivix
Jr. Member
Jr. Member
 
Messaggi: 96
Iscritto il: 25/11/2015, 7:14

Re: Estrazione dati da brute force

Messaggioda byte64 » 23/05/2017, 18:15

grep -E '(.)\1{2}' ti tira fuori i numeri che hanno 3 cifre uguali consecutive, anche diverse nella stessa riga, tipo:
11122200010 (111 222 000)
11120210201 (111)
e così via...
byte64
Sr. Member
Sr. Member
 
Messaggi: 367
Iscritto il: 07/01/2017, 19:02
Località: Bergamo


Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti