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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28
131  Sistemas Operativos / GNU/Linux / Re: problemas con configure, make, y make install en: 25 Marzo 2011, 05:43 am
Punto 1) Ubuntu 8 ??? Eso está casi 3 años atrasado, por eso tienes problemas de versión con los paquetes.

Punto 2) Cuando usas configure, necesitas permisos de root para ejecutar el script. Eso probablemente se deba a que descomprimes como root, lo cual causa que permisos del tipo rwxr--r-- (744) te denieguen la ejecución como usuario normal, intenta un "chown -R tuusuario" para setear los permisos como debes.

Si sigues con problemas, quizá quieras optar por una de estas 2:

1) Actualizas tu Ubuntu
2) Bajas una versión anterior de aircrack-gui
132  Programación / Programación C/C++ / Re: No puedo compilar con make en: 25 Marzo 2011, 05:34 am
Si make dice que "No hay ninguna regla para construir el objetivo `Promedio.o', necesario para `simulador'" es definitivamente porque:

1) Promedio.o no existe
2) No hay una regla para generarlo

No se en Windows, pero en UNIX los nombres de archivo son case-sensitive, y make es una utilidad de Unix. Cualquier cosa me consultas, Saludos.
133  Programación / Programación C/C++ / Re: Problema tonto con un bucle "for" en: 25 Marzo 2011, 05:26 am
Lo realmente increíble es que el rendimiento del CPU "sube" hasta casi el 100%... deberías dejar ese programa corriendo! xD (Chiste Semántico)
134  Programación / Programación C/C++ / Re: Duda sobre linker en: 25 Marzo 2011, 05:23 am
Para decirlo de otra forma, cuando el compilador lee un archivo de cabecera, encuentra declaraciónes de funciones. Si una función está declarada para recibir un entero como argumento, es porque el binario de esa función intentará obtener un entero de la pila.

Si compilamos un objeto con una función A() y luego modificamos el header con A(int a), entonces tendremos una incompatibilidad, pero el compilador no se dará cuenta porque el header dice que A() recibe un entero.

El linker básicamente combina los objetos y completa las tablas de símbolos respetando algunas reglas.

PERO: En realidad, el compilador puede dar por correcta la llamada a una función que en el .h está mal declarada, luego el linker fallará y te dirá que el símbolo no existe y será todo una catástrofe y luego te darás cuenta de que... el header estaba mal escrito.

Happy Hacking Girls...
135  Programación / Programación C/C++ / Re: Referencia de un char [] en una función. en: 25 Marzo 2011, 05:14 am
@Samael.Black, "stdlib.h"?? O usas C, o usas C++, en el cual la biblioteca estándar de C se usa como <cstdlib>

@Xafi, Algunas cosas
Es que no uso printf y eso nunca XD. como sería en c++¿
Diría que no usas C ni C++ nunca, ni siquiera estás asignando correctamente las cadenas, ni declarandoles correctamente, sea para C o para C++. A demás, mencionas no usar "printf y eso" (¿?) y preguntas cómo sería en C++ cuando en tu primer "approach" usas "itoa"  ;-)  En fin, si vas a usar C++ como "lenguaje", podrías empezar por usar stringstream para convertir un entero a cadena, como te refirió Akai antes, que sería algo asi:

Código
  1. stringstream sstr;
  2. sstr.str().clear();
  3. sstr<<tuEntero;

Y luego:

Código
  1. sstr.str()

Para obtener un objeto string conteniendo el número como cadena.

Te daré una solución al estilo C++, pero tendrás que investigar cómo hacerlo y escribirlo por tu cuenta, de otra forma sentirías el "placer" de verlo funcionar sin el esfuerzo de aprenderlo, ni el entendimiento necesario  :¬¬

Primero, pasarás una referencia de la cadena a una función, no hablo de un puntero, sino una referencia, y usarás la clase string para trabajar con ella. Después, utilizarás stringstream para convertir tu número, modificarás el string, y notarás cómo al pasar una referencia, obtienes los cambios de regreso.

Cheers  :-*
136  Programación / Programación C/C++ / [C] HTTP-PROXY en: 1 Marzo 2011, 00:03 am
Hola gente, hace tiempo que no posteo. Un amigo estaba viendo cómo hacer un proxy http y me pasó un draft para que le eche un vistazo.

La verdad es que hace rato que no veo nada de sockets, y menos de HTTP. Quizá cuando tenga un rato le eche un vistazo capturando paquetes para ver si trabaja como debe, mientras tanto se los dejo para que me den opiniones / mejoras / comentarios, y jueguen un rato capturando paquetes.

Código
  1. # include <stdio.h>
  2. # include <sys/types.h>
  3. # include <sys/socket.h>
  4. # include <sys/time.h>
  5. # include <sys/param.h>
  6. # include <sys/file.h>
  7. # include <netinet/in.h>
  8. # include <netdb.h>
  9. # include <ctype.h>
  10. # include <string.h>
  11. # include <stdlib.h>
  12. # include <errno.h>
  13. # include <limits.h>
  14. # define ERR 5;
  15. # define DATA 3;
  16. # define ACK 4;
  17. # define BLOQUE 516;
  18. # define DIR_SERVIDOR 100;
  19. FILE *archivo;
  20. FILE *archivo2; //20
  21. char no_arch[20];
  22. char nom_arch[20];
  23. char error[1024];
  24. char resp[1024];
  25. char data[516];
  26. char data2[516];
  27. char ack[1024];
  28. char Met[5]= "post\0";
  29. uint16_t error_tipo, ack_tipo, cod, tipo;
  30. int socketserv, nro_frag, cant, n, socketcli, posi;
  31. struct sockaddr_in extremoRemoto;
  32. struct sockaddr_in enlace;
  33. char buffer[512];
  34. char recibido[512];
  35.  
  36.  
  37. void codigoError()
  38. // Establece el codigo de error que voy a mandar en el paquete ERR al cliente
  39. {
  40. switch (errno)
  41. {
  42. case 2: cod-1; break;
  43. case 5: cod-2; break;
  44. }
  45. }
  46. int timeout(int fd, int sec)
  47. /*Controla el timeout. Devuelve 0 si se termino el timeout, -1 en caso de
  48. error y un valor positivo si hay un evento pendiente*/
  49. {
  50. fd_set conj_lectura;
  51. struct timeval tiempo;
  52. int r;
  53. FD_ZERO(&conj_lectura);
  54. FD_SET(fd, &conj_lectura);
  55. tiempo.tv_sec=sec;
  56. tiempo.tv_usec=0;
  57. r=select(FD_SETSIZE, &conj_lectura, NULL,NULL,&tiempo);
  58. }
  59. void metodo()
  60. {// este metodo selecciona post / head.
  61. //Anulado
  62. //Met[1]= "p";
  63. //Met[2]= "o";
  64. //Met[3]= "s";
  65. //Met[4]= "t";
  66. //Met[5]= "\0";
  67. }
  68. void busca_archivo(int j)
  69. {
  70. int compa;
  71. compa=strncmp(buffer+j," HTTP",5);
  72. if (compa==0)
  73. {
  74. posi=j;
  75. }
  76. else
  77. {
  78. j++;
  79. (void)busca_archivo(j);
  80. }
  81. }
  82. int main()
  83. {
  84. int sd,sdc,lon,ar;
  85. struct sockaddr_in ser,cli;
  86. ser.sin_family=AF_INET;
  87. ser.sin_port=htons(80);
  88. ser.sin_addr.s_addr=INADDR_ANY;
  89.  
  90. char archi[512];
  91. posi=0;
  92. sd=socket(PF_INET,SOCK_STREAM,0);
  93. if (bind(sd,(struct sockaddr *) &ser,sizeof(ser)) < 0)
  94. {
  95. perror("Error en Bind: ");
  96. exit(-1);
  97. }
  98. listen(sd,5);
  99. while (1)
  100. {
  101. lon=sizeof(cli);
  102. sdc= accept(sd,(struct sockaddr *) &cli, &lon);
  103. ar=recv(sdc,buffer,sizeof(buffer),0);
  104. (void)busca_archivo(1);
  105. int sock_serv,con,env,rcv,envbro;
  106. struct sockaddr_in server;
  107. server.sin_family=AF_INET;
  108. server.sin_port=htons(80);
  109. server.sin_addr.s_addr=DIR_SERVIDOR;
  110. sock_serv=socket(PF_INET,SOCK_STREAM,0);
  111. con=connect(sock_serv,(struct sockaddr *)&server,sizeof(server));
  112. if (con!=0)
  113. {
  114. perror("Error en Conectar con el Servidor: ");
  115. }
  116. else
  117. {
  118. env=send(sock_serv,buffer,sizeof(sock_serv),0);
  119. rcv=recv(sock_serv,recibido,sizeof(recibido),0);
  120. if (rcv>=0)
  121. {
  122. envbro=send(sdc,recibido,rcv,0);
  123. }
  124. }
  125. close(sock_serv);
  126. close(sdc);
  127. }
  128. close(sd);
  129. }
  130.  

