elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Seguridad Informática / Seguridad / Detectar inicio con Live en: 1 Octubre 2017, 01:22 am
Buenas noches a todos,

Resulta que el portátil de empresa de mi hermana, está "capado" como la mayoría de los portátiles de grandes empresas. Está capado por un software que ahora mismo no me acuerdo de su nombre. La cosa es que me decía que no podía hacer nada tipo escuchar música de Spotify y demás. Fue ahí cuando me saltó la curiosidad.
Pensé en la forma más sencilla de poder tener ese ordenador operativo para cualquier tipo de tarea, y fue arrancar desde una Live de una distribución Linux.
Al día siguiente un compañero de trabajo de mi hermana que trabajaba en el departamento de informática, tras mi hermana comentarle que yo pude acceder con un Live le dijo que eso en la empresa lo podrían detectar.
Fue aquí donde me picó la curiosidad.
Cómo?
Algún log de la BIOS?
No se me ocurre como y es curiosidad más que otra cosa.

Un saludo a todos
2  Seguridad Informática / Seguridad / MITM y rastros en: 2 Abril 2017, 11:55 am
Buenos días,

Hoy he amanecido con una duda, que puede que sea una chorrada, pero con lo que he leido hasta ahora, no me queda solucionada.
En un ataque MITM, si antes de realizar el envenenamiento, cambiamos nuestra MAC, en caso de ser pillados, habría alguna forma de que alguien sepa que somos nosotros?
Es decir, el MITM deja solamente rastro en la tabla ARP, no?
Y, esta tabla ARP, cuando se reinicio o vuelve a su estado inicial? cada vez que se reinicia la tarjeta de red o cada vez que se reinicia el ordenador?

Espero que alguien pueda contestarme estas preguntas!

Muchas gracias, y saludos!
3  Programación / Desarrollo Web / Modificar plantilla de wordpress en: 30 Marzo 2017, 08:09 am
Buenos días,

Estoy empezando en este mundo de wordpress, y quería intentar hacer una modificación a una plantilla, en caso de que se pudiera.
Me gustaría añadir las típicas imagenes, ofreciendo los servicios de una empresa, que cuando pasas el raton por encima, haga el efecto como de girar, y cambiar de color, no sé si me he entendido. Es decir, con efecto sustitución.
He estado buscando, y creo que debería cambiar el javascript, pero no sé ni en que parte, ni como tendría que tocarlo.
A ver si alguien me pudiera echar una mano, sería de gran ayuda.

Gracias
4  Programación / Java / problema crear sucesores en: 25 Noviembre 2016, 14:03 pm
Buenas tardes, tengo un problema con una práctica. El problema está en que una de las clases que tengo implementadas, llamada espacio de estado, tiene un metodo sucesores que que toma como parámetro una matriz de enteros, y esta, a partir de la posición '0'(la matriz estará desordenada en principio), debe crear hijos con los posibles movimientos que pueda realizar.
Por ejemplo, supongamos que tenemos una matriz de 3x3 y tenemos el '0' en la posición
[1][2], pues podrá realizar movimientos hacia arriba, hacia abajo y hacia la izquierda.
La cosa es que si llamo al metodo sucesores en la clase main y le meto una matriz de enteros desordenada por parámetros, me crea el primer sucesor bien, pero a partir de ese me los crea a partir de la matriz modificada, y no a partir de la matriz que metí por parámetro.
No sé si me estoy explicando bien. Es decir, que la matriz 'estado' en este caso se modifica, cuando no se tendrá que modificar.
Adjunto código de la clase a ver si me podeis resolver la duda.


Código:
package Puzzle;

import java.util.ArrayList;

import java.util.Arrays;

