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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: 1 [2] 3
11  Programación / Programación C/C++ / [C++]Cpr - cURL para humanos en: 15 Septiembre 2016, 16:36 pm
Acabo de encontrar esta maravillosa API inspirada en mi amada requests de python :P
https://github.com/whoshuu/cpr

Y estoy teniendo problemas para utilizarla. Antes de nada decir que yo suelo editar los programas con gedit o SublimeText y compilo con g++.
El problema esta en que nunca e tocado nada de ficheros "make" o algo asi que siempre se sale si usas un entorno como CodeBlocks.

El problema es que no entiendo que tengo que hacer para utilizar esta libreria. Es decir hay una carpeta llamada include, he descargado esa carpeta y puesta en la misma carpeta que mi fichero, y me da siempre errores.
No acabo de entender la documentacion para usar la libreria alguien me podria hechar una mano? :silbar:



Casi nunca he usado librerias externas asi que no tengo ni idea del tema.
12  Programación / Programación C/C++ / Sockets linux en: 10 Septiembre 2016, 16:40 pm
Bueno estoy programando en C++ y no consigo que los sockets intercanvien mensajes, es decir que envio algo y no se muestra nada por pantalla.
E probado con ponerle cout delante de recv pero no se muestra nada, aqui el codigo:
Servidor:
Código
  1. #include <iostream>
  2. #include <string.h>
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <arpa/inet.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9.  
  10. using namespace std;
  11.  
  12. int linux_socket_serv(int portNum, int bufsize = 1024)
  13. {
  14. int client, server;
  15. bool isExit = false;
  16. char buffer[bufsize];
  17.  
  18. struct sockaddr_in server_addr;
  19. socklen_t size;
  20.  
  21. //Init socket
  22.  
  23. client = socket(AF_INET, SOCK_STREAM, 0);
  24.  
  25. if (client < 0)
  26. {
  27. cout << "[-] Error creando socket... " << endl;
  28. exit(1);
  29. }
  30.  
  31. cout << "[+] Socket creado correctamente... " << endl;
  32.  
  33. server_addr.sin_family = AF_INET;
  34. server_addr.sin_addr.s_addr = htons(INADDR_ANY);
  35. server_addr.sin_port = htons(portNum);
  36.  
  37. //Conectando sockets
  38.  
  39. if (bind(client, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0)
  40. {
  41. cout << "[-] Error conectando sockets... " << endl;
  42. exit(1);
  43. }
  44. size = sizeof(server_addr);
  45. cout << "[+] Esperando clientes... " << endl;
  46.  
  47. //Esperando clientes
  48.  
  49. listen(client, 3);
  50.  
  51. //Aceptar cliente
  52.  
  53. server = accept(client, (struct sockaddr*)&server_addr, &size);
  54.  
  55. if (server < 0)
  56. {
  57. cout << "[-] Error aceptando cliente... " << endl;
  58. exit(1);
  59. }
  60.  
  61. strcpy(buffer, "Servidor conectado...");
  62.  
  63.  
  64. send(server, buffer, bufsize, 0);
  65.  
  66. cout << "[+] Conectado con cliente... " << endl;
  67. recv(server, buffer, bufsize, 0);
  68.  
  69. close(client);
  70. return 0;
  71. }
  72.  
  73. int main()
  74. {
  75. linux_socket_serv(1500,1024);
  76. return 0;
  77. }
  78.  

y aqui el cliente:
Código
  1. #include <iostream>
  2. #include <string.h>
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <arpa/inet.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <netdb.h>
  10.  
  11. using namespace std;
  12.  
  13. int linux_socket_clie(int portNum, char* ip, int bufsize = 1024)
  14. {
  15. int client, server;
  16. bool isExit = false;
  17. char buffer[bufsize];
  18.  
  19. struct sockaddr_in server_addr;
  20.  
  21. //Init socket
  22.  
  23. client = socket(AF_INET, SOCK_STREAM, 0);
  24.  
  25. if (client < 0)
  26. {
  27. cout << "[-] Error creando sockets... " << endl;
  28. exit(1);
  29. }
  30.  
  31. cout << "[+] Socket creado... " << endl;
  32.  
  33. server_addr.sin_family = AF_INET;
  34. server_addr.sin_port = htons(portNum);
  35.  
  36.  
  37.  
  38.  
  39. //Conectando sockets
  40.  
  41. if (connect(client, (struct sockaddr*)&server_addr, sizeof(server_addr)) == 0)
  42. {
  43. cout << "[+] Conectando con el servidor... " << endl;
  44. }
  45.  
  46. cout << recv(client, buffer, bufsize, 0);
  47. cout << "[+] Conexion confirmada... " << endl;
  48. cin >> buffer;
  49. send(client, buffer, bufsize, 0);
  50. return 0;
  51. }
  52.  
  53.  
  54.  
  55.  
  56. int main()
  57. {
  58. linux_socket_clie(1500, "127.0.0.1", 1024);
  59. return 0;
  60. }
  61.  

El programa se queda parado en:


Servidor:

  • Socket creado correctamente...
  • Esperando clientes...

Cliente:

  • Socket creado...
13  Programación / Programación C/C++ / ChaCha y Salsa en: 1 Septiembre 2016, 17:52 pm
Conoceis alguna libreria de criptografia en C++ que implemente algoritmos de cifrado como ChaCha o Salsa?

E encontrado diversos proyectos en github pero no entiendo como implementarlos en mi codigo, ademas no tienen casi ni documentacion acerca de como emplearlos.

Saludos!!
14  Programación / Programación C/C++ / [C++]System() en: 28 Agosto 2016, 21:38 pm
Tengo un problema que me esta costando bastante de solucionar.

Tengo un array, con una ruta de un directorio concreto (anteriormente parseado), y lo que pasa es que intento pasar ese parametro a system() con varios comandos y no puedo esto es lo que tengo hasta ahora y he intentado varias veces:
Código
  1. char ruta_final[20]="C:\\Users\\user"; //Realmente la operacion para obtener la ruta es mas complicada
  2.  
  3. system("cd ",ruta_final," && dir"); //Tambien lo he intentado con + en vez de comas
  4.  
  5.  

Se que la variable que se le tiene que pasar por parametro a system tiene que ser de tipo char*, pero no consigo saber como pasar por parametro esos valores.

Tambien e intentado con strings y no funciona. Hay alguna funcion predeterminada para pasar un valor de tipo char a un valor de tipo char*?

Tambien e intentado lo siguiente:
Código
  1. #include <strings>
  2. char ruta_final[20]="C:\\Users\\user"
  3. string comando="cd ",ruta_final," && dir";
  4. system(c_str(comando));
  5.  
Pero tampoco funciona...


Ya que he abierto post, me gustaria saber si hay alguna otra forma de ejecutar comandos de tipo cmd, pero sin usar system para c++??? nose alomejor llamando a alguna dll o algo por el estilo.

Muchas gracias! :P :rolleyes:
15  Foros Generales / Foro Libre / Identificar personas con el mapa de sus venas es posible en: 26 Agosto 2016, 18:36 pm
Ayer estaba mirando CSI Cyber (lo he visto 2 o 3 veces solo) y en una parte del capitulo identificaban a una persona que atracaba un furgon blindado, llevaba pasamontañas y gafas de sol, por lo que no podian identificarle, pero tenian una foto bastante nitida de la otra cara de la palma de la mano.
Con esa foto mapearon sus venas y lo pasaron por tecnologia Big Data (fotos de redes sociales basicamente). Me llamo bastante la atencion por lo que decidi buscar un poco a cerca del tema. Realmente no tiene sentido lo que hicieron porque habrian necesitado unas luces especiales para mapear las venas (no hay que olvidar que es una serie...) pero bueno aqui les dejo el articulo que encontre haber que les parece.


https://hipertextual.com/2013/07/mapa-de-sus-venas

Asique mi propuesta es abrir un debate girando entorno a estos puntos:
    1.- Seria posible crear otra gran base de datos con en vez de huellas d'actilar mapeos de las venas de la mano?
    2.- Seria tan facil de robar como las huellas d'actilares?
    3.- Es un metodo viable para el futuro?
    4.- Es un buen metodo de autenticacion?

Podeis añadir puntos claro esta, pero porfavor no desbien el tema.
16  Programación / Programación C/C++ / [C++]Errores sin sentido en: 26 Agosto 2016, 16:59 pm
Estaba programando y de repente me empezaron a dar errores, empeze otro codigo para entender que errores me daba pero sigo sin entenderlos:
Este codigo no me da error el punto y coma ese nunca lo havia puesto y si no lo pongo ahora me marca error
Código
  1. #include <iostream>
  2. int main(){
  3.    int sumar();{ //Estas dos comillas nunca las havia puesto...
  4.        int a = 2+2;
  5.        std::cout << a; //Si aqui pongo endl, me da error...
  6.        return 0;
  7.    }
  8.    return 0;
  9. }
  10.  
En canvio, siempre e estado programando de esta forma y nunca havia tenido problemas, si no pongo el punto y coma en la funcion entre ) y { me da error ademas, el endl tambien me da error
Código
  1. #include <iostream>
  2. int main(){
  3.    int sumar(){ //Si no pongo ; entre medio de las llaves da error
  4.        int a=2+2
  5.        std::cout << a << endl; //Este endl me da error
  6.        return 0;
  7.    }
  8. }
  9.  
Estos son los errores:
C:\RUTA....   [Warning] null character(s) ignored
C:\RUTA....   In function 'int main()':
C:\RUTA....       [Error] a function-definition is not allowed here before '{' token
C:\RUTA....   recipe for target 'main.o' failed

No entiendo nada!!!!! Se ha vuelto todo loco.
17  Programación / Programación C/C++ / Maximo de datos en: 26 Agosto 2016, 01:37 am
Estoy manejando ficheros en C++ pero manejo ficheros de texto de hasta 10 megas.

Cual es el maximo de caracteres que puede almacenar una variable de tipo char*?
Ya ni pregunto por las strings pprque seguro que me da buffer overflow o algun error de desbordo de buffer.

Digamos que 100.000 caracteres caben en una variable de tipo char*?
18  Foros Generales / Dudas Generales / Criptografia, contraseñas en: 21 Agosto 2016, 20:02 pm
Bueno me gustaria saber si teniendo la llave publica, el mensaje cifrado y el mensaje descifrado seria posible saber la contraseña privada
Creo que este ataque se llama de texto plano (creo)



Si me pudieran decir que criptografia asimetrica es resistente a este tipo de ataques me harian un favor.
No posteo en el foro de criptografia porqe creo que es una duda un poco estupida
Saludos
19  Foros Generales / Foro Libre / Ransomware de codigo abierto en: 19 Agosto 2016, 02:30 am
Si pensavais que iva a anunciar otro ransomware de codigo abierto, estais equivocados. :silbar: jajajjaja

La pregunta es sencilla, despues de el desastre que fue hidden tear, creeis que es buena idea que salga otro ransomware de codigo abierto? Por que?
Venga que quieo ver participacion
20  Comunicaciones / Redes / Peticiones GET HTTPS en: 17 Agosto 2016, 18:00 pm
Estoy creando un pequeño programa que requiere intercanviar informacion con una pagina web, siempre con la misma, quiero realiza peticiones https mediante sockets, el problema es que no se como esta estructurado las peticiones https.

Es decir http seria algo asi por el puerto 80:

GET /index.html HTTP/1.1
Host: www.google.es

Pero en canvio no e encontrado informacion de la estructura de https.
Puede que sea lo mismo exacto pero pasando por el puerto 443?

Pd: si no queda mas remedio analizare la peticion mediante wireshark, pero haber si alguien me puede ayudar
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines