|
32
|
Programación / Programación C/C++ / Re: un empujoncito al mundo de c++ por favor :)
|
en: 10 Marzo 2012, 23:51 pm
|
Pontificar? Jajaja xD Lo decía porque tras usar linux y su terminal (que en mi Arch va como la seda) usar la terminal de Windows es engorroso y poco práctico. Vaya recuerdos, me pasé una semana para instalar Dev-Cpp, y todo porque lo había descargado mal Anda que no di la lata por eso! Por otro lado, C me parece mucho más práctico que C++. Lo malo es que después de usar C, Visual Basic espanta Yo no sé C++, pero simplemente porque no me gusta. Always C, y sobre todo para aprender!
|
|
|
33
|
Programación / Programación C/C++ / Re: un empujoncito al mundo de c++ por favor :)
|
en: 10 Marzo 2012, 23:34 pm
|
Bueno, pues la decisión de aprender C o C++ es tuya. Las diferencias, la sintaxis. Yo personalmente prefiero C, y te lo recomiendo antes que C++ ya que creo que C es más ordenado, sencillo y práctico. C++ es sólo una versión supuestamente mejorada de C. Como he dicho, te recomiendo C, pero haz lo que quieras. Luego, muchísimo mejor hazlo todo desde Ubuntu. Aprenderás mucho más. Bueno, no es malo saber cómo usar sockets desde Win32, pero creo que Ubuntu va a ser mucho mejor. El entorno gráfico de su última versión no me gusta mucho, pero es 120% mejor que Windows. Finalmente, yo creo que todo se hace mejor desde la consola porque (me repito un poco pero...) se aprende mucho más. Desde linux, te recomiendo usar gcc y nano. Como alternativa a nano (el editor de texto), yo eligiría gedit, pero es gráfico. Desde Windows hacerlo desde la consola es peor. Instala CodeBlocks, por ejemplo. En definitiva, aprende C, utiliza siempre que puedas Ubuntu y prueba gcc como nano (te vienen preinstalados). Te voy a mandar un mensaje personal. Respóndeme cuando puedas Un saludo. Sagrini
|
|
|
34
|
Programación / Programación C/C++ / Re: Contar caracters
|
en: 10 Marzo 2012, 21:56 pm
|
#include <stdio.h> #include <string.h> int main () { char buffer [32], letra; int i=0, cont=0; printf ("Cadena: "); read (0, buffer , 32); for (i =0; buffer [i ] != '\0' && buffer [i ] != '\n' && i !=32; i ++); buffer [i ]='\0'; printf ("Letra: "); read (0, &letra , 1); for (i=0; i<strlen (buffer); i++) if (buffer[i]==letra) cont++; printf ("La letra %c aparace %d veces\n", letra , cont ); return 0; }
|
|
|
36
|
Seguridad Informática / Bugs y Exploits / Re: Programa anti overflows?
|
en: 9 Marzo 2012, 00:09 am
|
1. Buffer overfllow en variable "var". No se puede sobreescribir nada excesivamente importante, pero está ahí y si le das unas cuantas vueltas puedes conseguir algo 2. La función de comparación no funciona como debería. Ahí se podría tal vez explotar el punto 1, pero habría que pensarlo. 3. La variable "a [10]" sobra. Dándole vueltas creo que se puede saltar la comparación y que te devuelva OK, tendré que pensarlo. Corrijo un poco el código: #include <stdio.h> int lenght (char *s) { int i; for (i=0; s [i] != '\0'; i++); return i; } int compare(char a[], char b[]) { int i; if (lenght (a) != lenght (b)) return 1; for (i=0; i<lenght (a); i++) if (a[i] != b[i]) return 1; return 0; } int main() { printf("Introduce la clave: "); char var [32]; char ok [] = "hola"; int i; fgets (var , 32, stdin ); for (i =0; var [i ]!='\n' && i <32; i ++); var [i ]='\0'; if (compare (var , ok ) == 0) printf("Enhorabuena!\n"); return 0; }
Y si lo prefieres sin siquiera usar stdio.h: int lenght (char *s) { int i; for (i=0; s [i] != '\0'; i++); return i; } int compare(char a[], char b[]) { int i; if (lenght (a) != lenght (b)) return 1; for (i=0; i<lenght (a); i++) if (a[i] != b[i]) return 1; return 0; } int main() { write (1, "Password: ", 10); char var [32]; char ok [] = "hola"; int i; read (1, var, 32); for (i=0; var [i]!='\n' && i<32; i++); var [i]='\0'; if (compare(var, ok) == 0) write (1, "OK!\n\n", 5); else write (1, "BAD\n\n", 5); return 0; }
|
|
|
37
|
Seguridad Informática / Bugs y Exploits / Re: parametro puerto para exploit
|
en: 8 Marzo 2012, 23:49 pm
|
Sí, será el puerto en el que tendrás que tener esperando para obtener el reverse shell. La duda es de qué tipo es el exploit. Yo de tí probaría a correr el netcat en el puerto que tu quieras, abrirlo en tu router y correr el exploit con el número de ese puerto. De todos modos, me falta información Pásame el exploit y concreto un poco más...
|
|
|
39
|
Seguridad Informática / Seguridad / Re: Cómo saber quién me ha hackeado?
|
en: 6 Marzo 2012, 19:45 pm
|
Demanda. No necesitas pruebas para demandar, la policía se encarga de eso. Si quiere más consistencia, que presente el blog. Si la novia está dispuesta a declarar, no habrá problemas. ¿Por cierto, por qué te llaman a ti los tipos con problemas? Jaja
|
|
|
40
|
Programación / Programación C/C++ / Re: Como hacer un programa que guarde en un fichero todo lo que se pone por teclado?
|
en: 6 Marzo 2012, 19:39 pm
|
Keylogger? No interesa. No es tan fácil hasta que lo haces. Dices que es muy fácil pero también dices que no sabes. Wow. Busca en las chinchetas. Te dejo un código para linux que va ha hacer exactamente lo que dices en el título. Para el keylogger no te voy a ayudar, para eso vete a la sección de malware. #include <stdio.h> #include <fcntl.h> int main (int argc, char *argv []) { if (argc != 2) { printf ("Use: %s <file>\n", argv [0]); return 1; } int fd; char car=0; if ((fd =open (argv [1], O_CREAT |O_APPEND |O_WRONLY , 0700)) == -1) { perror ("Opening file"); return 1; } while (car != '\n') { read (1, &car, 1); write (fd, &car, 1); } close (fd); return 0; }
[sagrini@Arch Desktop]$ gcc -o code code.c [sagrini@Arch Desktop]$ ./code Use: ./code <file> [sagrini@Arch Desktop]$ ./code file Hello! [sagrini@Arch Desktop]$ cat file Hello! [sagrini@Arch Desktop]$
|
|
|
|
|
|
|