public class Estado {


//public Estado(){
//}

public boolean esObjetivo(int [][] estadoactual){
int cont1=0;
int [][] objetivo = new int[estadoactual.length][estadoactual[0].length];
for(int i = 0; i < estadoactual.length; i++){//Creamos la matriz de la solucion: 0,1,2,3,4,5,6...etc
for(int j=0; j < estadoactual[0].length; j++){
estadoactual[i][j]=cont1;
cont1++;
}
}
return Arrays.equals(estadoactual, objetivo);//Si son iguales true, si no false
}

public int[] obtenerNegra(int [][] actual){
int[] posiciones=new int[2];
for(int i=0; i<actual.length;i++){
for(int j=0; j<actual[0].length; j++){
if(actual[i][j]==0){
posiciones[0]=i;
posiciones[1]=j;
}
}
}
return posiciones;
}

public ArrayList<int [][]> Sucesores(int [][] estado){
ArrayList<int [][]> sucesores = new ArrayList<int [][]>();
int [][] estfinal = new int[estado.length][estado[0].length];
int [] posicionesNegra= obtenerNegra(estfinal);
ArrayList<Integer> lmv = mvmValidos(estfinal, posicionesNegra[1], posicionesNegra[0]);
    for(int i =0; i < lmv.size(); i++){
    estfinal=estado;
    int [][] nuevaMatriz = mover(estfinal, lmv.get(i),posicionesNegra[1] , posicionesNegra[0]); // Matriz actualizada con el movimiento realizado
    //ArrayList<int [][]> nuevaLista = new ArrayList<int [][]>();
    prinstate(nuevaMatriz);
    sucesores.add(nuevaMatriz);
    }
    return sucesores;
}

public int [][] mover(int [][] estadoact,int movimientos, int ynegra, int xnegra){
int [][] nm = new int[estadoact.length][estadoact[0].length];//Nueva matriz para aplicar el movimiento
nm=estadoact;
int aux=0;
    if(movimientos==3){ // Mueve hacia la izquierda (Left)
            aux=nm[xnegra][ynegra];
            nm[xnegra][ynegra]= nm[xnegra][ynegra-1];
            nm[xnegra][ynegra-1]= aux;
    }
            if(movimientos==2){ // Mueve hacia la derecha (Right)
            aux=nm[xnegra][ynegra];
            nm[xnegra][ynegra]= nm[xnegra][ynegra+1];
            nm[xnegra][ynegra+1]= aux;
            }
            if(movimientos==1){ // Mueve hacia abajo (Down)
            aux=nm[xnegra][ynegra];
            nm[xnegra][ynegra]= nm[xnegra+1][ynegra];
            nm[xnegra+1][ynegra]= aux;
            }
            if(movimientos==0){ // Mueve hacia arriba (Up)
            aux=nm[xnegra][ynegra];
            nm[xnegra][ynegra]= nm[xnegra-1][ynegra];
            nm[xnegra-1][ynegra]= aux;
            }
           

    return nm;
}

public void prinstate(int [][] estadoactual){
String estado="";
for(int i=0;i<estadoactual.length;i++){
for(int j=0; j < estadoactual.length; j++){
estado = estado + Integer.toString(estadoactual[i][j])+" ";
}
}
System.out.println(estado);
}

public ArrayList<Integer> mvmValidos(int [][] estadoactual, int ynegra, int xnegra){ // Este metodo devuelve una lista con los movimientos validos del cuadro "Vacio(negro)".
        ArrayList<Integer> movimientos=new ArrayList<Integer>();
       movimientos.add(0);//up
       movimientos.add(1);//down
       movimientos.add(2); //right
       movimientos.add(3);//left
       
if(ynegra==0){ // Segun en que parte del puzzle se encuentre se eliminaran los posibles movimientos para que en la lista solo queden los validos.
movimientos.remove(3); //Left
}
if(ynegra==estadoactual[0].length-1){
movimientos.remove(2); //Rigth
}
        if(xnegra==0){
             movimientos.remove(0);//Up
        }
        if(xnegra==estadoactual.length-1){
            movimientos.remove(1); //Down
        }     
        return movimientos;
}




}

Gracias!!
5  Sistemas Operativos / GNU/Linux / Clonar SSD con 2 SSOO en: 3 Noviembre 2016, 21:48 pm
Buenas noches,

Os traigo una duda que probablemente sea una tontería, pero no estoy seguro de la respuesta.
Tengo un SSD de 120 gb con w10 y ubuntu 16.04, en dos particiones distintas y quiero comprar otro ssd de 240 gb porque este se me ha quedado pequeño ya. Mi pregunta es, puedo clonar un ssd con los dos SSOO y que quede todo intacto?
En su día cuando pase de HDD a SSD y lo cloné sin problema, pero sólo tenia instalado W10 porque el pc estaba nuevo.
De poder clonarlo, que software conoceis para hacerlo?

