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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1] 2
1  Comunicaciones / Redes / WiFi y repetidor WiFi en: 11 Septiembre 2019, 21:38 pm
Buenas noches! Tengo una ONT de huawei in su WiFi y tal, y un repetirlo en modo AP. La cosa es que no sé si estoy haciendo las cosas bien. Tengo EL WiFi de la ONT con el canal 7 y el canal del repetido el 10 ( son los 2 menos congestionados), el repetidor WiFi tiene el mismo nombre que el WiFi de la ONT para que el móvil se conecte a AP que más potencia tenga. La cosa es, es correcto poner el mismo nombre al AP o hay que poner uno distinto?

Gracias
2  Programación / Ejercicios / Pipes y Dup - ¿Qué hace? en: 17 Junio 2018, 05:25 am
Hola. Alguien podría decirme qué hace este fragmento de código. Gracias!

Código
  1. #include <unistd.h>
  2. main(){
  3.   pipeline("/usr/bin/yes", "/bin/more");
  4. }
  5. int pipeline(char *proc1, char *proc2){
  6.    int fd[2];
  7.    pipe(fd);
  8.    if (fork()!=0){
  9.       close(fd[0]); // No lo necesitamos aqui
  10.       close(1); // Cierra la salida estandar
  11.       dup(fd[1]);
  12.       close(fd[1]); // No lo necesitamos
  13.       execl(proc1, proc1, 0);
  14.   }
  15.   else{
  16.       close(fd[1]); // No lo necesitamos
  17.       close(0); // Cierra la entrada estandar
  18.       dup(fd[0]);
  19.      close(fd[0]); // No lo necesitamos
  20.      execl(proc2, proc2, 0);
  21.   }
  22. }
  23.  
3  Sistemas Operativos / GNU/Linux / Ayuda ejercicio [SOLUCIONADO] en: 16 Junio 2018, 02:35 am
Hola. Me gustaría saber si alguien me puede ayudar a hacer este ejercicio debido a que no me funciona. El problema es el siguiente:

"Vamos a proceder a crear una nueva llamada al sistema, que llamaremos
int sys info process(int pid), a la cual pasamos como argumento un PID de un proceso, y queremos que nos devuelva el PPID de ese proceso, o -1 en caso de que no exista ning´un proceso con ese pid."

Todo ello debe ir bajo el núcleo linux, con una llamada en /usr/src/disop/arch/i386/kernel/entry.S

Os paso captura del código mediante imagen, ya que la máquina virtual no me deja copiar y pegar.

Primera parte del código https://ibb.co/bxk9sy
Segunda parte del código https://ibb.co/fuPPQJ
4  Programación / Bases de Datos / Algebra relacional en: 6 Mayo 2018, 20:12 pm
Hola, me gustaría saber cómo se verían varias consultas en álgebra relacional ya que no tengo ni idea.

¿Alguien puede echarme una mano?

Gracias!
5  Programación / Java / Ayuda crear radio FM Android en: 13 Diciembre 2017, 12:31 pm
Hola comunidad.
Estoy desarrollando una app para un trabajo de la universidad y no encuentro ni una pizca de código de radio FM, todas son streaming y me gustaría saber cómo puedo hacer una radio FM en Android Studio.

Gracias de antemano!
6  Programación / Programación General / Ayuda base de datos Android Studio en: 7 Octubre 2017, 18:55 pm
Hola, estoy intentando hacer una app super sencilla, pero estoy estancado en un sitio del que no tengo ni idea de cómo salir.

La app consta en registrar en una base de datos una serie de datos. ;-)

Os dejo mis clases por orden de creación:
MainActivity
Código
  1. public class MainActivity extends AppCompatActivity {
  2.  
  3.    @Override
  4.    protected void onCreate(Bundle savedInstanceState) {
  5.        super.onCreate(savedInstanceState);
  6.        setContentView(R.layout.activity_main);
  7.  
  8.        //ConexionSQLiteHelper conn=new ConexionSQLiteHelper(this,"bdTiendas",null,1);
  9.  
  10.    }
  11.  
  12.    public void onClick(View view){
  13.        Intent nueva_ventana = new Intent(MainActivity.this, registrarTienda.class);
  14.        startActivity(nueva_ventana);
  15.    }
  16. }

