On 5/18/2024 6:50 AM, R.Wieser wrote:
Wendelin,
I know if even such a rule to use internal OS copy functions for creating
temporarily copies (which would maintain ADS files) would exist this would >> not guarant that Office apps would follow the rule and would not create
and copy their own data only, but if such a rule would exist I would
expect that at least MS office apps would apply it.
Does your MS-supplied (with the OS) "file explorer" show if a file has an
ADS atached ? And allows you to access (create/delete/read/write) them ?
If not, why do you think any other MS product would ?
By the way, "nice" to see that ADS - which was available as far back as XP - still has next-to-no suport in Win10 ...
Regards,
Rudy Wieser
It's supported, because it is used to track the security zone
of a file (caused by where it was downloaded from). This feature
is "half-baked", but it's the usual thing of "dogfooding a feature"
and proving that ADS works. Initially, Kaspersky attempted to use
ADS and there were failures, and Kaspersky stopped using ADS as a
result. Microsoft learned a lesson from this, to not release
features without some sort of test plan.
ADS was likely originally created, to copy Apple Resource and
Data Fork capability. But I don't recollect ADS actually being
used that way (copy an Apple file, the two halves preserved).
You always had to be careful when working with Apple files on a PC.
FAT32 doesn't have ADS, so it's not like this feature is valuable
enough, for all the file systems to have it.
streams64.exe libcs50-10.1.1.zip
streams v1.60 - Reveal NTFS alternate streams.
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
D:\libcs50-10.1.1.zip:
:Zone.Identifier:$DATA 26 <=== presumably twenty six bytes
Using nfi.exe :
File 45
\libcs50-10.1.1.zip
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$DATA (nonresident)
logical sectors 492064-492103 (0x78220-0x78247)
$DATA Zone.Identifier (resident) <=================== The 26 bytes are inside a $MFT 1KB slot
That's what the word "resident" means.
notepad libcs50-10.1.1.zip:Zone.Identifier:$DATA <=== This is how you open a named ADS.
And that shows the 26 byte content as two lines of text:
[ZoneTransfer]
ZoneId=3 <=== Zone 3 of five possible zones
The ZoneID is a number between 1..5 and is what Internet Explorer
used to use for some security slider setting. 3 is from the Internet
and "not considered safe".
And that marker has to be preserved, and it seems to be managed
via $MFT entries.
It's simple enough to test. Open the main handle with Notepad,
edit the file and save, then do Properties and see if the warning
at the bottom is still there. It should be.
If I check that file right now, at the bottom of Properties, it
says: "This file came from another
computer and might be blocked to
help protect this computer"
That file was put on disk, two years ago.
This does not answer the OPs question in a satisfactory way,
because I doubt there is a web page "guaranteeing" a behavior.
It's just a feature, and then they don't say much more about it.
If it wasn't for Russinovich (streams.exe) and for the crusty old (year 2000) copy of nfi.exe , we might not know anything about these files.
When I check today with nfi.exe, the file has been moved, but I
did not move it. You don't defragment SSD drives, and (apparently)
the $MFT has no compaction routine. So how that slot changed, I
haven't a clue at the moment. One of the reasons I ran this check,
was to see if it moved. And it did. Which is... disappointing.
File 89138
\libcs50-10.1.1.zip <=== since there is only one entry for this file now
$STANDARD_INFORMATION (resident) the resident ~700 byte area is used for all the
$FILE_NAME (resident) things labeled as resident. If you added more
$FILE_NAME (resident) streams, they would eventually need a second $MFT slot.
$DATA (nonresident)
logical sectors 7978432-7978471 (0x79bdc0-0x79bde7)
$DATA Zone.Identifier (resident)
when a file is severely fragmented, there can be multiple "File xxxxx" entries. You could have fifty file slots, for the containment of info for a single file. If you do that enough (expand $MFT that way), you get "insufficient system resources" error.
Paul
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)