Domanda

Oggi ho visto questo strano supporto magico del sistema NTFS: ogni file può avere più flussi di dati. Fondamentalmente si potrebbe avere un file a.txt di dimensioni 0b ma può esserci un numero qualsiasi di byte nascosto in un flusso di dati separato per quel file. Questa è una magia strettamente correlata a NTFS e non vedo alcuna nobile ragione per avere questi flussi in giro. Puoi cercare flussi NTFS con l'aiuto dell'utilità streams di Sysinternals. Questo ti mostrerà che praticamente ognuno di quei cattivi thumbs.db file viene fornito con un flusso di dati aggiuntivo.

Bene, ora ho visto questo lavoro magico su un sistema Windows NT4, i flussi aggiunti ai file, copiati, cancellati (con l'aiuto della suddetta utility), ma ora sto provando questo a casa sul mio sistema Win XP , ma nonostante sia in grado di rilevare i flussi esistenti, non riesco a visualizzarne i contenuti, non riesco a crearne di nuovi o molto altro quando utilizzo la sintassi filename:streamname.

Ottengo questo errore:

  

Il nome file, il nome della directory o   la sintassi dell'etichetta del volume non è corretta.

Esempio: Output dall'utilità di streaming:

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.

Perché non riesco a visualizzare i contenuti del flusso di dati alternativo?

Guardando la documentazione Microsoft su " Come utilizzare flussi di dati alternativi NTFS & Quot ;, Vedo che questo vale per il mio sistema operativo, anche se menzionano che questi flussi non saranno supportati nel futuro. Chiunque può far luce su questo?

È stato utile?

Soluzione

Dalla cima della mia testa: flussi di dati NTFS sono stati introdotti in Windows NT 4.0 e sono stati presenti in tutti i discendenti (esclusi i discendenti win-95: 98, Me). In XP, Vista e Win 7 sono ancora in circolazione. Finché le versioni di Windows supportano NTFS, supporteranno i flussi di file. Sosterranno NTFS per molto tempo a venire.

L'errore che hai è descritto nella pagina che mostri nella tua domanda. Il comando type non comprende i flussi. Usa:

more < 1013.pdf:Zone.Identifier

Utilizzo dei flussi

Microsoft ha solo una manciata di comandi che funzionano con i flussi, infatti solo <, > funzionano con i flussi e quindi possono essere usati solo comandi che possono funzionare con questi operatori di reindirizzamento. Ho scritto un un paio di post di blog su flussi di dati alternativi su come puoi manipola ancora i flussi solo con questi comandi.

Gli stream funzionano solo con programmi progettati per funzionare con loro, semplicemente perché devono essere trattati in modo speciale (confrontare i punti di giunzione, anche una funzionalità di NTFS, ma il driver nasconde i dettagli e i programmi non devono fare nulla speciale: considerano il punto di giunzione un vero file).

Quando provi ad aprire un flusso di file usando start filename:streamname e un programma dice qualcosa come " nome file illegale " oppure " file non trovato " ;, e sei sicuro che il nome del flusso sia corretto, quindi è probabile che il programma non supporti i flussi. Ho notato che Blocco note, Wordpad e Word / Excel funzionano correttamente con i flussi, sebbene Word ed Excel considerino i file pericolosi. Ecco alcuni esperimenti che potresti provare.


NOTA: sembri considerare dispari flussi di dati alternativi. Sono strani perché sono così nascosti, ma molti file system principali (HFS, NSS) ce l'hanno e il concetto risale ai primi anni '80. In effetti, originariamente i flussi venivano aggiunti a NTFS per l'interoperabilità con altri file system.

Altri suggerimenti

A proposito, puoi aprire AltDataStream con il blocco note:

notepad.exe 1013.pdf:Zone.Identifier

Inoltre, puoi specificare il tipo di AltDataStream (non solo con Blocco note, è "nome flusso completo"):

1013.pdf:Zone.Identifier:$DATA
  

Questa è una magia strettamente correlata a NTFS

Non è così - Mac OS li ha avuti da allora, in quel mondo sono chiamati forchette e useresti ResEdit per ottenerli. Il uso classico di questi è raggruppare le risorse multimediali insieme a un eseguibile.

Uno scopo possibile per flusso alternativo: metadati. È possibile aggiungere, per un documento, una descrizione estesa senza influire sul contenuto del file originale.

L'API Win32 gestisce bene la denominazione di flussi alternativi.

CMD, d'altra parte, esegue qualche analisi funky del nome del file quando è possibile avere * /? espansione e barfs quando un ": " è presente. Ecco perché la copia e il tipo falliscono ma il semplice reindirizzamento funziona.

L'errore significa letteralmente che non viene riconosciuto come flusso di dati alternativo e il riferimento che stai facendo contiene un certo carattere non consentito in un nome di percorso (il : ; altri caratteri non consentito includere \\ , / , ecc.)

Prova:

avvia this_is_a.txt: ads.exe

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top