stream filesystems ntfs alternate-data-stream

stream - Corrientes de datos alternativos NTFS



filesystems alternate-data-stream (6)

Esto es estrictamente magia relacionada con NTFS

No es así: Mac OS ha tenido esto desde su antigüedad, se llaman bifurcaciones en ese mundo, y usted usaría ResEdit para obtenerlos. El uso clásico de ellos es agrupar los activos de medios junto con un ejecutable.

Hoy he visto este extraño y mágico sistema NTFS compatible: cada archivo puede tener múltiples flujos de datos. Básicamente, uno podría tener un archivo a.txt de tamaño 0b pero puede haber cualquier número de bytes ocultos en un flujo de datos separado para ese archivo. Esto es estrictamente magia relacionada con NTFS y no veo ninguna razón noble para tener estas corrientes alrededor. Puede buscar secuencias NTFS con la ayuda de la utilidad de streams de Sysinternals. Esto le mostrará que, básicamente, cada uno de esos archivos desagradables thumbs.db viene con un flujo de datos adicional.

Bien, ahora he visto este trabajo mágico en un sistema Windows NT4, se han agregado secuencias a archivos, se han copiado, se han eliminado (con la ayuda de la utilidad mencionada anteriormente), pero ahora estoy probando esto en casa en mi sistema Win XP, pero aunque Puedo detectar las secuencias existentes, no puedo mostrar su contenido, no puedo crear nuevas o casi nada cuando uso el filename:streamname sintaxis de filename:streamname .

Me sale este error:

La sintaxis de nombre de archivo, nombre de directorio o etiqueta de volumen es incorrecta.

Ejemplo: Salida de la utilidad streams:

c:/DOWNLOADS>streams.exe -s . Streams v1.56 - Enumerate alternate NTFS data streams Copyright (C) 1999-2007 Mark Russinovich Sysinternals - www.sysinternals.com c:/DOWNLOADS/1013.pdf: :Zone.Identifier:$DATA 46 c:/DOWNLOADS>type 1013.pdf:Zone.Identifier The filename, directory name, or volume label syntax is incorrect.

¿Por qué no puedo mostrar el contenido del flujo de datos alternativo?

En cuanto a la documentación de Microsoft sobre " Cómo usar flujos de datos alternativos de NTFS ", puedo ver que esto se aplica a mi sistema operativo, aunque mencionan que estos flujos no serán compatibles en el futuro. ¿Alguien puede arrojar alguna luz sobre esto?


Desde lo alto de mi cabeza: los flujos de datos NTFS se introdujeron en Windows NT 4.0 y han existido en todos los descendientes (excluyendo los descendientes de win-95: 98, Me). En XP, Vista y Win 7 todavía están alrededor. Siempre y cuando las versiones de Windows sean compatibles con NTFS, admitirán secuencias de archivos. Ellos soportarán NTFS durante mucho tiempo por venir.

El error que tiene se describe en la página que muestra en su pregunta. El comando type no entiende las secuencias. Utilizar:

more < 1013.pdf:Zone.Identifier

Trabajando con arroyos

Microsoft solo tiene unos pocos comandos que funcionan con flujos; de hecho, solo < , > funciona con flujos, y por lo tanto, solo se pueden usar comandos que puedan funcionar con estos operadores de redireccionamiento. Escribí un par de publicaciones en blogs sobre flujos de datos alternativos sobre cómo puedes manipular los flujos solo con estos comandos.

Streams solo funcionará con programas diseñados para funcionar con ellos, simplemente porque deben tratarse especialmente (compare los puntos de unión, también es una característica de NTFS, pero el controlador oculta los detalles y los programas no tienen que hacer nada especial: solo considere el punto de unión como un archivo real).

Cuando intenta abrir una secuencia de archivos usando start filename:streamname y un programa dice algo así como "nombre de archivo ilegal" o "archivo no encontrado", y está seguro de que el nombre de la secuencia es correcto, entonces es probable que el programa no sea compatible arroyos Noté que el Bloc de notas, Wordpad y Word / Excel funcionan correctamente con las secuencias, aunque Word y Excel consideran que los archivos son peligrosos. Aquí hay algunos experimentos que puedes probar.

NOTA: parece que consideras impares los flujos de datos alternativos. Son extraños porque están muy ocultos, pero muchos sistemas de archivos importantes (HFS, NSS) lo tienen y el concepto se remonta a principios de los 80. De hecho, originalmente las secuencias se agregaron a NTFS para la interoperabilidad con otros sistemas de archivos.


El error significa literalmente que no se reconoce como un flujo de datos alternativo y que la referencia que está haciendo contiene un cierto carácter que no está permitido en un nombre de ruta (el:; otros caracteres no permitidos incluyen // , / , etc.) .

Tratar:

start this_is_a.txt:ads.exe


La API de Win32 maneja la asignación de nombres de flujos alternativos muy bien.

CMD, por otro lado, hace un análisis funky del nombre del archivo cuando es posible tener * /? Expansión y barfs cuando un ":" está presente. Es por eso que la copia y el tipo fallan pero la redirección simple funciona.


Por cierto, puedes abrir AltDataStream con el bloc de notas:

notepad.exe 1013.pdf:Zone.Identifier

Además, puede especificar el tipo de AltDataStream (no solo con el Bloc de notas, es el "nombre completo de la secuencia"):

1013.pdf:Zone.Identifier:$DATA


Un posible propósito para la transmisión alternativa: metadatos. Se puede agregar, para un documento, una descripción grande sin afectar el contenido del archivo original.