


TOP
Autores
TOTAL
LecturasSET 16
118123 visitas
- Contenidos - SET Staff
- Editorial - Editor
- Noticias - Rufus T. Firefly
- En linea con... Eljaker - SET Staff
- El algoritmo RSA - Leandro Caniglia
- Linux shell: Control total - Paseante
- Pagers - GND
- Proyectos, peticiones, avisos - SET Staff
- Foro de debate - Varios
- Los bugs del mes - SET Staff
- Cracking bajo Linux - SiuL+Hacky
- La vuelta a SET en 0x1D mails - SET Staff
- Tutorial para crear virus TSR - ThE_WiZArD
- Real como la vida misma - SET Staff
- Curso de Novell Netware -IV- y -V- - Madfran
- De safari por la Red - Paseante
- Infovia para torpes - Yuri Zaleski
- Un manifiesto para cada ocasion - Paseante
- Despedida - Editor
- Fuentes Extract - SET Staff
- Llaves PGP - SET Staff
Fuentes Extract
Autor: SET Staff
-[ 0x13 ]-------------------------------------------------------------------- -[ SET-EXT ]----------------------------------------------------------------- -[ by SET Staff ]-----------------------------------------------------SET-16- Aqui teneis una ligera modificacion de la primera version de la utilidad para extraer los fuentes de la ezine. Es una modificacion del extract incluido en Phrack. Yo lo he probado, y funciona. Si teneis algun problema o preferis algun lenguaje, teneis dos opciones: esperar a SET 17, o usar las versiones que aparecen en el ultimo numero de Phrack, el 53. <++> utils/set-ext.c /* set-ext.c by Falken para SET * * SET - Saqueadores Edicion Tecnica, 1998 * * Extrae fragmentos especialmente marcados en una estructura jerarquica de * directorios. Usar para extraer los fuentes incluidos en algunos de los * articulos de SET. Compatible con el programa ’extract.c’ aparecido en * Phrack 50. * * UNIX: gcc -o set-ext set-ext.c * DOS/Windows: Cualquier compilador de C * * SET-EXT <fichero> * */ #include <stdio.h> #include <string.h> void extraer (char *nombre) { char *c = "<++> ", *f = "<-->", b[256], *bp; FILE *e, *s = NULL; int l, n, i = 0; l = strlen(c); n = strlen(f); if ( !(e = fopen (nombre, "r"))) { printf ("No se pudo abrir %s.\n", nombre); return; } while (fgets (b, 256, e)) { if (!strncmp (b, c, l)) { b [strlen (b) - 1] = ’\0’; if ((bp = strchr (b + l + 1, ’/’))) while (bp) { *bp = ’\0’; mkdir (b + l, 0700); *bp = ’/’; bp = strchr (bp + 1, ’/’); } if ((s = fopen (b + l, "w"))) printf ("- Extrayendo %s\n", b + l); else { printf ("No se puede extraer ’%s’\n", b + l); return; } } else if (!strncmp (b, f, n)) { if (s) fclose (s); else { printf ("Error cerrando fichero.\n"); return; } } else if (s) { fputs (b, s); i++; } } if (!i) printf ("No se encontraron etiquetas de extraccion.\n"); fclose (e); } int main (int argc, char **argv) { int indice = 0; char name[256]; printf ("\nSET-EXT * Utilidad de extracion de SET * Version 1.2 * 15/6/1998"); printf ("\nFirst published in/Publicado por primera vez en: SET 13"); printf ("\nWritten by/Escrito por: Falken\n\n"); if (argc < 2) { printf ("Deja en blanco para salir\n\n"); do { *name = NULL; printf ("Fichero a escanear: "); gets (name); if (*name) extraer (name); } while (*name); } else if (argc >= 2) for (indice = 2; indice <= argc; indice++) extraer (argv [indice - 1]); return (0); } <--> *EOF*