Utilidades (declaro variables y creo BBDD):

Código
  1. public class Utilidades {
  2.  
  3.  
  4.    public static final String TABLA_TIENDA="tienda";
  5.    public static final String CampoNumeroTienda="numTienda";
  6.    public static final String CampoNombreTienda="nombre";
  7.    public static final String CampoMuelleFrio="muelleFrio";
  8.    public static final String CampoMuelleFruta="muelleFruta";
  9.    public static final String CampoMuelleSeco="muelleSeco";
  10.    public static final String CampoDireccion="direccion";
  11.    public static final String CampoTelefono="telefono";
  12.  
  13.    public static final String CREAR_TABLA_TIENDA="CREATE TABLE"+TABLA_TIENDA+"("+CampoNumeroTienda+" INTEGER, "+CampoNombreTienda+
  14.            " TEXT,"+CampoMuelleFrio+" INTEGER, "+CampoMuelleFruta+" INTEGER,"+CampoMuelleSeco+" INTEGER,"+
  15.            CampoDireccion+" TEXT,"+CampoTelefono+" TEXT)";
  16.  
  17.  
  18.  

Tienda (pongo los metodos set y get):
Código
  1. public class Tienda {
  2.    private Integer numTienda;
  3.    private String nombre;
  4.    private Integer muelleFrio;
  5.    private Integer muelleFruta;
  6.    private Integer muelleSeco;
  7.    private String direccion;
  8.    private String telefono;
  9.  
  10.    public Integer getNumTienda() {
  11.        return numTienda;
  12.    }
  13.  
  14.    public void setNumTienda(Integer numTienda) {
  15.        this.numTienda = numTienda;
  16.    }
  17.  
  18.    public String getNombre() {
  19.        return nombre;
  20.    }
  21.  
  22.    public void setNombre(String nombre) {
  23.        this.nombre = nombre;
  24.    }
  25.  
  26.    public Integer getMuelleFrio() {
  27.        return muelleFrio;
  28.    }
  29.  
  30.    public void setMuelleFrio(Integer muelleFrio) {
  31.        this.muelleFrio = muelleFrio;
  32.    }
  33.  
  34.    public Integer getMuelleFruta() {
  35.        return muelleFruta;
  36.    }
  37.  
  38.    public void setMuelleFruta(Integer muelleFruta) {
  39.        this.muelleFruta = muelleFruta;
  40.    }
  41.  
  42.    public Integer getMuelleSeco() {
  43.        return muelleSeco;
  44.    }
  45.  
  46.    public void setMuelleSeco(Integer muelleSeco) {
  47.        this.muelleSeco = muelleSeco;
  48.    }
  49.  
  50.    public String getDireccion() {
  51.        return direccion;
  52.    }
  53.  
  54.    public void setDireccion(String direccion) {
  55.        this.direccion = direccion;
  56.    }
  57.  
  58.    public String getTelefono() {
  59.        return telefono;
  60.    }
  61.  
  62.    public void setTelefono(String telefono) {
  63.        this.telefono = telefono;
  64.    }
  65.  
  66.    public Tienda(Integer numTienda, String nombre, Integer muelleFrio, Integer muelleFruta, Integer muelleSeco, String direccion, String telefono) {
  67.        this.numTienda = numTienda;
  68.        this.nombre = nombre;
  69.        this.muelleFrio = muelleFrio;
  70.        this.muelleFruta = muelleFruta;
  71.        this.muelleSeco = muelleSeco;
  72.        this.direccion = direccion;
  73.        this.telefono = telefono;
  74.    }
  75. }

ConexionSQLiteHelper

Código
  1. public class ConexionSQLiteHelper extends SQLiteOpenHelper {
  2.  
  3.    public ConexionSQLiteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
  4.        super(context, name, factory, version);
  5.    }
  6.  
  7.    @Override
  8.    public void onCreate(SQLiteDatabase db) {
  9.  
  10.        db.execSQL(Utilidades.CREAR_TABLA_TIENDA);
  11.    }
  12.  
  13.    @Override
  14.    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  15.        db.execSQL("DROP TABLE IF EXISTS tabla");
  16.        onCreate(db);
  17.    }
  18. }

