es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo encontrar los primeros grupos/bloques de un archivo?

Tengo una unidad FAT16 que contiene la siguiente información:
enter image description here

Bytes por sector: 512 bytes (0x200)

Sectores por clúster: 64 (0x40)

Sectores reservados: 6 (0x06)

Número de FATs: 2 (0x02)

Número de entradas del directorio raíz: 512 (0x0200)

Número total de sectores: 3805043 (0x3a0f73)

Sectores por tabla de asignación de archivos: 233 (0xE9)

El directorio raíz se encuentra en el sector 472 (0x1d8)
enter image description here

Estoy buscando un archivo con los siguientes detalles:

Nombre del archivo: LOREMI~1

Extensión del archivo: TXT

Tamaño del archivo: 3284 bytes (0x0cd4)

Primer clúster: 660 (0x294)

Sin embargo, admitiría que el inicio del clúster de archivo se encuentra en el sector 42616. Mi problema es qué ecuación debo utilizar para obtener 42616.
enter image description here

Tengo dificultades para entender esto ya que apenas hay información al respecto, excepto un tutorial creado por Tavi Systems, pero la parte que lo involucra es muy difícil de seguir.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para calcular el número de sector para el inicio del clúster de archivos, es necesario tener en cuenta varios factores.

    En primer lugar, se sabe que el directorio raíz se encuentra en el sector 472 (0x1d8), y cada sector tiene un tamaño de 512 bytes. Por lo tanto, el desplazamiento en bytes del directorio raíz es:

    472 * 512 = 241664 bytes

    Luego, es necesario considerar el tamaño de la tabla de asignación de archivos (FAT, por sus siglas en inglés) y el número de sectores por clúster.

    Un FAT contiene 233 sectores, por lo que el tamaño de dos FATs es:

    2 * 233 = 466 sectores

    El directorio raíz contiene 512 entradas, cada una de las cuales ocupa 32 bytes. Por lo tanto, el tamaño del directorio raíz es:

    512 * 32 / 512 = 32 sectores

    El primer clúster del archivo se encuentra en el número de clúster 660 (0x294), y cada clúster contiene 64 sectores. Por lo tanto, el desplazamiento en bytes del primer sector del archivo es:

    (660 – 2) * 64 = 40608 sectores

    Por último, es necesario tener en cuenta el número de sectores reservados. En este caso, hay 6 sectores reservados.

    Poniendo todo junto, se puede calcular el número de sector para el inicio del clúster de archivos de la siguiente manera:

    241664 + 466 + 32 + 40608 + 6 = 282776

    Por lo tanto, el número de sector para el inicio del clúster de archivos es 282776.

Comments are closed.