Foros del Web » Programando para Internet » PHP »

Fuerza Bruta

Estas en el tema de Fuerza Bruta en el foro de PHP en Foros del Web. Hola, despues de buscar, todavia no se como hacerlo . Lo que quiero hacer es la clasica fuerza bruta, solo con letras, en PHP. (osea, ...
  #1 (permalink)  
Antiguo 10/06/2007, 21:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 171
Antigüedad: 19 años, 1 mes
Puntos: 0
Fuerza Bruta

Hola, despues de buscar, todavia no se como hacerlo .
Lo que quiero hacer es la clasica fuerza bruta, solo con letras, en PHP.
(osea, aaa, aab, aac, aad, etc).
Alguien sabe como?

Salu2
PD: por adelantado,no es nada ilegal XD
  #2 (permalink)  
Antiguo 10/06/2007, 23:58
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Fuerza Bruta

para que seria?
no se bien a que quieres llegar pero creas una variable tipo arreglo que te recorra un for con todas letras del abecedario cuando esta llega a z renueva y toma con la segunda tambien, y cuando esta llega a z retoma con la tercera y haci...

:/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 11/06/2007, 06:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 171
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Fuerza Bruta

Cita:
Iniciado por kaninox Ver Mensaje
para que seria?
Para algo tipo dominios...

Cita:
Iniciado por kaninox Ver Mensaje
no se bien a que quieres llegar pero creas una variable tipo arreglo que te recorra un for con todas letras del abecedario cuando esta llega a z renueva y toma con la segunda tambien, y cuando esta llega a z retoma con la tercera y haci...
Exacto, eso ya se, pero no se como
  #4 (permalink)  
Antiguo 11/06/2007, 06:25
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Fuerza Bruta

jeje una ayudita con una sola letra, o arreglo como quieras llamarle....

Código PHP:
$variable_a_comparar "y";
$variable1 utf8_encode("abcdefghijklmnñopqrstuvwxyz);
for ($i=0; $i<strlen($variable_a_comparar); $i++)
{
if (strpos($variable1, substr($variable_a_comparar,$i,1))===true)
{
echo "
la variable es la $variable1";


vamos a ver si resulta lo hice a la rapid :P
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 11/06/2007, 08:19
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Fuerza Bruta

Fijate si te sirve (lo hice hace mucho) sirve para encontrar todas las combinaciones de un abecedario a-z hasta encontrar una palabra (aquí es "papa")
Código PHP:
<?php
set_time_limit
(0);
function 
cargar($palabra){
global 
$longitud;
global 
$posibles;
global 
$asignar;
$longitud=strlen($palabra);
$asignar=array();
$posibles =range(a,z);
for(
$i=0;$i<$longitud;$i++){
    
$asignar[$i]=$posibles;
}
}

function 
solucionado($palabra,$test){
if(
$test==$palabra)return 1;
return 
0;
}

function 
paltmp(){
global 
$longitud;
global 
$posibles;
global 
$asignar;
for(
$i=0;$i<$longitud;$i++){
    if(
count($asignar[$i])==count($posibles))return 0;
}
return 
1;
}

function 
ensayar($palabra){
global 
$longitud;
global 
$posibles;
global 
$asignar;
global 
$solucionado;
if(
$solucionado==1) return;
for(
$i=0;$i<$longitud;$i++){
if(
count($asignar[$i])!=count($posibles))continue;
for(
$j=0;$j<count($posibles);$j++){
$asignar[$i]=$posibles[$j];
if(
paltmp()>0){
$paltmp=implode('',$asignar);
if(
solucionado($palabra,$paltmp)>0){
echo 
'<br />La solución es: '.$paltmp;$solucionado=1;return;
}
else echo 
'<br />'.$paltmp;
}
ensayar($palabra);
}
$asignar[$i]=$posibles;return;
}

}
$algo='papa';
cargar($algo);
ensayar($algo);
?>
  #6 (permalink)  
Antiguo 13/06/2007, 16:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 171
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Fuerza Bruta

Buenisimo, muchisimas gracias.
Lo voy a adaptar a ver si me sirve pero a simple vista parece que si.

EDITO:

Lo estuve viendo y edite y ahora lo deje a mi gusto, que no lo compare con otra palabra, sino que las genere todas.
Ahora, me surgio una duda, es posible que antes de empezar a generar, puede elegir desde que palabra empezar? (ej, hoy hace unas, mañana sigue)

Gracias.

Última edición por Bkwxs; 13/06/2007 a las 20:26
  #7 (permalink)  
Antiguo 13/06/2007, 20:43
 
Fecha de Ingreso: julio-2006
Ubicación: sevilla
Mensajes: 251
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: Fuerza Bruta

lo que puedes es generar un fichero que te guarde las palabras encontradas y evitar que las vuelva a generar
  #8 (permalink)  
Antiguo 13/06/2007, 21:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 171
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Fuerza Bruta

Hola, gracias por responder....
El tema es que cuando lleve muchos combinaciones, deberian ser miles de llamadas a la DB (los guardo en la db) y muchos recursos....
  #9 (permalink)  
Antiguo 13/06/2007, 21:40
 
Fecha de Ingreso: julio-2006
Ubicación: sevilla
Mensajes: 251
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: Fuerza Bruta

este tipo de programas tiene este problema , otra opcion es el empleo de diccionarios
  #10 (permalink)  
Antiguo 14/06/2007, 10:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 171
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Fuerza Bruta

Al final lo solucione de la siguiente forma:

Código PHP:
if ($comparacion == $paltmp){
$xxx=1;
}
if (
$xxx=="1"){
echo 
'<br />'.$paltmp;

donde $comparacion es la palabra desde donde quiero que empieze y $xxx es =0.
De esa forma cuando el generador llegue a mi palabra de comparacion, $xxx se vuelve 1 y me empieza a ejecutar la funcion.
Gracias a todos por la ayuda. Todavia no lo termine al script pero me parece que va a andar perfecto.
Ya pueden dar el tema por cerrado.

P.D.: Nevergames, no lo voy a utilizar para fuerza bruta al script, por eso los diccionarios no me sirven, lo que yo queria es un script que haga lo mismo que uno de fuerza bruta para adaptarlo a mis necesidades.

Gracias totales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:03.