Registrar Tienda

Código
  1. public class registrarTienda extends AppCompatActivity {
  2. EditText nombre_tienda,numero_tienda,muelle_frio,muelle_fruta
  3.        ,muelle_seco,direccion,telf;
  4.    @Override
  5.    protected void onCreate(Bundle savedInstanceState) {
  6.        super.onCreate(savedInstanceState);
  7.        setContentView(R.layout.activity_registrar_tienda);
  8.  
  9.        nombre_tienda=(EditText) findViewById(R.id.nombreTienda);
  10.        numero_tienda=(EditText) findViewById(R.id.numeroTienda);
  11.        muelle_frio=(EditText) findViewById(R.id.muelleFrio);
  12.        muelle_fruta=(EditText) findViewById(R.id.muelleFruta);
  13.        muelle_seco=(EditText) findViewById(R.id.muelleseco);
  14.        direccion=(EditText) findViewById(R.id.direccionTienda);
  15.        telf=(EditText) findViewById(R.id.numTelfTienda);
  16.  
  17.  
  18.    }
  19.  
  20.    public void onClick(View view){
  21.        registroTienda();
  22.        }
  23.  
  24.  
  25.  
  26.    private void registroTienda() {
  27.        ConexionSQLiteHelper conn=new ConexionSQLiteHelper(this,"bdTiendas",null,1);
  28.        SQLiteDatabase db=conn.getWritableDatabase(); //PROBLEMA
  29.  
  30.        ContentValues values=new ContentValues();
  31.        values.put(Utilidades.CampoNumeroTienda,numero_tienda.getText().toString());
  32.        values.put(Utilidades.CampoNombreTienda ,nombre_tienda.getText().toString());
  33.        values.put(Utilidades.CampoMuelleFrio,muelle_frio.getText().toString());
  34.        values.put(Utilidades.CampoMuelleFruta,muelle_fruta.getText().toString());
  35.        values.put(Utilidades.CampoMuelleSeco,muelle_seco.getText().toString());
  36.        values.put(Utilidades.CampoDireccion,direccion.getText().toString());
  37.        values.put(Utilidades.CampoTelefono,telf.getText().toString());
  38.  
  39.       // Long idResultante=db.insert(Utilidades.TABLA_TIENDA,Utilidades.CampoNombreTienda,values);
  40.       // Toast.makeText(getApplicationContext(),"Tienda: "+idResultante+" agregada",Toast.LENGTH_SHORT).show();
  41.    }
  42. }
  43.  

Y el problema está en esta última clase, donde lo indico. Comento esta línea (y las que dependen de ella) y la app no se crashea, mientras dejánlosa sin comentar, peta.

Gracias de antemano.


EDITO 7/10/2017 20:20

Solucionado, me faltaba un espacio en la secuencia del create table. Gracias amigos.
7  Programación / Programación General / Poner sonido a Snake HTML5 en: 28 Septiembre 2017, 10:14 am
Hola amigos. Es un proyecto en el que necesito poner un tono (el mio llamado pac.mp3) cuando la serpiente come.

Tengo esta parte de código:

serpiente.js

Código
  1. $(document).ready(function() {
  2.  
  3. // Creamos un contexto 2d de nuestro canvas
  4. var canvas = $("#snake")[0];
  5. var context = canvas.getContext("2d");
  6. var width = $("#snake").width();
  7. var height = $("#snake").height();
  8.  
  9. var cellWidth = 10;
  10. var d;
  11. var food;
  12. var score;
  13. var level = 6; // 1 El nivel más lento, 10 el nivel más rápido.
  14. // contiene el listado de celdas por donde pasa la serpiente
  15. var snake;
  16.  
  17. // El juego tiene la dirección "right" por defecto y se ejecuta la función paint
  18. // dependiendo el nivel que hayas configurado arriba
  19. function init()
  20. {
  21. d = "right";
  22. createSnake();
  23. createFood();
  24. score = 0;
  25.  
  26. if(typeof gameLoop != "undefined") {
  27. clearInterval(gameLoop);
  28. }
  29.  
  30. gameLoop = setInterval(paint, 500 / level);
  31. }
  32.  
  33. init();
  34.  
  35. // Creamos la serpiente
  36. function createSnake()
  37. {
  38. var length = 5;
  39. snake = [];
  40.  
  41. for(var i = length - 1; i >= 0; i--)
  42. {
  43. snake.push({ x: i, y: 0 });
  44. }
  45. }
  46.  
  47. //Creamos el recuado que tiene que comerse la serpiente
  48. function createFood()
  49. {
  50. food = {
  51. x: Math.round(Math.random() * (width - cellWidth) / cellWidth),
  52. y: Math.round(Math.random() * (height - cellWidth) / cellWidth),
  53.  
  54. };
  55. }
  56.  
  57. //Dibujamos la serpiente
  58. function paint()
  59. {
  60. context.fillStyle = "#ccc";
  61. context.fillRect(0, 0, width, height);
  62. context.strokeStyle = 'black';
  63. context.strokeRect(0, 0, width, height);
  64.  
  65. var nx = snake[0].x;
  66. var ny = snake[0].y;
  67.  
  68. if (d == "right") {
  69. nx++;
  70. } else if (d == "left") {
  71. nx--;
  72. } else if (d == "up") {
  73. ny--;
  74. } else if (d == "down") {
  75. ny++;
  76. }
  77.  
  78. if (nx == -1 || nx == width / cellWidth || ny == -1 || ny == height / cellWidth || checkCollision(nx, ny, snake)) {
  79. init();
  80. return;
  81. }
  82.  
  83. if(nx == food.x && ny == food.y) {
  84. var tail = {
  85. x: nx,
  86. y: ny
  87. function pla();
  88. };
  89. score++;
  90. createFood();
  91. } else {
  92. var tail = snake.pop();
  93.  
  94. tail.x = nx;
  95. tail.y = ny;
  96. }
  97.  
  98. snake.unshift(tail);
  99.  
  100. for(var i = 0; i < snake.length; i++) {
  101. var c = snake[i];
  102. paintCell(c.x, c.y);
  103. }
  104.  
  105. paintCell(food.x, food.y);
  106.  
  107. var scoreText = "Score: " + score;
  108.  
  109. context.fillText(scoreText, 5, height - 5);
  110. }
  111.  
  112. //Pintamos la celda
  113. function paintCell(x, y)
  114. {
  115. context.fillStyle = "red";
  116. context.fillRect(x * cellWidth, y * cellWidth, cellWidth, cellWidth);
  117. context.strokeStyle = 'white';
  118. context.strokeRect(x * cellWidth, y * cellWidth, cellWidth, cellWidth);
  119. }
  120.  
  121. //Verificiamos si hubo alguna colisión (si la hubo el juego se reinicia)
  122. function checkCollision(x, y, array)
  123. {
  124. for(var i = 0; i < array.length; i++)
  125. {
  126. if(array[i].x == x && array[i].y == y) {
  127. return true;
  128. }
  129. }
  130. return false;
  131. }
  132.  
  133. // Capturamos la pulsación de las teclas
  134. $(document).keydown(function(e) {
  135. var key = e.which;
  136.  
  137. if (key == "37" && d != "right") {
  138. d = "left";
  139. } else if (key == "38" && d != "down") {
  140. d = "up";
  141. } else if (key == "39" && d != "left") {
  142. d = "right";
  143. } else if (key == "40" && d != "up") {
  144. d = "down";
  145. }
  146. });
  147. });
  148.  

serpiente.html
Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.    <meta charset="utf-8">
  4. <script src="http://code.jquery.com/jquery-1.10.1.min.js" type="text/javascript"></script>
  5. <script src="serpiente.js" type="text/javascript"></script>
  6.  
  7. .game
  8. {
  9. margin: 0 auto;
  10. width: 450px;
  11. }
  12. </style>
  13. </head>
  14.  
  15. <div class="game">
  16. <canvas id="snake" width="450" height="450"></canvas>
  17. </div>
  18. <audio controls autoplay loop>
  19.  <source src="horse.ogg" type="audio/ogg" >
  20.  <source src="horse.mp3" type="audio/mpeg">
  21. Your browser does not support the audio element.
  22. </audio>
  23. </body>
  24. </html>
  25.  

Gracias de antemano
8  Programación / PHP / Creando una web y paginas que no podrían acceder en: 14 Enero 2017, 17:19 pm
Hola, estoy intentando montarme una pequeña web que parece una gimcana.

Mi problema es que quiero cifrar cada una de las pruebas con un usuario y contraseña, inserto un formulario, el código php pertinente y todo funciona, pero el problema viene cuando pongo en la url la prueba que debería de estar cifrada, pongo la direccion en el buscador  y accede a ella sin pedirme datos ni nada. Que puedo hacer?




· Los títulos deben ser descriptivos
>Lee las reglas
-Engel Lex
9  Comunicaciones / Redes / Ip con varias webs en: 13 Enero 2017, 14:25 pm
Hola buenas, tengo internet con un proveedor el cual reparte internet con una misma IP (WAN) y tiene su web en el puerto 80, y yo quiero levantar mi servidor con mi web en el puerto 83, pero no sé redirigirlo par que el dns (en no-ip) me redirija mi web al puerto 83 en vez del 80.

¿Alguna sugerencia?

Gracias!!
10  Programación / Programación C/C++ / Ayuda, pasar programa en main a subprogramas en: 10 Diciembre 2016, 17:11 pm
Hola Buenas, tengo un programa en C que me gustaría pasar a subprogramas pero siempre me encuentro con algún tope. Me podéis ayudar? Gracias!

Aquí os dejo el código

Código
  1. DWORD umask = GetLogicalDrives();
  2.    int i;
  3.    char n;
  4.    char c[32];
  5.    int f = 0;
  6.    for (i = 97; i <= 122; i++) {
  7.        n = i;
  8.  
  9.        if (umask & 1) {
  10.            printf("%c:\\ ", n);
  11.            c[f] = n;
  12.            f++;
  13.        }
  14.        umask >>= 1;
  15.    }
  16.  
  17.    printf("\nDirectorio de origen %c:\\ \n", c[0]);
  18.    printf("Directorio destino %c:\\ \n", c[f - 1]);
  19.    char dire[100];
  20.  
  21.    sprintf(dire, "%c:\\copia_%c", c[0], c[f - 1]);
  22.    if (CreateDirectory(dire, 0) == TRUE) {
  23.        printf("Creado el directorio %c\\copia_%c\\\n", c[0], c[f - 1]);
  24.    }
  25.    if (SetCurrentDirectory(dire) == TRUE) {
  26.        DWORD nBufferLength = GetCurrentDirectory(0, NULL);
  27.        char *lpBuffer = (LPTSTR) malloc(nBufferLength);
  28.        int tam = GetCurrentDirectory(nBufferLength, lpBuffer);
  29.        printf("Lugar de trabajo actual : %s\\ \n", lpBuffer);
  30.    }
  31.    sprintf(dire,"%c:\\",c[f-1]);
  32.    printf("Estoy en el directorio %s:\n",dire);
  33.    SetCurrentDirectory(dire);
  34.  
  35.    HANDLE hFind;
  36.    WIN32_FIND_DATA datos;
  37.    hFind = FindFirstFile("*.*", &datos);
  38.    if (hFind != INVALID_HANDLE_VALUE){
  39.        while (FindNextFile(hFind,&datos)){
  40.            if (!(datos.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
  41.                SYSTEMTIME tiempo;
  42.                FileTimeToSystemTime(&datos.ftCreationTime, &tiempo);
  43.                printf("%2d/%2d/%d  %2d:%2d   %2s \n", tiempo.wDay, tiempo.wMonth, tiempo.wYear,tiempo.wHour + 1, tiempo.wMinute, datos.cFileName);
  44.                sprintf(dire,"%c:\\copia_%c\\%s",c[0],c[f-1],datos.cFileName);
  45.                CopyFile(datos.cFileName,dire,TRUE);
  46.            }
  47.        }
  48.        FindClose(hFind);
  49.    }

Lo que intento hacer con éste código es mostrar las unidades de mi pc, crear un directorio en una unidad de mi pc, y copiar archivos al anterior directorio en otra unidad.

Gracias!
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines