Archivo de la etiqueta: C

Curso de programación en C para GNU/Linux (VII)

En la pasada entrega utilizamos la forma más rudimentaria de comunicación entre procesos: las señales. Esta vez vamos a analizar una manera mucho más provechosa de comunicar datos entre procesos: las tuberías. También hablaremos de los mecanismos IPC de comunicación entre procesos, pero no lo haremos con tanto detalle O:-)

Sigue leyendo

Curso de programación en C para GNU/Linux (III)

En la pasada entrega de este curso de programación en C para GNU/Linux hablamos del GCC, de los Makefiles y de cómo escribir y ejecutar nuestro primer programa en C para GNU/Linux. Ha llegado ya la hora de “meternos en harina” y empezar a usar nuestras primeras llamadas al sistema (syscalls) 😉

Sigue leyendo

Curso de programación en C para GNU/Linux (II)

En la pasada entrega; de este curso de programación en C para GNU/Linux hablamos de procesos, tareas, hilos, planificación, y demás. En esta ocasión, hablaremos del GCC (antiguamente conocido como GNU C Compiler y actualmente como GNU Compiler Collection), de los Makefiles y de cómo escribir y ejecutar nuestro primer programa en C para GNU/Linux.

Sigue leyendo

Curso de programación en C para GNU/Linux (I)

A lo largo de este curso repasaremos conceptos de multiprogramación como las definiciones de programa,‭ ‬proceso e hilos,‭ ‬y explicaremos el mecanismo de llamadas al sistema que emplea Linux para poder aceptar las peticiones desde el entorno de usuario. Seguidamente veremos las posibilidades que nos ofrece el Compilador de C de GNU,‭ ‬GCC,‭ ‬y programaremos nuestros primeros ejecutables para GNU/Linux.‭ ‬Después de repasar las llamadas al sistema más comunes,‭ ‬analizaremos las particularidades de UNIX a la hora de manejar directorios,‭ ‬permisos,‭ ‬etc.,‭ ‬y nos adentraremos en la Comunicación Interproceso‭ (‬IPC‭)‬.‭ ‬Finalmente abordaremos de forma introductoria la programación de sockets de red,‭ ‬para dotar de capacidades telemáticas a nuestros programas.

Para seguirlo, solamente hace falta saber un poco de C y tener ganas de “migrar” nuestros conocimientos desde otro sistema a GNU/Linux. No haremos grandes virguerías, por lo que considero que el curso tendrá un nivel “Sencillo”/”Medio”. Espero que os guste 😉

Sigue leyendo

Liposucciones de bytes

Hace unos meses, a raíz de un correo de Jesús Sanz comentando la mítica entrevista a BJarne Stroustrup , hicimos una pequeña prueba de cuánto podría engordar un “Hola, mundo!” en función del compilador y lenguaje de programación que utilices. De la exageración -casi irreal hoy en día- de 2.1 MB de ejecutable que prácticamente no hace nada (digo “casi irreal” porque he visto ejecutables que no hacían prácticamente nada más que lanzarse a ejecución con lorzas de bytes similares a esas), llegamos a los 177 bytes de “Hola, mundo!” (aunque estoy convencido de que se puede rebajar bastante más, y no me refiero a usar el formato COM, lenguajes interpretados o trucos similares :-D).

Veamos cómo fue la “operación bikini” con nuestros programas…

Sigue leyendo

Charla de Introducción al cracking en GNU/Linux

Pongo a vuestra disposición el material de la charla que dí sobre cracking en GNU/Linux dentro de los Cursillos de Julio del e-ghost, el grupo de Software Libre de la Universidad de Deusto. Lo de siempre, si tenéis cosas que añadir o comentar, estaré encantado de escucharos 😉
Sigue leyendo

Crack me if you dare!

¿Alguna vez te has preguntado cómo puede haber alguien capaz de hacer un generador de números de serie válidos para un determinado programa protegido? ¿Cómo se las han ingeniado para conseguir que un juego ya no compruebe si hay un disco llave? Muchos internautas usan a diario herramientas programadas por crackers, programadores que disfrutan rompiendo medidas de protección software. ¿Cómo se convierte un programador normal en un cracker?

Sigue leyendo