20 de setiembre, 2:00pm  dirNT.c
18 de setiembre, 2:59pm:


Existe un utilitario de sysinternals que permite crear en el disquete un sistema de archivo con formato NTFS. Esto será útil para aquellos alumnos que no tienen una partición NTFS o que usan alguna máquina virtual. El archivo zip lo puede bajar de aquí. Recomendamos leer la página de origen http://www.sysinternals.com/Utilities/NtfsFlp.html



Laboratorio 2

Sistemas de Archivo NTFS

Requisitos

Necesita una partición de al menos de 1GB libre con formato NTFS.

Para facilitar la lectura de los dumps hexadecimales, puede hacer uso de la utilidad WinHex.

Además desde MINIX y como superusuario (root) otorgue los accesos de sólo lectura a esta partición, para todos los usuarios. En caso que no tenga una partición disponible, entonces usará la de su WINDOWS XP (porsupuesto, esperando que la haya formateado con NTFS). Para poder acceder al dispositivo la partición tiene que ser primaria o si es extendida, ser una de las 4 primeras unidades lógicas. Como sugerencia trabaje como un usuario distinto de root.

Objetivo

El objetivo es que usted maneje las estructuras del MFT y sus atributos de manera que comprenda cómo está formado la metadata de este sistema de archivo.

El programa

El programa ejemplo que se le proporciana abajo, puede ser ejecutado de la siguiente manera

         $mtf  /dev/c0d0p1  3

Entonces mostrará la cabecera y los nombres de los atributos que posee el cuarto (empieza en 0) FILE RECORD. También puede invocarlo de la siguiente manera.

         $mtf  /dev/c0d0p1

En este caso muestra los primeros 16 FILE RECORDS del MFT. En ambos casos /dev/c0d0p1 es la partición donde se encuentra el sistema de archivos NTFS.

Recuerede que para que el programa se ejecute usted tiene que haberle dado los accesos correspondientes como se especificó en los requisitos.

A continuación el programa mft.c y su archivo de cabecera mft.h

Si desea en detalle las estructuras de los atributos, puede ayudarle el documento ntfsdoc.pdf

El mismo documento pero en versión html:  ntfs

Otra referencia técnica sobre NTFS es la que proporciona  Microsoft

TAREA

Su tarea consistirá en  elaborar el programa dirNT.c que muestre el contenido del directorio raíz con alguna información relevante por cada entrada. Para este trabajo siga las siguientes indicaciones.

1. Nuestro punto de atención será el FILE RECORD 5 (El directorio Raíz) , especialmente los atributos Index Root e Index Allocation.

2. Este último tiene una cabecera estándar semejante a la del atributo Data, y en uno de cuyos campos se encuentra la información que nos permite ir directamente a los data runs.

3. Una vez discriminados estos data runs, podemos avanzar hacia el cluster donde se encuentra el INDEX RECORD (el análogo al FILE RECORD, pero para directorios). Este tiene también una cabecera en uno de cuyos campos nos indica donde inicia las entradas de directorio.

4. A partir de este punto solo nos queda imprimirlas con información relevante.

5. Los datos acerca del tamaño del cluster, deben ser leidos del BOOT, pues de un sistemas de archivo a otro estos varian, y si su programa usa sólo números fijos podría funcionar en unos caso y en otros no.