Saludos
6  Sistemas Operativos / Windows / Error arranque clonado en: 10 Octubre 2015, 18:09 pm
Buenas tardes.
Os voy a contar mi problemilla, compre un disco duro ssd, un kingston para clonar todo lo que tenia en un portatil con w7. Bueno hasta ahi todo bien y siguiendo un tutorial de internet realice el clonado del disco, con el programa AOMEI exactamente.
El problema llega cuando cambio el disco duro oficial por el ssd y al arrancar me salta un error.
winload.exe missing or corrupt 0xc000000e

Me da unas instrucciones de que meta el cd del sistema operativo y lo repare. Bien, descargue mi version de w7 y arranque desde la usb y le di a reparar pero nada, no hacia nada.
Mi pregunta es, he clonado mal el disco?
o cual puede ser el problema?
El ordenador al poner el antiguo disco duro funciona perfectamente.
Un saludo y espero que podais ayudarme
7  Informática / Hardware / Novato cambio ventilador en: 10 Febrero 2015, 00:06 am
Buenas noches, antes de nada perdonar por ser tan novato en este tema, pero bueno nadie nace enseñado.
El caso es que mi ventilador hacia demasiado ruido, y hoy he probado a limpiarlo bien a fondo con un compresor pero sigue exactamente igual, por lo que he decidido cambiar el ventilador, siempre y cuando no me cueste un riñon. He estado leyendo y al parecer la placa base debe ser compatible y como no sabie el modelo, y abriendo la torre tampoco he visto nada, he descargado un programa llamado CPU-Z y en el apartado MainBoard me sale lo siguiente.

Motherboard
Manufacturer: Packard Bell
Model: FMCP7AM
Chipset: NVIDIA nForce 730i
Southbridge: NVIDIA nForce 730i
LPCIO ITE IT8718

BIOS
Brand American Megatrends Inc.
Version R01-A0
Date 10/23/2008

Graphic Interface
Version PCI-Express
Link Width x8 --- Max. Supported x16


A ver si alguno me podeis echar una mano y decirme que tipo de ventilador necesito
Un saludo y gracias de antemano!!
8  Programación / Java / Asignar nombre filas y columna matrices en: 21 Noviembre 2014, 13:18 pm
Buenos dias!
Os traigo una dudilla de un ejercicio de la universidad. Bueno el caso es que nos han mandado hacer un programa en el que creamos una liga de futbol con un numero n de equipos. El programa lo tengo mas o menos hecho, la matriz la se hacer, se como recorrerla para que el usuario vaya introduciendo los datos de los partidos, lo que no se es como asignar nombre a las filas y columnas es decir, en vez de aparecer numeros tipo partido entre 0 y 1, pues asignarle un String que lo introduciera el usuario tipo Madrid, Barsa etc...
No se si habrá quedado claro. Os dejo por aquí el código de la parte del programa que llevo hecha.
Un saludo y gracias de antemano.

