bruteforce numerico

Stato
Discussione chiusa ad ulteriori risposte.

kr1pn0$

Utente Silver
14 Ottobre 2008
69
5
0
70
Scrivere un bruteforce numero.Esempio:
Codice:
numero da individuare:      4
1                                        NO
2                                        NO
3                                        NO
4                                        SI
TROVATO....

ecco i due codici
NORMAL VERSION:
Codice:
#include <stdio.h>

int key;
int ca;

int controllo();

int main(){
	printf("#################\n#by  kripnos(c) #\n#################");
	printf("\nInserisci un numero da scandinare con il brutalforce...");
	scanf("%d",&ca);
	while(controllo() == 0){
		key++;
		printf("\t\t\t\t    NO\n");
		controllo();
		printf("\nchiave: %d \n\n", key);
	}
}
int controllo(){
	if (key == ca){
		
		return 1;
	}
	else {
		return 0;
	}
}
VERSIONE ALLEGGERITA:
Codice:
#include <stdio.h>
int key;
int ca;
int controllo();
int main(){
	printf("\n:");
	scanf("%d",&ca);
	while(controllo() == 0){
		++key;
		printf("\t\t\t\t NO\n");
		controllo();
		printf("\nchiave: %d \n\n", key);
	}
}
int controllo(){
	if (key == ca){
		return 1;
	}
	else {
		return 0;
	}
}
 
RE: brutalforce numerico

[Perl]
Codice:
#!/usr/bin/perl
$int=numero_da_trovare;
for ($i=0;;$i++) {
  if ($i==$int) {
    print "$i is the correct number";
    last;
  } else {
    print "$i in uncorrect\n";
  }
}
Non mi pare molto utile come esercizio, sono solo un for e un if...
 
RE: brutalforce numerico

Ma non ha senso ... e poi nessuno ha calcolato i numeri negativi ... se inserisco -1 ?
E poi la variabile key nemmeno è inizializzada ... (per il primo codice)
Almeno nell'inutilità della cosa facciamola bene :asd:
In D
Codice:
import std.stdio;

int main() {
   int input,search=int.min;
   scanf("%d",&input);
   while(search!=input)search++;
   printf("\nValue: %d",search);
   return 0;
}
 
RE: brutalforce numerico

R4z0r_Cr4$H ha detto:
[ot]kripnos mi sto iniziando a stufare di modificare le tue discussioni[/ot]

[ot]scusa ma non lo faccio a posta...........:nonfassipezzi::nonfassipezzi:[/ot]
 
PHP:
$num=$_GET['num'];
if(!$num){exit;}
if($num<0){exit;}
$i=0;
while(true){
if ($i == $num) {echo 'Find:'.$i;break;}
$i++;
}
Fatto adesso, non so se funziona :p
Edit: dimenticavo il break...
 
sydarex ha detto:
Tenendo conto solo dei numeri >= 0.
Python:
Codice:
from sys import argv
n = int(argv[1])
i = 0
while (i!=n): i=i+1
print 'Scardinato:',i
[ot]
ottimo codice
adesso lo capisco quasi tutto............
[/ot]
 
P.S:
solo per curiosità quanto tempo ci mette a fare il brutal di 1423 con il 1423 gia impostato dentro ???
il mio:
Codice:
	1416			    NO
	1417			    NO
	1418			    NO
	1419			    NO
	1420			    NO
	1421			    NO
	1422			    NO
	1423			    NO
chiave trovata 1423 

real	0m0.097s
user	0m0.000s
sys	0m0.012s
kripnos@kripnos-laptop:~/c$
ecco il mio codice migliorato
C:
Codice:
#include <stdio.h>

int key;
int pass = 1423;

int main(){
	if (pass < 0 ){
		printf("La pasword è negativa \n");
                return 0;
         }
		rinv:
			key++;
			printf("\t%d\t\t\t    NO\n", key);
			if (key != pass){
					goto rinv;
				}
			else {
				printf("chiave trovata %d \n", key);
			}
}
 
perl rulla ;)
Codice:
$n = 1423; $i=0;
$i++ while $i<$n;
print "trovato: $i\n";

oppure, chiedendo il numero:
Codice:
$n = shift or die "Usage: perl $0 <number>\n";
$i=0;
$i++ while $i<$n;
print "trovato: $i\n";

entrambi i casi 6 millesimi :D
 
ecco il mio in java (creato con netbears )
Codice:
package javaapplication1;

public class Main {
    public static void main(String[] args) {
        int key = 0;
        int pass = 1423;
        System.out.println("\n Brutalforce  \n la chiave è:");
        while (key != pass){
            key++; // fa la scansione di tutti i numeri interi
            do {
                System.out.println(key);
                break;
            }while(key==pass);
        }
        System.out.println(key);
    }
 
kr1pn0$ ha detto:
P.S:
solo per curiosità quanto tempo ci mette a fare il brutal di 1423 con il 1423 gia impostato dentro ???
il mio:
Codice:
	1416			    NO
	1417			    NO
	1418			    NO
	1419			    NO
	1420			    NO
	1421			    NO
	1422			    NO
	1423			    NO
chiave trovata 1423 

real	0m0.097s
user	0m0.000s
sys	0m0.012s
kripnos@kripnos-laptop:~/c$
ecco il mio codice migliorato
C:
Codice:
#include <stdio.h>

int key;
int pass = 1423;

int main(){
	if (pass < 0 ){
		printf("La pasword è negativa \n");
                return 0;
         }
		rinv:
			key++;
			printf("\t%d\t\t\t    NO\n", key);
			if (key != pass){
					goto rinv;
				}
			else {
				printf("chiave trovata %d \n", key);
			}
}
La velocità nn dipende dallo script... dipende dalla macchina su cui lo script viene eseguio :eek:
Beh cmq essendo che il numero è già inserito nella sorgente e il file deve solo analizzare se stesso il tempo è sicuramente molto molto basso se il numero nn è qualche miliardo...
 
Stato
Discussione chiusa ad ulteriori risposte.