Saludos,
Happy Hacking
137  Programación / Programación General / Re: Otra vez al ruedo: ¿hacer un SO? en: 23 Febrero 2011, 21:13 pm
gankutsuo: Estoy en el trabajo, por eso no puedo pasarte el mio.

Te propongo clonar el proyecto mythos y crear un branch "mythboot-dev":

Código
  1. git clone git://github.com/D4RIO/Mythos.git
  2. git checkout -b mythboot-dev

En este branch se puede ir haciendo el mythboot, el bootloader del sistema. De todas formas usamos GRUB y el stage2 eltorito para quemar imagenes de CD y probarlas, y siempre se dara la posibilidad de instalar con GRUB, como lo dan otros sistemas. El loader es, como dijimos, por puro hobbie de hacerlo (que me parece perfecto).

Ya esta hecho un grupo de google en:

  http://groups.google.com/group/mythos-devgroup

Donde tienen el link (a la derecha) para solicitar la invitacion al grupo. Esto es para impedir que se suscriban esos bots infelices que nos amargan el desarrollo.

Supongo que entenderán que contemos con moderación de los cambios en la rama 'master'. Antes de que el codigo sea incluido debe estar bien formateado, correctamente identado, comentado, ser comprensible, estar documentado, etc, etc... según normas que definiremos entre todos.

Para enviar, proponer, rechazar o aceptar un parche se encuentra la lista, donde discutiremos y les daremos soporte sobre cómo hacer las cosas. Con el tiempo estabilizaremos flujos y costumbres y nos iremos haciendo camino al andar.

Saludos, los espero por la lista. Recuerden que el proyecto es de todos, todos lo hacemos posible, y es mi deseo que todos esten contentos con el desarrollo. No estaremos siempre de acuerdo en todo, pero nos las arreglaremos para construir.

PD: Cualquier duda sobre como trabajar de forma distribuida usando GIT me la preguntan, iremos armando documentos de referencia dentro del repositorio. Todos contaran con una mano de ayuda y todos daran una mano a quien puedan. Entre todos lograremos avanzar.


Belial & Grimoire:
Seras bienvenido, siempre hay algo en lo que se puede colaborar. El kernel en sí contara con algunas partes en ASM, pero siempre que sea posible, usaremos ANSI C. Lo que conozcas sirve, tus propuestas sirven y tus ideas se tendran en cuenta como las de todos.
La documentacion sera el fruto de las ganas de cada uno y espero que haya suficiente. Cualquiera tiene que ser capaz de entender cómo fuimos desarrollando Mythos, porque al fin y al cabo formara parte de la historia del OS.
Nos veremos, apuntate en la lista y clona el repo.
138  Programación / Programación General / Re: Otra vez al ruedo: ¿hacer un SO? en: 23 Febrero 2011, 04:58 am
Al grano con todo esto:

1. Si quieren hacer el boot para un SO, nadie lo impidió ni lo impedirá, pueden hacer uno para este mismo sistema mientras aun soportamos GRUB.
2. Pensar en implementar un standard como POSIX NO es pensar en armar un LINUX, es simplemente soportar unos ciertos parámetros que nos permiten compilar cientos de aplicaciones para nuestro SO. Sin que esto haga que el kernel sea el mismo.
3. LINUX NO ES MONOLITICO. Lo fue hace muchos años, pero conceptualmente la carga de kernel modules no es un comportamiento monolítico.


gankutsuo: Si deseas más info, yo tengo un fragmento de boot que hace bastante más que eso y está documentado, si lo encuentro mañana a las 20 hs (argentina) te lo puedo mandar para que lo vayan viendo los que deseen ponerse con esta parte. Yo me apunto para ir haciendo el resto, paso del boot.