import java.util.Scanner;
public class Pruebas{
   public static void main(String[] args){
      Scanner lectura=new Scanner (System.in);
      int n=Integer.parseInt(args[0]);
      int matriz[][]=new int [n][n];
      
      int fila=n;
      int columna=n;
      //Creamos dos bucles for que vayan recorriendo columnas y filas respectivamente
      for(fila=0;fila<n;fila++){  
         for(columna=0;columna<n;columna++){
            System.out.println("Introduzca los puntos obtenidos por el Local  en el partido "+fila+" contra "+columna);
            matriz[fila][columna]=lectura.nextInt();
            //Si el valor que introduce el usuario no es 0,1 o 3 el programa se cerrar para obligar al usuario a reiniciarlo y introducir los datos correctamente
            if((matriz[fila][columna]!=0)&&(matriz[fila][columna]!=1)&&(matriz[fila][columna]!=3)){
               System.out.println("El valor introducido no es correcto");
               System.exit(0);
            }
            
         }
      }
      
      boolean bandera=true;  //variable tipo booleana para recorrer el bucle do-while infinitas veces hasta que el valor de la variable no cambie
      do {
         System.out.println("Elige una de las siguien opciones"); //Creamos el menu con sus distintas opciones
         System.out.println("1-.Resultado de todos los partidos de la liga");
         System.out.println("2-.Mostrar puntos obtenidos por:");
         System.out.println("3-.Puntos obtenidos por todos los equipos");
         System.out.println("4-.Mostrar equipo con mayor puntuación");
         System.out.println("5-.Salir");
         System.out.println("Introduzca la opcion deseada: ");
         
         int opcion=lectura.nextInt();//Llamamos al Scanner lectura para que el usuario introduca la opcion.
         switch (opcion) {//Bucle switch que depende de la opcion del menu que anteriormente haya introducido el usuario
         case 1://Resultado de todos los partidos de la liga
            for(fila=0;fila<n;fila++){
               for(columna=0;columna<n;columna++){
            if (matriz[fila][columna]==3){
               System.out.println("El ganador del partido entre "+fila+" y "+columna+" ha sido 0");
            }else if(matriz[fila][columna]==0){
               System.out.println("El ganador del partido entre "+fila+" y "+columna+" ha sido 1");
            }else if(matriz[fila][columna]==1){
               System.out.println("El resultado del partido "+fila+" y "+columna+" ha sido un empate");
            }
               }
            }
         break;
         case 2:
            int i=0;
            for (;i<=n*n;i++) {
             System.out.println(i+" Resultado entre el partido"+fila+" y "+columna);    
            for(fila=0;fila<n;fila++){
                 
               for(columna=0;columna<n;columna++){
               
                        
               }
               }
         }
            
            break;
         case 3:
            int suma=0;
            for(fila=0;fila<n;fila++){
               suma=0;
               for(columna=0;columna<n;columna++){
                  suma=suma+matriz[fila][columna];
               }
            
               System.out.println("Los puntos totales obtenidos por el equipo "+fila+" han sido "+suma);
            }
         
         break;
         case 4:
            break;
         case 5:
            bandera=false;//Para salir del programa
            break;
            
         }//Fin del switch
      
         
      }while(bandera==true);
   }//Fin del main
}//Fin de la clase
9  Programación / Java / Duda ejercicio en: 21 Octubre 2014, 13:03 pm
Muy buenas.
Estoy en primero de ing.informatica y bueno yo en esto de la programación no sabia nada antes de empezar las clases y hoy nos han puesto un ejercicio en el cual tenemos que crear un Menú con distintas opción y el usuario debe eligir una de esas opción y ejecutarla. Bueno, hasta ahí el programa lo tengo bien creo, según el Eclipse.
El problema es que no se como hacer para que cuando elija una opción y la ejecute, vuelva al menú principal otra vez para poder elegir otra de las opciones y ejecutarla. Sé que es con el do-while, o eso creo, pero el problema es que no se usarlo. Aquí os dejo como llevo el programa para ver si me podeis echar una mano.
********NUEVA DUDA*****
Bueno, el ejercicio tiene otro enunciado el cual no entiendo y dice esto:
Los datos recogidos en el punto 1 deberán ser almacenados en un
vector de dos posiciones en lugar de variables, y consecuentemente
el resto de cálculos que se harán en el resto de puntos cambiarán.
Cualquier acción que requiera consultar todos los elementos del
vector deberá realizarse con un bucle.


Lo primero decir que no tengo ni idea de como se hacen los vectores, mas que nada porque en clase no lo hemos dado y buscando en Internet y viendo videos no me ha quedado muy claro.


import java.util.Scanner;
public class Practica2 {
   public static void main(String[] args){
   //Introuccionde datos de los partidos lo primero, para que se queden almacenadas las variables.
      Scanner leer = new Scanner (System.in);      
      System.out.print("Introduce los puntos obtenidos por el Madrid en el partido MADRID-BETIS --> ");
      int numero1=leer.nextInt();
      if((numero1 !=0)&&(numero1!=1)&&(numero1!=3)){
         System.out.println("El valor introducido no es correcto");
         
      }
      System.out.print("Introduce los puntos obtenidos por el Betis en el partido BETIS-MADRID --> ");
      int  numero2=leer.nextInt();
      if((numero2!=0)&&(numero2!=1)&&(numero2!=3)){
         System.out.println("El valor introducido no es correcto");
   }
       
      boolean bandera=true;
      //Creo variable booleana para que cuando ejecute una de las opciones que nos da a elegir el menu, con el bucle do-while, se vuelva a ejecutar el programa, excepto cuando queramos salir, en la que la variable booleana sera falsa.
      do{
        System.out.println("Selecionne una de las opciones: \n1-.Puntos obtenidos por el Real Madrid \n2-.Puntos obtenidos por el betis \n3-.Puntos totales obtenidos por ambos equipos \n4-.Equipo con mayor puntuación \n5-.Salir del programa \nIntroduzca la opción -->");
      
      
      int numero3=leer.nextInt();
      
      
      switch(numero3){
      case 1:
         if(numero2==0){
         System.out.println("Puntos obtenidos por el Madrid --> "+(3+numero1));
         }else if(numero2==1){
         System.out.println("Puntos totales obtenidos por el Madrid --> "+(1+numero1));
         }else if(numero2==3){
         System.out.println("Los puntos totales obtenidos por el Madrid --> "+(0+numero1));   
         }
         break;
      case 2:
         if(numero1==0){
            System.out.println("Puntos obtenidos por el Betis --> "+(3+numero2));
            }else if(numero1==1){
            System.out.println("Puntos totales obtenidos por el Betis --> "+(1+numero2));
            }else if(numero1==3){
            System.out.println("Los puntos totales obtenidos por el Betis --> "+(0+numero2));   
            }
            break;
            
      case 3:
      if((numero2==0)&&(numero1==3)){
         System.out.println("Madrid --> "+(3+numero1));
         System.out.println("Betis --> "+(numero2));
      }else if((numero2==0)&&(numero1==0)){
         System.out.println("Madrid --> "+(3+numero1));
         System.out.println("Betis --> "+(3+numero2));
      }else if((numero2==0)&&(numero1==1)){
         System.out.println("Madrid --> "+(3+numero1));
         System.out.println("Betis --> "+(numero1));
      }else if((numero2==1)&&(numero1==0)){
         System.out.println("Madrid --> "+(numero2+numero1));
         System.out.println("Betis --> "+(3+numero2));
      }else if((numero2==1)&&(numero1==1)){
         System.out.println("Madrid --> "+(numero1+numero2));
         System.out.println("Betis --> "+(numero1+numero2));
      }else if((numero2==1)&&(numero1==3)){
         System.out.println("Madrid --> "+(numero1+numero2));
         System.out.println("Betis --> "+(numero2));
      }else if((numero2==3)&&(numero1==0)){
         System.out.println("Madrid --> " +(numero1));
         System.out.println("Betis --> "+(numero2+3));
   }else if((numero2==3)&&(numero1==1)){
      System.out.println("Madrid --> "+(numero1));
      System.out.println("Betis --> "+(numero2+numero1));
   }else if((numero2==3)&&(numero1==3)){
      System.out.println("Madrid -->"+(numero1));
      System.out.println("Betis -->"+(numero2));
   }
   break;
      
      case 4:
   if(numero1>numero2){
           System.out.println("El Madrid ha conseguido mas puntos que el Betis");
        }else if(numero2>numero1){
           System.out.println("El Betis ha conseguido mas puntos que el Madrid");
        }else if(numero1==numero2){
           System.out.println("El Madrid y el Betis han obtenido los mismo puntos");
           }
   break;
      case 5:
         bandera=false;
      }
      
   }while(bandera==true);
      System.out.println("¡Adiós!");
   }   
}






GRACIAS DE ANTEMANO!!
10  Sistemas Operativos / GNU/Linux / Google Chrome se cierra (Ubuntu 14.04) en: 27 Septiembre 2014, 21:04 pm
Buenas tardes.
Aqui os vengo a proponer mi primera duda en el foro, aunque van a ser mas dudas lo que os proponga que respuestas...jajaja
Bueno, ayer instale Ubuntu 14.04 en mi ordenador en un disco duro externo ya que quiero empezar a manejarlo. El caso es que he instalado el Google chrome y al abrirlo se me cierra a los 5 seg. He probado a abrirlo con la consola y me sale este error.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
Error del bus (`core' generado)

(Iba a poner foto, pero no se como se pone)
A ver si alguien me puede resolver el problema.
Un saludo
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines