I’ve been revisiting things in Windows 10 recently. We’ve seen a few things change that we have taken for granted in previous versions so I’ve been investigating things.
In my most recent efforts, I’ve come to the RecentDocs key in the Windows registry. For those that are unaware, this key lies in each user’s NTUSER.DAT file under their user profile. The path for the key is “NTUSER.DAT\Software\Microsoft\Windows\Current Version\Explorer\RecentDocs”. Under this key we see a list of recently accessed files (in hex) with a number assigned. Also in this key we have a Most Recently Used (MRU) list. This list gives the access order of the files. In the example below, we can see that the value MRUListEx starts with 33. When we convert this from hex we get 51, the item that is highlighted. The hex for item 51 would translate to the name of a file.
What you’ll also notice is that the RecentDocs key has subkeys for each extension too. Each of those contains their own MRUListEx for the specific extension as seen in the picture below.
So we have duplicate data. Files that appear in the top-level RecentDocs key, should also have an entry in their individual file extension subkey too. This means that a text file should appear in both RecentDocs and also RecentDocs\.txt. Note, that there is also a subkey specific to folders.
What is not shown in the screenshots above is the last-written dates and times associated with the keys. Why is this important? The last-written time has, historically, been used to determine when the most recent file in the MRUListEx value was accessed. For example, In the picture below, the MRUListEx shows 0x33 (51) as being the most recently accessed file. The last write timestamp for the RecentDocs key shows 2019-03-05 17:26:46. Meaning that the file at position 51 was last opened at that time.
This is the long-held belief anyway. The problem is that this isn’t necessarily true.
Take the following example. At 12:00pm I open a text file. An entry is added to the MRUListEx in both the RecentDocs key and the .txt file extension subkey. The last written time of both keys are also updated to/at that time. At 12:10pm I go into Registry Explorer and delete either another subkey (.docx for example), or a value referring to another file in the RecentDocs key, and what happens? The last write time for RecentDocs is updated. This now means that the text file is still the most recently accessed file in both MRUListEx lists (RecentDocs and .txt), but it now appears to have two last-accessed times, 12:00pm (from the .txt subkey) and 12:10pm (from the RecentDocs key). However, the file was never actually accessed at 12:10pm. Therefore, our trust in the date and time that the file was opened diminishes somewhat. In the pictures below, I provide another example. In the top picture you can see that the most recently used folder, under the RecentDocs key, was “testfolder6” with a last accessed 17:26:46. However, in the second picture, the Folder key tells us that the same folder was access at 17:16:44, not 17:26:46.
Which one is accurate? The Folder subkey. I purposely deleted another subkey belonging to a different file type and this behavior updated the last written time for the RecentDocs key.
Now, at this point, the RecentDocs key is “lying” to us. Well, not really, just our interpretation of the data is wrong, but you know what I mean. Is there anything we can do to make the Folder subkey lie to us too? Of course there is. We can just delete once of the values inside that subkey. So, if I delete value 0 in the picture above, the last-written time of the Folder subkey is updated. This means that we cannot rely on the last-written times of the RecentDocs key or any of its subkeys without verifying those accesses elsewhere.
Is this likely to happen? Maybe not, but this is something to watch for. Note that this is NOT a Windows 10 only issue. going back, this seems to affect all versions of Windows.
Now, Windows 10-specific items. What about how the RecentDocs keys are populated? Can we trust those? Well, it depends.
First, a slight detour. In Windows 10, if you right-click in explorer, select “New” and then select a file type, you get a new file. Surprising? No. But what else happens when you do this? A shortcut (lnk) file for that newly created file is automatically created in the user profile under the “Recent” folder. Not only that, but a shortcut file is also automatically created for the parent folder.
What about folders? Create a new folder and shortcut file is automatically generated for the folder you created, the parent folder and the grandparent folder. Go test it for yourself.
So why the detour to talk about shortcut files? Because the RecentDocs key now behaves in the exact same way. If you create a new file, an entry is made in the RecentDocs key and in the relevant extension’s subkey. This file does not have to be opened to generate these entries. In addition entries being created for the created file, entries are also created for the parent folder of the created file, assuming that those entries did not already exist for that folder.
The same goes for folder creation. Create a folder and the RecentDocs key creates an entry for the created folder, plus the parent folder (if an entry doesn’t already exist), and the grandparent folder (if an entry doesn’t already exist).
Pretty interesting, right? But what is perhaps more interesting is the order in which this happens. If you create a file or a folder, that entry goes into the RecentDocs key first, followed by the parent folder and, if applicable, the grandparent folder. This means that if you create the file “MyFolder\MyText.txt”, the last write time of the RecentDocs key will relate to the file creation, but the MRUListEx value will show “MyFolder” being the most recently used item, not “MyText.txt”. However, the .txt subkey will still show show “MyText.txt” as the most recently used txt file, and the last write time of the .txt subkey will still apply to that file.
Then, to make things more confusing, if you are not creating a file, but simply opening a file, similar behavior is seen. If I now go and open “MyText.txt” the RecentDocs key doesn’t show that file as the most recently accessed item, instead it shows the parent folder of “MyFolder”. This means that in most cases the item topping the RecentDocs MRUListEx value will be a folder, you’ll need to go to the subkeys for the file extension for the time relating to the files themselves.
Now, there is a caveat to this. This behavior doesn’t appear to occur when accessing files that exist directly on the Desktop, or on the user’s Documents folder. My initial thought is that this is due to them being shell folders. However, it continues to apply to subfolders.
Finally, just because I don’t know if anyone has ever addressed this, accessing two different items with the same name will not create separate RecentDocs entries. If I access MyText.txt from my Desktop and then open a completely different file named the same thing from my USB drive, there is only one entry in the RecentDocs key. The last write time for the .txt subkey will show when the file on the USB was accessed.
Hope this is useful to someone when you start seeing variances in the RecentDocs key.
EDIT: I forgot to mention that the RecentDocs\Folders subkey only ever seems to be populated when a child item is accessed (or when child folders are created as discussed above). The simple action of opening a folder does not populate this key.
When investigating user activity on a Windows system, one of the most valuable forensic artifacts is the RecentDocs registry key. This key maintains a list of recently opened files and folders, allowing analysts to track file interactions, identify potentially suspicious behavior, and even estimate timeframes for when files were accessed.
————————————————————————————————————-
Where is the RecentDocs Key Located?
The RecentDocs key is found in the user-specific registry hive:
NTUSER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
————————————————————————————————————-
What Data Does RecentDocs Contain?
✅ Last 150 Files Opened (Any Type)
✅ RecentDocs creates subkeys for different file extensions (e.g., .docx, .pdf, .eml), each storing the last 20 files opened of that type.
✅ last 30 folders opened by the user.
✅ MRU (Most Recently Used) Order – Items are stored in a list format, with Item 1 being the most recently accessed.
✅ Potential Web Searches & Downloads – Some browsers and Windows search features may log visited websites and downloads under RecentDocs.
—————————————————————————————————————————
Understanding RecentDocs Timestamps
The RecentDocs key itself has a last write timestamp, which updates every time a new file is opened. However, individual entries within RecentDocs do not store timestamps—except for the most recently used item in each subkey.
🔹 How This Works:
-
If you open multiple .docx files, only the most recent one in the .docx subkey will have a timestamp.
-
Older entries remain in order but do not store exact access times.
Even though older entries lack timestamps, the MRU list order can help estimate time ranges.
—————————————————————————————————————————
How RecentDocs Helps in Forensic Investigations
🔍 1. Tracking User ActivityRecent
Docs provides insight into what files and folders a user interacted with, helping investigators build a digital footprint.
💾 2. Recovering Deleted Evidence
Even if a file has been deleted, its record in RecentDocs remains until overwritten—allowing analysts to recover evidence of past activity.
🕵️ 3. Identifying Suspicious Behavior
-
Data Theft: If a user accessed multiple sensitive files before an unauthorized data transfer, it could indicate data exfiltration.
Malware Execution: If ransomware was detected on a system, RecentDocs might reveal which file triggered the infection.
-
Insider Threats: Analyzing which files were accessed before a breach can help determine whether an employee played a role.
—————————————————————————————————————————
Final Thoughts: A Simple Yet Powerful Forensic Tool
The RecentDocs registry key is an essential forensic artifact for understanding user interactions with files and folders. By analyzing its MRU lists, subkeys, and timestamps, investigators can track user behavior, uncover deleted evidence, and reconstruct activity timelines.
If you’re conducting an investigation, don’t overlook RecentDocs—it could be the key to uncovering what really happened on a system! 🚀
——————————————Dean—————————————————
Время на прочтение7 мин
Количество просмотров23K
Всем привет, Хабровчане!
Думаю ни у кого не возникает сомнений в важности грамотной работы специалистов ИБ и ИТ служб, учитывая события недавних дней с ТК СДЭК, а также другие крупные взломы/утечки, которых было немало за последние пару, тройку лет. Обеспечение грамотной работы включает в себя обычно комплекс мероприятий, да и в целом в работе служб ИБ есть множество направлений, где одним из интереснейших направлений, без которого, на мой взгляд, трудно обойтись, является компьютерная криминалистика (Forensic или форенсика).
Если говорить простым языком, то форенсика позволяет понять кто/что делал/делало в определённое время в компьютерной системе, а её методы можно применять как на этапе расследования уже случившегося инцидента, так и для целей мониторинга, предотвращения будущих инцидентов. Внутри направление форенсики тоже делится на отдельные поднаправления в зависимости от того, что мы исследуем. Можно выделить форенсику настольных ОС, мобильных ОС, форенсику компьютерных сетей и форенсику умных устройств IOT.
Мой интерес и выбор когда-то пал на семейство настольных ОС Windows поскольку в корпоративных инфраструктурах эта система очень распространена. Поэтому в данной статье хочу поделиться некоторыми наработками, связанными с форенсикой реестра ОС Windows 8-11 и показать какие сведения из него полезны для ИБ служб при мониторинге или расследовании, а также где в нём их искать.
Прежде чем перейти к рассмотрению полезных сведений из реестра давайте чуть-чуть поговорим о том, что представляет из себя сам реестр непосредственно.
Структурно реестр Windows это иерархическая организация (в документации MS применяется термин «system-defined database»), в которой размещены для хранения параметры системы/программ/железа, но здесь также можно найти много интересного и для ИБшника. В этой иерархии можно выделить следующие части:
-
Разделы/они же Ветки реестра (Hives).
-
Ключи реестра (Keys).
-
Вложенные ключи реестра (Sub-Keys).
-
Параметры ключей и их значения (Values).
Кроме того Hives (ветки) реестра делятся на несколько групп и хранятся в виде файлов на системном диске (в основном в директории %systemdrive%\Windows\System32\config) вместе с ними находятся файлы транзакций .log (.log1, .log2 и т.д.) и файлы .sav для сохранения копий веток (здесь я просто упоминаю эти файлы, но на самом деле они достойны отдельной статьи и их разбора):
Ветка реестра |
Связанные файлы на диске |
HKEY_CLASSES_ROOT он же HKCR |
System, System.alt, System.log, System.sav |
HKEY_CURRENT_USER он же HKCU |
Ntuser.dat, Ntuser.dat.log (эти файлы лежат в папке пользователя), UsrClass.dat (находится в папке AppData\Local\Microsoft\Windows, которая внутри юзерской папки) |
HKEY_LOCAL_MACHINE он же HKLM |
Security, Security.log, Security.sav, Software, Software.log, Software.sav, System, System.alt, System.log, System.sav |
HKEY_USERS он же HKU |
Default, Default.log, Default.sav |
Для работы с реестром можно использовать стандартные средства самой системы. Это графическое приложение — %systemdrive%\Windows\regedit.exe или консольная утилита %systemdrive%\Windows\System32\reg.exe. Однако, это может быть не так уж удобно если требуется быстро интерпретировать данные, поэтому для более удобной работы могу порекомендовать использовать программу Eric’a Zimmerman’a — «Registry Explorer».
Параметры в реестре могут принимать следующие типы значений:
Наименование значения |
Описание |
REG_SZ |
Null-terminated строка в ASCII или Unicode |
REG_MULTI_SZ |
Последовательность из Null-terminated строк, например String\0String2\0String3\0LastStr\0\0 |
REG_DWORD |
Число длиной 32 бита |
REG_BINARY |
Бинарные данные |
REG_QWORD |
Число длиной 64 бита |
REG_EXPAND_SZ |
Null-terminated строка в ASCII или Unicode, которая представляет переменную окружения, например %PATH% |
Теперь имея общие представления о реестре перейдём к рассмотрению артефактов, т.е. интересных нам данных, их полезных значений, а также «пути» до них в реестре, где их можно достать «руками». Дополнительно следует учитывать, что у каждого ключа реестра есть штамп времени, когда крайний раз был изменен один из его параметров. Сами параметры, к сожалению, штампов времени не имеют (если они сами напрямую не содержат их в качестве значения), однако значения времени модификации ключей уже позволяют хотя бы на уровне гипотезы сузить временной разброс, когда происходило то или иное с набором параметров ключа. Штамп времени для ключа можно получить, например, после его экспорта в текстовый файл средствами regedit или через PowerShell.
Артефакт Last Visited MRU представляет из себя параметры вложенного ключа HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU и LastVisitedPidlMRULegacy. Эти значения описывают приложения, которые использовали стандартный диалог Windows для открытия, либо сохранения файлов. Если нажать правой кнопкой мыши по файлу в проводнике и выбрать «Открыть с помощью…», то предположительно для этой опции создаётся параметр со значением «OpenWith.exe». Если в приложении сохранение файла осуществляется в обход стандартного диалога Windows, то параметр в ключе реестра создан не будет. Этот артефакт позволяет узнать следующее:
-
На хосте точно запускалась та или иная программа определённым пользователем.
-
С помощью программы, возможно, по сети могли получить и сохранить файл, если у программы есть подобный функционал.
-
По какому конкретно пути был открыт файл (возможно для модификации) или сохранён. Название файла, к сожалению, получить нельзя.
Артефакт User Assist располагается в параметрах вложенного ключа реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist. В нём нас будет интересовать ещё два вложенных ключа:
-
{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count
-
{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count
Они содержат информацию об открывавшихся пользователем программах и ярлыках. Параметры записаны с помощью сдвига ROT-13 (каждая буква алфавита сдвинута на 13 символов вправо от изначальной позиции в алфавите), которое не работает для кириллицы, она отображается как есть. Это позволяет узнать следующее:
-
Конкретный пользователь на хосте запускал ту или иную программу.
-
Путь до запускавшегося исполняемого файла, при чём часть этого пути может быть задана как GUID значение в фугируных скобках, это отображение «известных» директорий, список у Microsoft опубликован здесь.
В операционных системах Windows 10 (до версии 1803), есть аналогичный UserAssist ключ в реестре, показывающий, что пользователь открывал определённые программы. Этот ключ называется RecentApps, он расположен в: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps. Различие с UserAssist в большей полноте предоставляемых данных, для RecentApps кроме имени самого приложения ещё можно получить время, когда последний раз выполнялось это приложение в формате UTC, и количество запусков этого приложения (соответственно это будут значения параметров AppID, LastAccessTime, LaunchCount).
Артефакты использования офисного пакета MS Office могут быть полезны чтобы понять какие документы офиса мог открывать пользователь. Это пригодится например, если произошёл иницидент с заражением ВПО, т.к. документы могли содержать вредоносное активное содержимое, которое и могло выполниться при открытии. Сведения о последних открывавшихся документах можно получить из вложенного ключа реестра, который зависит от версии Office, ниже таблица для некоторых версий.
Версия офисного пакета |
Ключ реестра |
MS Office 2013 |
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\User MRU\<LiveId>\File MRU |
MS Office 2016 |
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\User MRU\\<LiveId>\File MRU |
MS Office 2010 |
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\User MRU\\<LiveId>\File MRU |
MS Office 2019 / Office 365 |
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\User MRU\\<LiveId>\File MRU |
Артефакты использования USB дают понять какое внешнее оборудование могло подключаться. Можно выяснить имя устройства в системе, серийный номер, vendor ID, для определения производителя устройства (есть бесплатные сервисы, например этот), время последнего и первого подключения.
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB (любые устройства кроме принтеров и накопителей).
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBPRINT (подключавшиеся принтера).
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR (подключавшиеся накопители информации).
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\Devices (любые устройства кроме принтеров и накопителей).
-
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices (подключавшиеся накопители информации).
-
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 (подключавшиеся накопители информации).
-
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\KnownDevices (относится к опции AutoPlay, которая задаёт действия по умолчанию при подключении USB устройства. Параметр ContainerID относится скорее всего к вот этому, а параметр Label обычно даёт понять модель или производителя устройства).
Артефакты реестра называемые ShellBag дают понять какие папки открывались пользователем наиболее часто. Это полезно для анализа поведения пользователей при их работе в системе. ShellBag лежат во вложенном ключе реестра: HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\BagMRU или HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags.
Информацию связанная с историей выполнявшихся команд Win+R (Run) в ключе: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU может пригодится, например, при анализе нарушений политики ИБ пользователями, хотя простым пользователям лучше бы вообще обладать минимально необходимыми привилегиями и не иметь возможности выполнять лишних команд.
Сведения об открывавшихся определённым пользователем файлах по их расширениям можно найти во вложенном ключе реестра: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Полезными для анализа могут также быть следы, которая система сохраняет о взаимодействии пользователя с Проводником Windows. Можно узнать вводимые вручную пути и историю пользовательского поиска. За это отвечают следующие ключи:
-
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery (история поисковых запросов Проводника).
-
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths (вводившиеся вручную пути).
Продолжение следует…
on March 9, 2012
In Windows start menu, we can see the list of recently opened documents(text, word, excel, power point, image files etc). In Window XP and Server 2003, this is named ‘Recent Documents‘ where as in Vista and Windows 7, it’s named ‘Recent Items‘. The list looks like the following in Windows 7.
This list of recent documents/recent items can be deleted from command line by executing the below command.
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs /a
The changes will be effective immediately.
Disable recent documents list in start menu
We can make windows not to show the recent documents list in the start menu. This can be done by running the following command.
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Start_ShowRecentDocs /t REG_DWORD /d 0 /f
In this case, the changes won’t be effective until you log off from the current session and log in back.
To enable recent items list we can run the following command.
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Start_ShowRecentDocs /t REG_DWORD /d 1 /f
I have tested the above commands on Windows 7 and have found them to be working. If you have tried this commands on XP/Vista, please share the results.
Related Posts:
All about enabling/disabling Recent items/documents feature in Windows 7
The Windows Registry contains various keys with information about Most Recently
files Used (MRU). Windows Explorer (or Windows shell), extensively uses such
keys. Several different variants of MRU keys are known to be used, such as:
-
Keys with a MRUList value
-
Keys with a MRUListEx value
-
BagMRU key
Keys with a MRUList value
Values:
Name | Data type | Description |
---|---|---|
MRUList | Contains a list of the most recently used (MRU) items. Consists of an array of UTF-16 little-endian formatted character value. The first value represents the most recently used item, the second the second recently used item and so forth. The last value indicates the end of the list and should be 0 (0x0000). |
|
%ALPHA% | Where %ALPHA% is a string in the form: «[a-z]» The value name corresponds to a string value in the MRUList value. E.g. a MRUList value of «a» (0x0061) corresponds to the value «a». |
String MRUList values
The following keys with a MRUList value contain %ALPHA% values that consists of
an UTF-16 little-endian formatted string with an end-of-string character.
Sub keys of: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Registry key | Windows version | Description |
---|---|---|
ComDlg32\LastVisitedMRU | 2000, XP | |
ComDlg32\OpenSaveMRU\%EXTENSION% | 2000, XP | Where %EXTENSION% is a file extension like «exe» or «*» |
Doc Find Spec MRU | Most recently used «Find Files» commands | |
FileExts\%EXTENSION%\OpenWithList | 2000, XP, Vista | Most recently used «Open With» commands Where %EXTENSION% is a file extension like «.exe» |
FindComputerMRU | Most recently used «Find Computer» commands | |
Map Network Drive MRU | XP | Most recently used mapped network drives |
PrnPortsMRU | Most recently used printer ports | |
RecentDocs | 2000, XP | |
RecentDocs\%EXTENSION% | 2000, XP | Where %EXTENSION% is a file extension like «.exe» or «Folder» |
RunMRU | NT4, 2000, XP, Vista | Most recently used «Run» commands |
WordWheelQuery |
Shell Item List MRUList values
The following keys with a MRUList value contain %ALPHA% values that consists of
a Shell Item List.
Sub keys of: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Registry key | Windows version | Description |
---|---|---|
DesktopStreamMRU | NT4 | How icons are arranged on the desktop. Although the key is present on later versions of Windows it does not seem to be used anymore. |
Keys with a MRUListEx value
Values:
Name | Data type | Description |
---|---|---|
MRUListEx | Contains a list of the most recently used (MRU) items. Consists of an array of 4-byte little-endian values. The first value represents the most recently used item, the second the second recently used item and so forth. The last value indicates the end of the list and should be -1 (0xffffffff). |
|
%NUMERIC% | Where %NUMERIC% is a string in the form: «[0-9]+» The value name corresponds to a 4-byte numeric value in the MRUListEx value. E.g. a MRUListEx value of 0x00000001 corresponds to the value named «1». |
The value data of the numeric value depends on the sub key.
String MRUListEx values
The following keys with a MRUListEx value contain %NUMERIC% values that
consists of an UTF-16 little-endian formatted string with an end-of-string
character.
Shell Item List MRUListEx values
The following keys with a MRUListEx value contain %NUMERIC% values that
consists of a Shell Item List.
Sub keys of: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Registry key | Windows version | Description |
---|---|---|
ComDlg32\OpenSavePidlMRU\%EXTENSION% | Vista | Where %EXTENSION% is a file extension like «exe» or «*» |
StreamMRU | 2000, XP |
String and Shell Item MRUListEx values
The following keys with a MRUListEx value contain %NUMERIC% values that
consists of a String and Shell Item. The String and Shell Item is variable of
size and consists of:
Offset | Size | Value | Description |
---|---|---|---|
0 | … | The filename stored as an UTF-16 little-endian formatted string with end-of-string character | |
… | … | The filename stored as a Shell Item. The Shell Item is empty if not set. |
Sub keys of: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Registry key | Windows version | Description |
---|---|---|
RecentDocs | Vista | |
RecentDocs\%EXTENSION% | Vista | Where %EXTENSION% is a file extension like .exe or Folder |
String and Shell Item List MRUListEx values
The following keys with a MRUListEx value contain %NUMERIC% values that
consists of a String and Shell Item List. The String and Shell Item List is
variable of size and consists of:
Offset | Size | Value | Description |
---|---|---|---|
0 | … | The filename stored as an UTF-16 little-endian formatted string with end-of-string character | |
… | … | The path stored as a Shell Item List. The first Shell Item is empty if not set. |
Sub keys of: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Registry key | Windows version | Description |
---|---|---|
ComDlg32\LastVisitedPidlMRU | Vista, 7 |
BagMRU key
The values in the BagMRU and sub keys are also referred to as “shellbags”.
BagMRU keys as of XP (stored in NTUSER.DAT)
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU
Additional BagMRU keys as of Vista (stored in USRCLASS.DAT)
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\ShellNoRoam\BagMRU HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\BagMRU HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\ShellNoRoam\BagMRU
Seen in Windows 7:
HKEY_CURRENT_USER\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
The BagMRU sub keys form a hierarchy similar to a folder structure.
Values:
Name | Data type | Description |
---|---|---|
NodeSlot | REG_DWORD | Contains the node slot index number (also referred to as bag number) This number corresponds to the sub key name the corresponding Bags sub key. E.g. bag number 1 in HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU relates to the Bags sub key HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1 |
NodeSlots | Only present in the root BagMRU key. | |
MRUListEx | REG_BINARY | Contains a list of the most recently used (MRU) items. Consists of an array of 4-byte little-endian values. The first value represents the most recently used item, the second the second recently used item and so forth. The last value indicates the end of the list and should be -1 (0xffffffff). |
%NUMERIC% | REG_BINARY | Where %NUMERIC% is a string in the form: «[0-9]+» The value name corresponds to a 4-byte numeric value in the MRUListEx value. E.g. a MRUListEx value of 0x00000001 corresponds to the value named «1». Contains a shell item |
Bag number shell sub key
The numbered sub keys of the Bags key have a Shell sub key e.g.
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Shell
This key contains various values:
Name | Data type | Description |
---|---|---|
Address | ||
Buttons | ||
Col | ||
ColInfo | ||
FolderType | ||
FFlags | ||
HotKey | ||
Links | ||
MinPos%GEOMETRY%(1).bottom | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
MinPos%GEOMETRY%(1).left | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
MinPos%GEOMETRY%(1).right | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
MinPos%GEOMETRY%(1).top | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
MinPos%GEOMETRY%(1).x | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
MinPos%GEOMETRY%(1).y | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
Mode | ||
Rev | ||
ScrollPos%GEOMETRY%(1).x | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
ScrollPos%GEOMETRY%(1).y | Where %GEOMETRY% is the screen geometry in the form 1100×705 | |
ShowCmd | ||
Sort | ||
SortDir | ||
Vid | ||
WFlags |
Notes
This section contains some notes on explorer MRU keys that need to be completed.
Wallpaper MRU key MRUListEx value
Sub keys of: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Registry key | Windows version | Description |
---|---|---|
Wallpaper\MRU | XP, 2003 | Most recently used wallpapers |
00000000 43 00 3a 00 5c 00 57 00 49 00 4e 00 44 00 4f 00 |C.:.\.W.I.N.D.O.| 00000010 57 00 53 00 5c 00 42 00 6c 00 75 00 65 00 20 00 |W.S.\.B.l.u.e. .| 00000020 4c 00 61 00 63 00 65 00 20 00 31 00 36 00 2e 00 |L.a.c.e. .1.6...| 00000030 62 00 6d 00 70 00 00 00 70 00 00 00 00 00 00 00 |b.m.p...p.......| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 78 01 08 00 00 00 00 00 00 00 00 00 |....x...........| 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000a0 00 00 00 00 28 f6 0b 00 00 00 00 00 70 4b 0c 00 |....(.......pK..| 000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000c0 00 00 00 00 00 00 00 00 28 f6 0b 00 00 00 00 00 |........(.......| 000000d0 78 5b 0c 00 00 00 00 00 20 f6 0b 00 00 00 00 00 |x[...... .......| 000000e0 78 01 08 00 00 00 00 00 00 00 00 00 00 00 00 00 |x...............| 000000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000110 00 00 00 00 00 00 00 00 78 01 08 00 92 02 00 00 |........x.......| 00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000170 00 00 00 00 00 00 00 00 28 f6 0b 00 00 00 00 00 |........(.......| 00000180 01 02 00 00 00 00 00 00 68 4b 0c 00 08 10 00 00 |........hK......| 00000190 68 4b 0c 00 00 00 00 00 70 4b 0c 00 78 01 08 00 |hK......pK..x...| 000001a0 08 10 00 00 2f 2d f4 77 51 8e e4 77 f8 00 00 00 |..../-.wQ..w....| 000001b0 00 00 00 00 00 00 00 00 00 00 00 00 50 f4 a2 00 |............P...| 000001c0 70 4b 0c 00 00 10 00 00 03 00 00 00 28 8d e4 77 |pK..........(..w| 000001d0 f4 dc 0b 00 36 8e e4 77 04 01 00 00 ab 3d 29 77 |....6..w.....=)w| 000001e0 40 fd a2 00 00 00 00 00 d6 0f 00 00 a8 4e 0c 00 |@............N..| 000001f0 00 d0 fd 7f 00 00 00 00 be 20 08 00 01 00 00 00 |......... ......| 00000200 e0 dc 0b 00 08 00 00 00 30 00 00 00 30 00 00 00 |........0...0...| 00000210 00 60 a9 0f c6 f2 c2 01 |.`......|
Explorer MRUList
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MRU
CIDSizeMRU MRUListEx
Seen on Windows Vista
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\CIDSizeMRU
00000000 66 00 69 00 72 00 65 00 66 00 6f 00 78 00 2e 00 |f.i.r.e.f.o.x...| 00000010 65 00 78 00 65 00 00 00 00 00 00 00 00 00 00 00 |e.x.e...........| 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| ... 00000200 00 00 00 00 00 00 00 00 12 00 00 00 0b 00 00 00 |................| 00000210 22 04 00 00 15 03 00 00 00 00 00 00 00 00 00 00 |"...............| 00000220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000230 00 00 00 00 00 00 00 00 1a 00 00 00 27 00 00 00 |............'...| 00000240 7c 02 00 00 d6 00 00 00 00 00 00 00 00 00 00 00 |...............|
MRUListEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\FirstFolder
Contains an UTF-16 little-endian formatted string.
External Links
-
Windows Shell Item format specification