Toni Castillo Girona wrote:
Hola,
recientemente necesito crear un sencillo programa en C que sea capaz de determinar si en los 512 primeros bytes del disco (el MBR) se encuentra instalado GRUB o LILO.
Y claro, he probado de volcar dichos bytes con dd para repasarlos via hexedit y buscar cadenas o patrones que me indiquen que buscar dentro de dichos bytes con mi programa para llegar a dicha conclusión.
Con LILO veo que aparece una cadena literal "LILO" :
..!...LILO...
Pero en el caso de GRUB no. Supongo que tendrá alguna clase de fingerprint, algún valor en hexadecimal del palo FC0A o asi que identifique a GRUB....
La pregunta es: ¿alguien sabe donde puedo conseguir + información al resepcto?
He pensado en bajarme las fuentes de lilo y de grub (apt-get source ... ) y leermelas pero igual hay alguien que ya ha pasado por esto.....
¡¡gracias!!
Toni, has utilizado algún ejemplo de la web para hacerlo?
Muchas Gracias.
Salu2.
--- Dat1.net --- [Este mail fue controlado con Declude Virus/F-Prot]
Ei, el problema de lilo ya lo tengo solventado. En el archivo "common.h" del código fuente de lilo se indica claramente:
// typedef struct {
// char jump[6]; /* jump over the data */
// char signature[4]; /* "LILO" */
// unsigned short stage,version; /* stage is 0x10 */
// unsigned short offset; /* partition entry offset */
// unsigned char drive; /* BIOS drive code */
// unsigned char head; /* head; always 0 */
// unsigned short drvmap; /* offset of drive map */
// unsigned char ptable[PARTITION_ENTRY*PARTITION_ENTRIES]; /* part. table *
/
// } BOOT_PARAMS_C; /* chain loader */
Es decir, que el literal "LILO" se encuentra en el offset 6 del MBR. Esto coincide si leo con dd el MBR de diferentes equipos con LILO y lo edito con hexedit.
Ahora solo me falta saber que hace GRUB, porque el literal "GRUB" lo coloca en posiciones diferentes (en un caso en offset 375d y en otro 377d).
Estoy echando un vistazo a las fuentes.
¡¡Gracias por todo!!
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]