Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - francomat

#1
Lo voy a probar, muchas gracias !
#2
En el foro "Seguridad Wireless" de esta misma página hay bastante información. Respecto a mi experiencia en el tema, yo diría que el mas efectivo para sacar claves wpa es el ataque al wps, este metodo tiene muchas variantes, aunque para todas las variantes nesecitas una buena recepcion(por lo que te recomiendo una buena, en mi caso tengo una tp-link modelo wn722n que funciona de maravillas).  Respecto a las variantes de los ataques por wps, por fuerza bruta es bastante efectivo aunque puede llegar a tardar una buena cantidad de horas y luego wps pixie attack tambien es bueno si el router tiene un pin conocido. Hay más variantes pero personalmente las únicas que me dieron resultados fueron esas dos.
Los ataques por diccionario según mi humilde opinión, son efectivo solo en el caso de aquellos modem que sabes que estan cofigurados por defecto y que por lo tanto hay un rango alto de probabilidades de hallar con la contraseña(como cierta compañia argentina que configura los modems por defecto colocadole de password el numero de cliente).

Algo de informacion sobre wps:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Habia un post del usuario Cl0udswX explicando la teoria que hay detras de todo el wps pero no logro encontrarlo, a lo mejor tenes mas suerte buscandolo.
Saludos.
#3
Hola hueco gracias por ayudarme a solucionar el problema. Por lo que estuve leyendo el problema son los bytes de cabecera que se escriben cada vez que se crea un ObjectOutputStream, por lo que la única solución es leer en el mismo momento en que escribes sin cerrar el flujo de datos (Deberia hacerlo todo en un mismo metodo, algo que a mi no me sirve).

Por lo que me dedique hacerlo como lo dijiste desde un principio, guardando directamente un ArrayList en el archivo.dat.
Comparto el codigo para alguien que le pueda servir de inspiracion  :P
Leer archivo
Código: php
public void AbrirTop() throws ClassNotFoundException, IOException{
ObjectInputStream entrada=null;
FileInputStream file= new FileInputStream("src/datos.dat");
try {

entrada=new ObjectInputStream(file);
ArrayList<Jugador> lista;

while(entrada!=null){

lista=(ArrayList<Jugador>) entrada.readObject();
Jugador UnJugador=lista.get(0);
System.out.println(UnJugador.getNombre());
System.out.println(UnJugador.getPuntFinal());
Jugador OtroJugador=lista.get(1);
System.out.println(OtroJugador.getNombre());
System.out.println(OtroJugador.getPuntFinal());

//entrada.close();
}


} catch (FileNotFoundException e) {
System.out.println("no se encuentra el archivo .dat");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("fin de archivo");
}finally{
file.close();
}

}


Guardar archivo
Código: php
public void GuardarJugador() throws ClassNotFoundException, IOException {

String nombre=JOptionPane.showInputDialog(null, "Introduce tu nombre");
ObjectOutputStream salida=null;

Jugador UnJugador=new Jugador(nombre,this.getPuntos());
Jugador OtroJugador=new Jugador("pepe", 75);

ArrayList<Jugador> lista= new ArrayList<Jugador>();
lista.add(UnJugador);
lista.add(OtroJugador);
FileOutputStream file= new FileOutputStream("src/datos.dat");
try {


salida = new ObjectOutputStream(file);
salida.writeObject(lista);


} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("No se encontro archivo");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
file.close();
salida.close();
}


}


Otra cosa, los arraylist ya implementa la interfaz serializable por lo que no es necesario utilizar el metodo Arrays.asList(). No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Respecto con lo que dices mas arriba, es verdad de que hay mas formas de realizarlo y creo que lo mas simple era guardarlo en un archivo de texto plano, pero bueno me habia enroscado con esta formula y de paso aprender algo  :o :o

Gracias otra vez y saludos !
#4
Hola gracias por responder, intente hacer dos métodos desde cero siguiendo el ejemplo que pasaste el problema es que ahora no me guarda los objetos, cuando sale del método GuardarArchivo el archivo .dat que se produce esta en blanco.

Código: php
public void GuardarArchivo() throws IOException{
String nombre=JOptionPane.showInputDialog(null, "Introduce tu nombre");
Jugador UnJugador=new Jugador(nombre, this.puntajeTotal);
Jugador SegundoJugador=new Jugador("asd", 79);


  OutputStream file;
try {
file = new FileOutputStream("src/datos.dat", true);
OutputStream buffer = new BufferedOutputStream(file);
ObjectOutput output = new ObjectOutputStream(buffer);
    List<Jugador> top= Arrays.asList(UnJugador, SegundoJugador);
    System.out.println(top.size());
    output.writeObject(top);
 
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("Archivo no encontrado");
} catch (IOException e) {
System.out.println("fin de archivo");
}
   
}

Les dejo el metodo LeerArchivo por las dudas
Código: php
public void GuardarArchivo() throws IOException{
String nombre=JOptionPane.showInputDialog(null, "Introduce tu nombre");
Jugador UnJugador=new Jugador(nombre, this.puntajeTotal);
Jugador SegundoJugador=new Jugador("asd", 79);


  OutputStream file;
try {
file = new FileOutputStream("src/datos.dat", true);
OutputStream buffer = new BufferedOutputStream(file);
    @SuppressWarnings("resource")
ObjectOutput output = new ObjectOutputStream(buffer);
    List<Jugador> top= Arrays.asList(UnJugador, SegundoJugador);
    System.out.println(top.size());
    output.writeObject(top);
 
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("Archivo no encontrado");
} catch (IOException e) {
System.out.println("fin de archivo");
}
   
}

No tengo idea por no lo guarda intente guardar al menos un int con el metodo .WriteInt() y nada ??? ??? ???
#5
Estoy haciendo un pacman en java y quiero guardar un TOP 5 de los mejores puntajes. Para esto primero quiero guardar en un archivo .dat los Objetos jugador que luego voy a intentar abrir.
Mi problema es que al leer, solo me tira el primer objeto y luego me dice que llego al final de archivo

Este es el método que se encarga de abrir el archivo
Código: php
	public void AbrirTop() throws ClassNotFoundException, IOException{
ObjectInputStream entrada=null;
try {
entrada=new ObjectInputStream(new FileInputStream("src/datos.dat"));

for(int i=0; i<5000; i++){

[b]TopJugadores=(Jugador) entrada.readObject();[/b]
System.out.println(TopJugadores.getNombre());
System.out.println(TopJugadores.getPuntFinal());

//entrada.close();
}


} catch (FileNotFoundException e) {
System.out.println("no se encuentra el archivo .dat");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Final de archivo");
}


Este es el método que utilizo para guardar los objetos, creeria que se guardan bien, a groso modo intente abrir el archivo.dat y pareciera que guarda uno despues del otro.

Código: php
	public void GuardarJugador() throws ClassNotFoundException, IOException {

//Jugador UnJugador=new Jugador();

//UnJugador.setPuntFinal(this.getPuntos());
String nombre=JOptionPane.showInputDialog(null, "Introduce tu nombre");
//UnJugador.setNombre(nombre);
ObjectOutputStream salida=null;
Jugador UnJugador=new Jugador(nombre,this.getPuntos());

try {


salida = new ObjectOutputStream(new FileOutputStream("src/datos.dat",true));
salida.writeObject(UnJugador);

//salida.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("No se encontro archivo");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


Les agradecería algo de ayuda y cualquier recomendación sobre el código ya que es la primera vez que utilizo las api de java.