-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New variant of a volume shell item? #17
Comments
@m0rtalis the windows shell item list format are undocumented by Microsoft and varies per version of Windows. Could you
|
The shell item in my example is the one you have in "libsfwsi/documentation/Windows Shell Item format.asciidoc" in Section 3.3 as one of the three examples. I looked into my registry and found a similar key from the following location: Parsing it with ShellBags Explorer from Zimmerman shows it as: which is a bit confusing as the Type Indicator 0x2E points to a Volume shell item as it's in the range 0x20 - 0x2f but it's being recognized as "Root folder: GUID", which I think corresponds to Root folder shell item which has the type indicator 0x1f and the structure would fit better, except for the Extension Block Signature. Also my other example which I unfortunately can't share and the examples in your documentation have an extension block signature of Beef0025 instead of Beef0026 as this one has. |
Per documentation: https://github.com/libyal/libfwsi/blob/master/documentation/Windows%20Shell%20Item%20format.asciidoc#21-shell-item
Again this documentation is not an official definition of the format, but observations regarding the format by various people. This is Microsoft's official documentation:
Many parts of the shell items are not yet understood or sufficiently researched. Shell items are likely serialized internal states of CLSID_ShellItem variants. These differ between Windows versions, even when different application are installed.
There are sources that link 088e3905-0323-4b02-9826-5d99428e115f to the namespace of the 32-bit Downloads folder, but I've not looked into this. Seeing the location in the BagMRU of this shell item this could be a plausible hypothesis.
Unfortunately if no reproduce-able test data can be made, it will remain some level of speculation what the values mean. |
Actually for Windows 10 Doing some experimentation, the display name of 20d04fe0-3aea-1069-a2d8-08002b30309d is |
Has a lot of similarities with some the shell items in
Which seems to be user account related |
I know, it just seems that this is the best documentation about the Shell Item Lists on the web so that's why I raised the issue here.
Oh yes that makes sense. Probably just an issue in ShellBags Explorer that it uses an old name. So is there anything else I can do to help with this new variant? |
Not much, I'll try to get back to this format when I can. Think I finally found one of the leads I was looking for a while. Anything you can tell about the shell item (list) you cannot share? type? extension blocks? what data is roughly in it? in what context it was found? |
Yes I replaces the metadata in the extension block with
Found on Win10 Home in |
thx and the sanitized metadata is that a string? or similar to: https://github.com/libyal/libfwsi/blob/master/documentation/Windows%20Shell%20Item%20format.asciidoc#622-extension-block-0xbeef0025 |
Ah totally didn't see that the extension block is described. Was worried that there are some things in it I don't want to disclose. But in that case it's fine to share it. Here is the full data:
|
I try to manually verify a windows shell item of type volume shell item.
I will use the second example in the Windows Shell Item format specification document for the explanation as the structure is identical to the one I need to parse.
Hex:
32 00 2e 80 3a cc bf b4 2c db 4c 42 b0 29 7f e9 9a 87 c6 41 1e 00 00 00 25 00 ef be 11 00 00 00 fa 66 a2 86 36 74 cf 01 2d 81 fe bc ba 9b cf 01 14 00 00 00
As described in the document I could identify the following bytes (GUID and Extension Block are assumptions from me):
32 00
: Size2e
: Class Type Indicator -> Volume shell item80
: Unknown Flag3a cc bf b4 2c db 4c 42 b0 29 7f e9 9a 87 c6 41
: GUID not documented1e 00 00 00 25 00 ef be 11 00 00 00 fa 66 a2 86 36 74 cf 01 2d 81 fe bc ba 9b cf 01 14 00
: Extension Block not documented00 00
: Terminal IdentifierAm I missing something or are the GUID and Extension Block missing in the Table in Secion 3.3?
The text was updated successfully, but these errors were encountered: