Статья [2 часть] Форензика списков переходов Jump Lists в Windows 10
Записи, поддерживаемые списками переходов, могут предоставить богатый источник доказательств хронологии действий пользователя для судебного эксперта. Структура и артефакты, записанные списками переходов, широко обсуждались в различных судебных сообществах с момента его дебюта в Microsoft Windows 7. Однако эта функция имеет больше возможностей для выявления доказательств в Windows 10 из-за своей измененной структуры. В структуре списков переходов в Windows 10 нет литературы, и однозначных инструментов, которые могут успешно разобрать списки переходов как в Windows 7/8, то что доступно (не учитывая специализированные коммерческие комплексы) не работает должным образом для Windows 10.
В этой статье мы определим (в дополнительной информации прикрепленной в наших ресурсах, ссылка ниже) структуру списков переходов в Windows 10 и сравним её с Windows 7/8.
Кроме того, инструмент доказательной концепции JumpListExt (Jump List Extractor) разработан на основе идентифицированной структуры, которая может анализировать списки переходов в Windows 10 как индивидуально, так и совместно.
Было проведено несколько экспериментов по обнаружению попыток противодействия криминальному анализу, таких как уничтожение доказательств, модификация доказательств и подделка доказательств, выполненных на основе записей списков прыжков. Кроме того, мы продемонстрировали тип артефактов, записанных списками переходов четырех популярных веб-браузеров с обычным и приватным режимом просмотра. Наконец, судебная возможность списков переходов в Windows 10 демонстрируется с точки зрения временной шкалы активности, построенной в течение определенного периода времени с использованием списков переходов.
Введение
Списки переходов в качестве новой функции были представлены в июле 2009 года с выпуском Windows 7 и продолжение в дальнейшем версии Windows, включая Windows 10. Списки переходов созданных программными приложениями или операционной системой, поэтому что пользователь может «перейти» непосредственно к недавно открывшимся файлам и папки. Функция отображает ограниченное количество элементов однако в большинстве случаев записанные данные не отображается. В Windows 7/8 пользователи могут настроить количество элементов списка переходов, которые будут отображаться, путем изменения Значение реестра через приложение «regedit» (Lyness, 2012). Тем не менее, нет возможности изменить число прыжков Список элементов, которые будут отображаться в Windows 10, так как это сложно закодированы. Списки переходов сохраняют записи недавно полученных файлов и папок и группировать их в соответствии с приложением.
Прежде чем эта функция была введена, судебные аналитики доступ к краткому списку наиболее используемых (MRU) и большинства Часто используемые элементы (MFU) в реестре Windows (Lyness, 2012). Списки переходов могут предоставить намного больше информации об истории пользователя и действиях, чем MRU и MFU Предметы. Анализ списков переходов может выявить полезную информацию касающиеся доступа к файлам, включая список MRU и MFU используемый пользователем или приложением, имя файла, путь к файлу, MAC (Модифицированные, доступные и созданные) временные метки, объем имя, из которого был обращен файл, а также историю загруженные и загруженные файлы через веб-браузеры. Эти артефакты сохраняются даже после того, как файлы и их цель приложения удаляются из системы (Larson, 2011). С момента выпуска Windows 7 структура и артефакты извлеченные из списков переходов были широко обсуждены в различных судебных сообществах. Lallie and Bains (2012) представил структуру списков переходов в Windows 7.
Эта тема очень объемна, и начал её оформлять так как в разделе Форензика появилась статья Анализ списков переходов (Jump List) Windows 7 и выше но для её применения и понимания нужно изучить много фактов,
которые я и собрал в этом описании, в одном месте, а так же добавил к нам в ресурсы подробное описание (англ.яз).
Инструмент для облегчения рассмотрения JumpList Explorer
Файлы которые мы им можем рассмотреть
c:\Users\
c:\Users\
How to enable jump lists in the Windows 10 Start Menu
- A jump list is a nifty feature whose main job is to make yours easier.
- Check out the article below and follow the listed steps in order to add a jump list to the Start Menu on your Windows 10 PC.
- Speaking of the Start Menu, every once in a while even the most basic of features can have issues and this one makes no exception. Take a quick look at our Start Menu Guides.
- Keep your PC error-free thanks to our Windows 10 Troubleshooting Hub.
Although Windows 10 is the latest operating system from Microsoft, we can’t help but notice that some features from previous versions are absent.
One of these features is Jump lists, and if you’re missing it we’re going to show you how to enable Jump lists in Start Menu in Windows 10.
Jump lists were first introduced in Windows 7 and they allowed you to see recent documents or to access certain features from apps that are pinned to your taskbar or to your Start Menu.
For example, if you have a text editor pinned to your taskbar you can see recent files simply by right-clicking its icon on the taskbar.
Jump lists work the same way for Start Menu apps, and if the app has support for Jump lists it will have a small arrow next to it. By hovering your mouse over it, you can reveal your recent documents or certain features.
As you can see, this was quite a useful feature, and it’s a shame to see that Jump lists aren’t working in the Start Menu on Windows 10, but there’s a way to fix that.
How can I enable jump lists in the Windows 10 Start Menu?
- Open Registry Editor. You can do so by pressing Windows Key + R and type in regedit.
- Locate the following key on the left pane:
After restart, Jump lists should be working in the Start Menu, although they look a bit bigger than on Windows 7.
Although Jump lists are working with taskbar icons in Windows 10, you can enable them in Start Menu as well by changing the registry. We have to warn you to be careful when changing the registry because you can damage your Windows 10 installation.
On Windows 10, you can quickly check your Jump Lists for every app or program pinned to the taskbar. All you need to do is right-click on the respective app or program and you’ll see a list of all the recent files and folders that you accessed.
There you go, that should do it. If you have any questions or suggestions related to this post, feel free to use the comments section below.
Программируем Windows 7: Taskbar. Часть 10 (заключительная) – JumpLists
Одной из важнейших функций панели задач в Windows 7 являются Jump Lists. Jump lists отображаются, если выделить значок приложения в панели задач и нажать правую кнопку мыши. Если приложение использует функциональность JumpLists, то кроме стандартных действий (pin, close) появятся еще ряд дополнительных действий, которые облегчают нашу повседневную работу.
Этой функциональностью панели задач активно пользуются различные приложения. Например, Windows Media Player отображает опции переключения плейлистов. Internet Explorer и Windows Explorer содержат в jump lists с сылками на последние места, куда вы заходили. Windows Live Messanger отображает опции переключения состояния.
В jump list могут присутствовать несколько различных типов элементов: задачи, ссылки на последние открытые документы и ссылки на постоянные документы. Кроме того, эти позиции могут быть закреплены. Такие элементы не исчезнут из jump list со временем. Это удобно, например, если мы часто работаем с одним и тем же документом. Схематично jump list можно представить следующим образом.
По сути, каждый пункт в jump list представляет собой ссылку на программу или файл. Так, например, мы можем запустить калькулятор, или какой-либо документ заданного формата. К сожалению, у нас нет возможности напрямую перехватить событие нажатия на пункт в jump list. Каждый раз, когда мы выбираем очередной пункт будет запускаться новый экземпляр приложения. Это связано в первую очередь с тем, что jump list можно вызвать даже тогда, когда приложение не запущено. В этом случае оно должно быть закреплено (pinned) на панели задач. Например, на следующем рисунке видно, что Internet Explorer в данный момент не запущен, но jump list мы открыть можем.
Итак, давайте посмотрим каким образом подобная функциональность может быть реализована в наших приложениях. Для работы с jump list нам понадобится объект типа JumpListManager, который входит в состав .NET Interop Sample Library. Создавать его необходимо в момент создания кнопки нашего приложения на панели задач. Для этих целей можно переопределить метод WndProc следующим образом.
protected override void WndProc(ref Message m)
<
if (m.Msg == Windows7Taskbar.TaskbarButtonCreatedMessage)
<
_jumpListManager = WindowsFormsExtensions.CreateJumpListManager(this);
_jumpListManager.UserRemovedItems += (o, e) =>
<
e.CancelCurrentOperation = false;
>;
// add items
_jumpListManager.Refresh();
>
base.WndProc(ref m);
>
Обратите внимание на вызов метода Refresh после создания объекта JumpListManager. Вызов этого метода необходим для обновления позиций в jump list. Также обязательным действием является подписка на событие UserRemovedItems. Оно исполняется когда производится попытка удаления устаревших пунктов из jump list. Давайте теперь попробуем добавить новые позиции в jump list. Для этих целей существуют классы-обертки и нужные методы у объекта JumpListManager.
Самый простой тип позиций в jump list – задачи. Задачей может быть запуск внешнего приложения или нашего приложения с какими-то параметрами. В WLM в виде задач реализовано переключение состояния пользователя. Для создания задачи в jump list используется метод AddUserTask.
_jumpListManager.AddUserTask(new ShellLink
<
Path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), «calc.exe»),
Title = «Calculator»,
Category = «Applications»,
IconLocation = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), «calc.exe»),
IconIndex = 0
>);
Как видим, здесь создается новый объект типа ShellLink, в который передается путь до приложения, заголовок и значок. Я добавил в свое приложение две задачи и получил следующий результат.
Другой вариант заполнения jump list – ссылки на документы, которые были загружены ранее. Для этих целей я создал несколько текстовых файлов с расширением “.myapp” и ассоциировал этот тип файлов со своим приложением. При запуске приложения я проверяю передано ли имя файла в качестве параметра при запуске приложения. Если имя задано, то я считываю этот файл и добавляю его в список ранее загруженных файлов. Для этих целей существует метод AddToRecent.
if (File.Exists(Environment.GetCommandLineArgs().Skip(1).FirstOrDefault() ?? String.Empty) == true)
<
_jumpListManager.AddToRecent(Environment.GetCommandLineArgs().Skip(1).FirstOrDefault() ?? String.Empty);
>
Теперь из Windows Explorer я открою эти файлы. При этом будет запускаться мое демонстрационное приложение (если мы правильно ассоциировали данный тип файлов с приложением). При этом при вызове jump list я увижу, что в категории “Recent” появились ссылки на ранее открытые файлы.
Я могу закрепить те позиции, с которыми я работаю чаще всего. В этом случае я смогу быстро открывать нужные мне документы через jump list.
Другой способ размещения позиций в jump list – создание ссылок на постоянные документы/программы. В этом случае мы также можем сгруппировать эти позиции по категориям. Для этих целей существует метод AddCustomDestination.
_jumpListManager.AddCustomDestination(new ShellLink
<
Path = @»about.txt»,
Title = «About»,
Category = «My application»,
IconLocation = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), «shell32.dll»),
IconIndex = 11
>);
Я добавил несколько таких ссылок в jump list и получил следующий результат.
На этом рисунке видно, что появились две дополнительные группы со ссылками внутри.
Замечательной особенностью jump list является то, что его содержимое также доступно в меню “Пуск”. Так, например, если мы активно пользуемся этой функциональностью, то это можно использоваться и из стартового меню.
Таким образом мы можем использовать дополнительную функциональность, которую нам предоставляет панель задач Windows 7 для обеспечения максимально комфортной работы пользователя.
На этом я завершаю серию статей, посвященных программированию панели задач для Windows 7. Надеюсь эта информация окажется полезной для вас и ваших приложений. Хочу особенно отметить, что реализация возможностей панели задач Windows 7 для ваших приложений не потребует много усилий, но результат не заставит себя долго ждать – общаться с вашим приложением будет гораздо приятнее и удобнее.
Успехов вам в построении ваших приложений для Windows7!