Khronos14: Me tome la libertad de ponerle 'Mythos' por ahora. En la documentacion hay un documento que explica porqué me parece flexible. Pensa en los nombres de las releases: 'mythos cracken', 'mythos thor', los aplicativos de gestion, etc... es flexible. Si te gusta lo dejamos así.

Hice un repo en GITHUB. Por ahora podemos arreglarnos mandandonos los parches por mail. Si te familiarizas con las branches de git, el format-patch y el 'git am' ya estamos. Yo se los enseñe a mis compas del trabajo en unos dias y lo usamos para los proyectos actuales.

Instalate GIT en tu linux y hacete un "git clone git://github.com/D4RIO/Mythos.git". Con eso ya te bajas el repo actualizado.
Create un branch desde donde está, vas tocando lo que queres y me pasas el parche que sacas con git format-patch, o el zip completo, y yo lo agrego.

No cambie los fuentes pero hice el makefile y puse soporte para mkisofs y genisoimage. Iremos metiendo mano.

Saludos, me voy a dormir.
Happy Hacking
139  Programación / Programación General / Re: Otra vez al ruedo: ¿hacer un SO? en: 22 Febrero 2011, 19:17 pm
Me resulta gracioso que aquí en la empresa también trabajo con España, así que tengo un reloj con tu hora local jeje.

Te escribo luego y vemos qué hacer, ahora tengo trabajo!
Saludos
140  Programación / Programación General / Re: Otra vez al ruedo: ¿hacer un SO? en: 22 Febrero 2011, 17:38 pm
Propondría primero tomar esto y llevarlo a algo más simple, y definir hacia dónde nos extendemos:

Por un lado veo muchos tipos de datos que no se porqué están definidos, es decir, no veo problema en usar 'char *' en lugar de PCHAR, aunque si me parece coherente definir BYTE:

Código
  1. typedef unsigned long ULONG;
  2. typedef unsigned int UINT;
  3. typedef unsigned char UCHAR;
  4. typedef unsigned char BYTE;
  5. typedef unsigned short WORD;
  6. typedef unsigned long DWORD;
  7. typedef char * PCHAR;

La estructura de fuentes la cambiaría un poco para que sea más fácil usarla después, y haría un makefile en vez de un script SH. De esa parte me encargo sin problemas (makefiles).

Fuera de eso hay cosas en español y otras en inglés (no se vos, pero me gusta en inglés porque es más internacional y pueden participar otros). Y faltaría una carpeta de documentación para ir llevando los datos de importancia, las APIs, etc.

En horario Argentina, a eso de las 19:00 o 20:00 hs estaré disponible. Podemos arreglar algo via mail, o como sea, e ir armando bien las partes primordiales, así como la organización del proyecto.

Agregame a GTalk: soft.d4rio en Gmail. Nos podemos enfocar en hacer las syscalls y que funcione un shell, que es lo mínimo.

Lo primero es dejar bien definidas las convenciones a usar (lo de los tipos me preocupa jaja!). En mi experiencia, los seres humanos no podemos ponernos de acuerdo en el 100% de las ideas, pero sí podemos hacerlas convivir. Que ese sea el espíritu.



PD: Para mi caso particular, el script para Windows no resulta prioritario porque uso Linux. Personalmente lo creo más conveniente porque al final implementaremos POSIX, y trabajar desde un sistema *nix me parece razonable... *PERO* si alguno lo necesita hacer es bienvenido a colaborar para que el SO pueda compilarse desde Win también. Todos somos amigos y queremos divertirnos haciendo esto. A la larga, el que lo crea entretenido diseñará instaladores copados para diversas plataformas y será su proyecto y su colaboración y su orgullo haberlo hecho. A mi hoy me basta que podamos correr una ISO y ver que el kernel trabaje, en esa parte me pienso enfocar, y no quiere decir que todos pretendan lo mismo. Pero juntemos las ideas que cada uno tenga y organicemonos para que se pueda hacer lo máximo posible. Algunas cosas quedarán rezagadas, pero trataremos de hacer un sistema de todos, donde cada uno pueda configurarlo y correrlo a su capricho.

Nos comunicamos luego. Estaré concentrado con mi lenguaje, pero siempre hay lugar para un proyecto nuevo y con ganas.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines