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  Programación / Programación C/C++ / [SOLUCIONADO ]Structs Dinamicas en: 6 Mayo 2014, 20:14 pm
Código
  1. #include <stdio.h>
  2.  
  3. typedef struct Vagon{
  4.    int numero;
  5.    int peso;
  6.    char *carga;
  7. }vagon;
  8.  
  9. typedef struct Tren{
  10. vagon *v;
  11. }tren;
  12.  
  13.  
  14. int main(){
  15.  
  16.    int nvagones=10;
  17.  
  18.    tren *p=(tren *)malloc(sizeof(tren));
  19.  
  20.    p->v =(vagon *)malloc(nvagones*sizeof(vagon));    
  21.  
  22.    return 0;
  23. }
  24.  

Estoy aprendiendo punteros y este ejemplo trata de hacer trenes con muchos vagones. En el ejemplo con 1 solo tren luego reservo memoria para 10 vagones. Lo que pasa es que no se acceder luego a cada vagon porque p->v[2]->numero=1; por ejemplo no funciona y no entiendo porque. ¿Alguien me explica?

Dejo el code de ejemplo por si a alguien le sirve de algo:

Código
  1. #include <stdio.h>
  2.  
  3. typedef struct Vagon{
  4.    int numero;
  5.    int peso;
  6.    char *carga;
  7. }vagon;
  8.  
  9. typedef struct Tren{
  10. vagon *v;
  11. }tren;
  12.  
  13. char cargas[4][25]={"MADERA","PAN","HIERRO","ALIMENTOS"};
  14.  
  15. int main(){
  16.    srand(time(NULL));
  17.  
  18.    int nvagones=10;
  19.    int i;
  20.  
  21.    tren *p=(tren *)malloc(sizeof(tren));
  22.  
  23.    p->v =(vagon *)malloc(nvagones*sizeof(vagon));
  24.  
  25.    for(i=0;i<nvagones;i++){
  26.        p->v[i].numero=i+1;
  27.        p->v[i].peso = 500+(rand()%1500);
  28.        p->v[i].carga =cargas[rand()%4];
  29.    }
  30.  
  31.    for(i=0;i<nvagones;i++){
  32.        printf("Numero: %d\n",p->v[i].numero);
  33.        printf("\tPeso: %dKg",p->v[i].peso);
  34.        printf("\tCarga: %s\n",p->v[i].carga);
  35.    }
  36.  
  37.  
  38.    return 0;
  39. }
  40.  
2  Programación / .NET (C#, VB.NET, ASP) / C# WebBrowser en: 25 Abril 2014, 12:15 pm
Hola gente, soy muy novato en C# y estoy intentando hacer un bot para una página con el webbrowser. Lo que me pasa es que tengo que navegar por cientos de url diferentes y tengo que organizarlo con funciones como Loguear(), getUserdata() pero si cada vez que entro en una url se llama al evento DocumentCompleted() no sé como estructurarlo para que no me haga siempre todo lo que esté dentro de esa función. ¿Que tengo que hacer? ¿Crear varios webbrowsers y hacer en cada 1 lo que quiero pero muchas veces?
3  Seguridad Informática / Hacking Wireless / Problemas modo monitor en: 22 Marzo 2014, 05:43 am
Buenas gente, me he comprado una Alfa AWUS036H y he estado probandola en Kali para auditoria de redes y tengo un serio problema.

La pongo en modo monitor y empiezo a escanear redes y a los 10-20 segundos no detecta nada, es como si dejase de funcionar el modo monitor. Me pasa con todas las aplicaciones como reaver, wifite, ect. Empieza bien y al cabo de pocos segundos se para.

¿Alguna idea de que puedo hacer?



Fui a la tienda y me dieron otra tarjeta igual y me sigue pasando lo mismo. A la hora de conectarme va todo normal excepto por la velocidad que me va mucho peor que antes teniendo mas señal, pero he leido que esta tarjeta es buena para auditorías pero mala para navegar. Pero a la hora de auditar deja de detectar redes y de hacer nada tengo que desenchufarla y volverla a conectar para que vuelva a durar 20 segundos. Por favor que alguien responda.
4  Programación / Scripting / Script para web en: 9 Febrero 2014, 12:12 pm
Hola gente, necesito ayuda para crear un script que me automatice una tarea. Se trata de una pagina de apuestas y quiero hacer un script que pulse unos determinados botones.

La idea es esta:

http://playfulbet.com/usuarios/1

Si sustituimosel numero en un bucle podemos ir accediendo a la pagina de ese usuario luego dentro de esa página cada usuario tiene un botón follow y otro botón desafíos.

Estos son los codigos que llevan los botones:

Desafío:
Código
  1. <a href="/peticiones?category=friendship&amp;receiver_id=200" class="add-for-challenge tip-left" data-method="post" data-options="disable-for-touch:true" data-tooltip="" id="add_friend" rel="nofollow" title="Solicitar desafíos"><i class="fa fa-bolt"></i><b>Desafios</b> </a>

Follow:
Código
  1. <a href="/follows/200?followed_id=200" class="js-toggle-follow btn-social btn-unfollow hide" data-method="delete" data-remote="true" id="unfollow" rel="nofollow"><div class="btn-content"><i class="fa fa-check"></i> Siguiendo</div></a><a href="/follows?followed_id=200" class="js-toggle-follow btn-social btn-follow " data-method="post" data-remote="true" id="follow" rel="nofollow"><div class="btn-content"><i class="fa fa-plus"></i> Seguir</div></a>

Pero si entras directamente en ese enlace del href no hace nada y dice k la pagina no existe. ¿Alguna pista o ayuda?

Si quieren probar la página puede registrarse aquí, esta página es interesante porque las apuestas son gratis, y luego podemos cambiar las monedas del juego por diferentes premios como xbox one, play4, paysafecard... :

http://playfulbet.com/users/sign_in?invited_by=104394
5  Programación / Scripting / Ayuda con bash! en: 16 Noviembre 2013, 15:47 pm
Código
  1. #!/bin/bash
  2. wget http://www.aemet.es/xml/municipios/localidad_18022.xml
  3. mv localidad_18022.xml datos.xml
  4. lista=$(grep prob_precipitacion datos.xml | head -n 4)
  5. echo $lista
  6.  

Hola tengo una duda con ese codigo descargo el xml de una pagina del tiempo y me da esto:
<prob_precipitacion periodo="00-24"></prob_precipitacion>
<prob_precipitacion periodo="00-12"></prob_precipitacion>
<prob_precipitacion periodo="12-24">10</prob_precipitacion>
<prob_precipitacion periodo="00-06"></prob_precipitacion>

Lo que necesito es cojer el numero que queda entre las etiquetas (en este caso solo hay un 10) y guardarlo en una variable. ¿Alguien me explica como hacerlo o que herramientas necesito? Gracias!

EDITO: He podido solucionarlo. Cierren el post.

6  Programación / Scripting / Ayuda con script bash en: 14 Noviembre 2013, 16:24 pm
Hola gente tengo que hacer un script que me apage el pc con init 0 si la probabilidad de lluvia sacada de el tiempo.es es mayor a 80%. Tengo esto:
Código
  1. #!/bin/bash
  2. declare -a TEMPERATURAS
  3. i=0
  4. wget http://www.eltiempo.es/la-cabrera.html?v=detallada >/dev/null 2>/dev/null
  5. mv la-cabrera.html\?v\=detallada cabrera
  6. lista=$(grep mini_rain cabrera)
  7. for elemento in $lista
  8. do
  9.        if [[ $elemento = ??% ]]
  10.        then
  11.                echo ${elemento:0:2}
  12.                #${TEMPERATURAS[$i++]}='expr ${elemento:0:2}'
  13.        fi
  14. done
  15.  
Lo que hago es descargar el archivo y buscar porcentajes que tengan el formato ??% y imprimirlos pero sin el %, lo que no es es como guardar eso en un array para luego cojer el primero que seria el que me hace falta. La linea comentada es lo que no se hacer.


EDITO: SOLUCIONADO! Pueden Cerrar o eliminar el post. Gracias!
7  Programación / Programación C/C++ / ¿Qué me falla? en: 17 Octubre 2013, 00:22 am
Lo que quiero hacer es crear un array de 2 dimensiones para guardar varias notas por cada alumno.
Creo que la reserva de memoria está bien lo que me falla es al intentar cambiar un valor y nose porque.
He probado haciendo  m[j]=0;
Lo que quiero es hacer un scanf("%f",m[j]);


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void reserva(float **w,int filas,int columnas) {
  5.     int i,j;
  6.     w = (float**) calloc(filas,sizeof(float *));
  7.     for(i=0;i<columnas;i++) {
  8.        w[i] = (float *) calloc(columnas,sizeof(float));
  9.        }
  10.  
  11. }
  12.  
  13.  
  14. int main()
  15. {
  16.    int numeroalumnos;
  17.    int numeronotas;
  18.    float **m;
  19.    int i,j;
  20.    printf("Cuantos alumnos?: ");
  21.    scanf("%d",&numeroalumnos);
  22.    printf("Cuantas notas por alumno?: ");
  23.    scanf("%d",&numeronotas);
  24.  
  25.    reserva(m,numeroalumnos,numeronotas);
  26.  
  27.    for(i=0;i<numeroalumnos;i++)
  28.    {
  29.        printf("Alumno %d\n",i+1);
  30.        for(j=0;j<numeronotas;j++) {
  31.            printf("\tNota %d: ",j+1);
  32.            m[i][j]=0; //Esto me falla
  33.        }
  34.        printf("\n");
  35.    }
  36.  
  37.  
  38.    return 0;
  39.  
  40. }
  41.  
8  Programación / Programación C/C++ / Ayuda!! en: 8 Octubre 2013, 15:47 pm
Buenas tengo que hacer un programa que le de la vuelta a un array pasandolo como argumento a una funcion. Lo tengo hecho y me sale el resultado bien pero creo k tiene fallos.¿Alguien puede echarle un vistazo? Gracias
Código
  1. #include <stdio.h>
  2.  
  3. #define POSITIONS 25
  4.  
  5. void create(int *pointer);
  6. void print(int *pointer);
  7. void turn(int *pointer);
  8.  
  9. int main()
  10. {
  11.    int numeros[POSITIONS];
  12.    create(numeros);
  13.    print(numeros);
  14.    turn(numeros);
  15.    print(numeros);
  16.  
  17.  
  18.    return 0;
  19. }
  20.  
  21. void create(int *pointer)
  22. {
  23.    int i;
  24.    for(i=0;i<POSITIONS;i++)
  25.    {
  26.        *pointer++=i+10;
  27.    }
  28. }
  29.  
  30. void print(int *pointer)
  31. {
  32.    int i;
  33.    for(i=0;i<POSITIONS;i++)
  34.    {
  35.        printf("%d\n",*pointer++);
  36.    }
  37.  
  38. }
  39.  
  40. void turn(int *pointer)
  41. {
  42.    int i;
  43.    int temp;
  44.    for(i=0;i<POSITIONS;i++)
  45.    {
  46.        temp = *pointer;
  47.        *pointer++ = *pointer+POSITIONS-i-1;
  48.        *pointer = temp;
  49.    }
  50.  
  51. }
9  Programación / Programación C/C++ / Ayuda con punteros en: 1 Octubre 2013, 17:23 pm
Buenas estoy practicando con punteros y he hecho este programa y funciona bien pero me da warnings y quisiera saber porque son.
El programa crea una baraja de cartas que van del 1 al 10 repetidas 4 veces simulando que hubiese 4 palos. Despues las imprime.

||In function 'main':|
|14|warning: passing argument 1 of 'CrearBaraja' from incompatible pointer type [enabled by default]|
|5|note: expected 'int **' but argument is of type 'int (*)[(sizetype)(ncartas)]'|
|15|warning: passing argument 1 of 'ImprimirBaraja' from incompatible pointer type [enabled by default]|
|6|note: expected 'int **' but argument is of type 'int (*)[(sizetype)(ncartas)]'|
||In function 'CrearBaraja':|
|26|warning: assignment makes pointer from integer without a cast [enabled by default]|
||=== Build finished: 0 errors, 3 warnings (0 minutes, 0 seconds) ===|

Aquí esta el code. ¿Como estaría bien?

Código
  1. #include <stdio.h>
  2. //#include <stdlib.h>
  3. //#include <time.h>
  4.  
  5. void CrearBaraja(int *matriz[],int numerocartas);
  6. void ImprimirBaraja(int *matriz[],int numerocartas);
  7.  
  8. int main()
  9. {
  10.    int j;
  11.    int ncartas=40;
  12.    int cartas[ncartas];
  13.  
  14.    CrearBaraja(&cartas,ncartas);
  15.    ImprimirBaraja(&cartas,ncartas);
  16.  
  17.  
  18.    return 0;
  19. }
  20.  
  21. void CrearBaraja(int *matriz[],int numerocartas)
  22. {
  23.    int j;
  24.    for(j=0;j<numerocartas;j++)
  25.    {
  26.        matriz[j]=(j%10)+1;
  27.  
  28.    }
  29. }
  30.  
  31. void ImprimirBaraja(int *matriz[],int numerocartas)
  32. {
  33.    int j;
  34.    for(j=0;j<numerocartas;j++)
  35.    {
  36.        printf("Carta %d = %d\n",j+1,matriz[j]);
  37.    }
  38. }
  39.  

Gracias por la ayuda!!
10  Programación / Programación C/C++ / Ayuda con Juego en: 2 Diciembre 2012, 22:24 pm
Hola que tal? Pues miren resulta que estoy haciendo un juego en c++ con allegro y esto es lo que llevo hecho, lo que me gustaría es que le echaran un vistazo al codigo para ver si se puede depurar y si hay algo que pueda mejorarse, tambien tengo que hacer unas rutinas para que las balas que se disparen colisionen con algun objeto y se reduzca la vida de este. ¿Como y donde seria correcto hacer esto? Si quieren las imagenes y eso puedo subir el proyecto a algun lado solo avisen. Gracias.



Código
  1. #include <allegro.h>
  2. #include "inicia.h"
  3. #include <iostream>
  4. #include <vector>
  5.  
  6.  
  7. BITMAP *buffer;
  8. //BITMAP *nave;
  9. const int ANCHO = 500;
  10. const int ALTO = 450;
  11. int i = 900/2;
  12.  
  13.  
  14.  
  15.  
  16. using namespace std;
  17.  
  18. class DISPARO
  19. {
  20.    private:
  21.    BITMAP *bala;
  22.    int x;
  23.    int y;
  24.    int dx;
  25.    int dy;
  26.  
  27.    public:
  28.  
  29.  
  30.    DISPARO(int _x,int _y,int _dx,int _dy);
  31.    int getx(void) const {return x;}
  32.    int gety(void) const {return y;}
  33.    void mover(void);
  34.    void pintar(void);
  35.  
  36.  
  37. };
  38.  
  39. DISPARO::DISPARO(int _x,int _y,int _dx,int _dy)//CONSTRUCTOR
  40.    {
  41.        x = _x;
  42.        y = _y;
  43.        dx = _dx;
  44.        dy = _dy;
  45.        if(dy > 0) bala = load_bitmap(".\\imagenes\\bala2.bmp",NULL);
  46.        else bala = load_bitmap(".\\imagenes\\bala3.bmp",NULL);
  47.    }
  48.  
  49. void DISPARO::pintar(void)
  50. {
  51.  
  52.   masked_blit( bala, buffer, 0, 0, x, y, 42, 43);
  53.  
  54. }
  55.  
  56. void DISPARO::mover(void)
  57. {
  58. y-=dy;
  59.  
  60.  
  61. }
  62.  
  63.  
  64.  
  65. /**************************************CLASE NAVE**********************************/
  66.  
  67.  
  68. class NAVE
  69. {
  70.    private:
  71.    BITMAP *nave;
  72.    int x;
  73.    int y;
  74.    int direccion;
  75.    int vida;
  76.    int ndisparos;
  77.    int maxdisp;
  78.    int dsw;
  79.    int cont;
  80.  
  81.    public:
  82.  
  83.  
  84.    NAVE(int _x=0,int _y=0,int _direccion=0,int _vida=50,int _maxdisp=5);
  85.  
  86.    int getx(void) const {return x;}
  87.    int gety(void) const {return y;}
  88.    int getdireccion(void) const {return direccion;}
  89.    int getvida(void) const {return vida;}
  90.  
  91.    void setx(int _x){x = _x;}
  92.    void sety(int _y){y = _y;}
  93.    void setdireccion(int _direccion){direccion = _direccion;}
  94.    void setvida(int _vida){vida = _vida;}
  95.  
  96.    void mover(void);
  97.    void pintar(void);
  98.    DISPARO *disparar(void);
  99.  
  100.  
  101.  
  102.  
  103. };
  104.  
  105. NAVE::NAVE(int _x,int _y,int _direccion,int _vida,int _maxdisp) //CONSTRUCTOR
  106.    {
  107.        x = _x;
  108.        y = _y;
  109.        direccion = _direccion;
  110.        vida = _vida;
  111.        nave = load_bitmap(".\\imagenes\\nave.bmp",NULL);
  112.        maxdisp = _maxdisp;
  113.        cont = 20;
  114.    }
  115.  
  116. void NAVE::mover(void)
  117. {
  118.    if(key[KEY_RIGHT]){ direccion = 2; x += 2; }
  119.  
  120.    else if(key[KEY_LEFT]) { direccion = 0; x -= 2; }
  121.  
  122.    if(key[KEY_UP])   { direccion = 3; y -= 2; }
  123.  
  124.    else if(key[KEY_DOWN]) { direccion = 1; y += 2; }
  125.  
  126.  
  127.    if(x-2 < 0) x +=2;
  128.        else if(x+2 > ANCHO-44) x -=2;
  129.  
  130.       if(y-2 < 0) y +=2;
  131.        else if(y+2 > ALTO-44) y -=2;
  132.  
  133.        if(cont > 0) cont--;
  134.  
  135.  
  136. }
  137. void NAVE::pintar(void)
  138. {
  139.  
  140.    masked_blit(nave, buffer, 40*direccion, 0, x, y, 40, 47);
  141.  
  142.    direccion = 1;
  143.  
  144. }
  145.  
  146. DISPARO *NAVE::disparar()
  147. {
  148.  
  149.    if(cont <= 0){ cont = 20; return new DISPARO(x+20,y,0,3); }
  150.  
  151.    else return new DISPARO(5000,5000,0,3);
  152.  
  153. }
  154.  
  155.  
  156. /****************************************CLASE ENEMIGO********************************/
  157.  
  158. class ENEMIGO
  159. {
  160.    private:
  161.    BITMAP *nave;
  162.    int x;
  163.    int y;
  164.    int direccion;
  165.    int vida;
  166.    int cont;
  167.  
  168.    public:
  169.  
  170.    ENEMIGO(int _x,int _y,int _direccion,int _vida);
  171.  
  172.    int getx(void) const {return x;}
  173.    int gety(void) const {return y;}
  174.    int getdireccion(void) const {return direccion;}
  175.    int getvida(void) const {return vida;}
  176.  
  177.    void setx(int _x){x = _x;}
  178.    void sety(int _y){y = _y;}
  179.    void setdireccion(int _direccion){direccion = _direccion;}
  180.    void setvida(int _vida){vida = _vida;}
  181.  
  182.    void mover(void);
  183.    void pintar(void);
  184.    DISPARO *disparar();
  185.  
  186.  
  187. };
  188.  
  189. ENEMIGO::ENEMIGO(int _x,int _y,int _direccion,int _vida)// CONSTRUCTOR
  190.    {
  191.        x = _x;
  192.        y = _y;
  193.        direccion = _direccion;
  194.        vida = _vida;
  195.        nave = load_bitmap(".\\imagenes\\enemigo.bmp",NULL);
  196.        cont = 2;
  197.    }
  198.  
  199. DISPARO *ENEMIGO::disparar()
  200. {
  201.  
  202.    if(cont <= 0){ cont = 20; return new DISPARO(x+20,y+40,0,-3); }
  203.  
  204.    else return new DISPARO(5000,5000,0,3);
  205.  
  206.  
  207. }
  208.  
  209. void ENEMIGO::mover(void)
  210. {
  211.     if(direccion == 0 && x >= 8){ x  -= 2; /*nav->y -= 2;*/}else direccion = 1;
  212.     if(direccion == 1 && x <=450){ x += 2;/*nav->y += 2;*/} else direccion = 0;
  213.  
  214.    if(x-2 < 0) x +=2;
  215.        else if(x+2 > ANCHO-44) x -=2;
  216.  
  217.       if(y-2 < 0) y +=2;
  218.        else if(y+2 > ALTO-44) y -=2;
  219.  
  220.    if(cont > 0) cont--;
  221. }
  222.  
  223. void ENEMIGO::pintar(void)
  224. {
  225.  
  226.   masked_blit( nave, buffer, 0, 0, x, y, 42, 43);
  227.  
  228.  
  229.  
  230. }
  231.  
  232.  
  233. vector<DISPARO*> disparos;
  234. vector<DISPARO*> disparos2;
  235.  
  236.  
  237. void limpia_disparos()
  238. {
  239.    unsigned int i;
  240.    vector<DISPARO*> vd;   // vector temporal
  241.  
  242.    /* eliminamos los disparos que se encuentren fuera de la pantalla*/
  243.  
  244.    for(i = 0; i < disparos.size(); i++)
  245.        if((disparos[i]->getx() > 0) && (disparos[i]->getx() < ANCHO) &&
  246.           (disparos[i]->gety() > 0) && (disparos[i]->gety() < ALTO))
  247.            vd.push_back(disparos[i]);
  248.        else
  249.            // liberamos la memoria
  250.            delete disparos[i];
  251.  
  252.    disparos.clear();
  253.  
  254.    for(i = 0; i < vd.size(); i++)
  255.        disparos.push_back(vd[i]);
  256.  
  257.    vd.clear();
  258. }
  259. void limpia_disparos2()
  260. {
  261.    unsigned int i;
  262.    vector<DISPARO*> vd;   // vector temporal
  263.  
  264.    /* eliminamos los disparos que se encuentren fuera de la pantalla*/
  265.  
  266.    for(i = 0; i < disparos2.size(); i++)
  267.        if((disparos2[i]->getx() > 0) && (disparos2[i]->getx() < ANCHO) &&
  268.           (disparos2[i]->gety() > 0) && (disparos2[i]->gety() < ALTO))
  269.            vd.push_back(disparos2[i]);
  270.        else
  271.            // liberamos la memoria
  272.            delete disparos2[i];
  273.  
  274.    disparos2.clear();
  275.  
  276.    for(i = 0; i < vd.size(); i++)
  277.        disparos2.push_back(vd[i]);
  278.  
  279.    vd.clear();
  280. }
  281.  
  282.  
  283.  
  284.  
  285. int main()
  286. {
  287.    inicia_allegro(ANCHO,ALTO);
  288.    inicia_audio(70,70);
  289.   BITMAP *nube = load_bitmap(".\\imagenes\\nube.bmp",NULL);
  290.   buffer = create_bitmap(ANCHO, ALTO);
  291.  
  292.   NAVE jugador(232,404,2,50);
  293.   ENEMIGO enemigo1(0,0,0,12);
  294.  
  295.   while(!key[KEY_ESC])
  296.   {
  297.       blit(nube,buffer,0,i--,0,0,ANCHO,ALTO);
  298.       if(i <= 0) i=450;
  299.       jugador.mover();
  300.       jugador.pintar();
  301.       enemigo1.mover();
  302.       enemigo1.pintar();
  303.       disparos2.push_back(enemigo1.disparar());
  304.       if(key[KEY_SPACE]){  disparos.push_back(jugador.disparar()); }
  305.  
  306.        for(unsigned int c = 0; c < disparos.size(); c++)
  307.       {
  308.           disparos.at(c)->mover();
  309.           disparos.at(c)->pintar();
  310.        }
  311.         for(unsigned int c = 0; c < disparos2.size(); c++)
  312.       {
  313.           disparos2.at(c)->mover();
  314.           disparos2.at(c)->pintar();
  315.  
  316.        }
  317.  
  318.         limpia_disparos();
  319.         limpia_disparos2();
  320.  
  321.       blit(buffer,screen,0,0,0,0,ANCHO,ALTO);
  322.       rest(5);
  323.       clear(buffer);
  324.  
  325.   }
  326.  
  327.    destroy_bitmap(buffer);
  328.    return 0;
  329. }
  330. END_OF_MAIN();
  331.  
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines