Монітор реєстру (Registry Monitor)

Вільно розповсюджувана на www.sysinternals.com утиліта Registry Monitor надає можливість зібрати інформацію про звернення до реєстру Windows. Утиліта RegMon записує в log-файл абсолютно всі звернення до реєстру, включаючи звернення самої системи і всього програмного забезпечення, яке працює на момент збору даних. Програма має настроюваний фільтр, за допомогою якого можна зібрати інформацію про звернення до реєстру тільки однієї чи декількох програм, або виключити з спостереження певні програми.


Інтерфейс утиліти RegMon досить простий і буде детально розглянуто в цій статті. Будуть надані рекомендації по способах фільтрації зібраної інформації, щодо вирішення конкретних питань, пов'язаних з визначенням конкретних розділів реєстру, до яких звертається програма.


Інтерфейс RegMon


Зовнішній вигляд Registry Monitor показаний на малюнку 1.




Інтерфейс Registry Monitor

  • File :

    • Open – відкриває раніше зібраний і збережений лог-файл для аналізу в Registry Monitor-е. Будьте уважні, відкриваючи лог, поточні зібрані дані будуть втрачені, тому, якщо вони потрібні, то збережете попередньо зібрані дані у файл.
    • Save – зберігає зібрані дані у файл.
    • Save as … – Зберігає зібрані дані у файл.
    • Process Properties … – Властивості процесу. Якщо у вікні, де відображені зібрані дані, виділити будь-який рядок, то даний пункт меню стане доступний і при його виборі відкриється вікно з інформацією про той процес, звернення якого до реєстру виділено. Приклад вікна з інформацією про процес показаний нижче.

      Інформація про процес
    • Capture Events – перемикач, який включає або призупиняє збір відомостей про звернення до реєстру.
    • Exit – вихід.

  • Edit :

    • Copy – копіює в буфер обміну виділений рядок.
    • Delete – видаляє обрану рядок.
    • Include Process – швидка настроках фільтра. Після застосування цього пункту меню будуть відслідковуватися звернення до реєстру тільки зазначеного процесу. Щоб скасувати цю настройку виправте фільтр (про що буде розказано нижче).
    • Exclude Process – виключити процес. Звернення даного процесу більш не потраплятимуть в зібрані дані і він, таким чином, буде виключений з моніторингу.
    • Include Patch – будуть збиратися дані тільки при зверненні до виділеного в момент застосування команди меню розділу реєстру і його підрозділів. Для скасування відстеження тільки певного розділу реєстру виправте фільтр, про що більш докладно буде розказано далі.
    • Find … – Пошук рядка в зібраних даних у вікні Registry Monitor.
    • Regedit Jump … – Якщо виділити у вікні Registry Monitor рядок і вибрати цей пункт меню, то буде запущений редактор реєстру RegEdit і в ньому буде автоматично розгорнуто дерево розділів того розділу, ім'я якого знаходиться у виділеному рядку Registry Monitor-а. Подвійний клік мишею по будь-якому рядку зібраних даних у RegMon виконує таку ж дію, тобто відкриває RegEdit відразу на тому ключі, до якого було зафіксовано звернення процесу.
    • Clear Display – очищає екран від зібраних даних. Будьте обережні, якщо дані представляють інтерес, то не забудьте попередньо зберегти їх у файл.

  • Options :

    • Font … – Відкриває діалогове вікно вибору шрифту, яким буде відображатися зібрана інформація у вікні Registry Monitor.
    • Highlight Colors … – Відкриває діалогове вікно вибору кольору для рядків і тексту, які необхідно підсвічувати у зібраних даних. Більш докладно про підсвічування рядків дивіться нижче, в налаштуваннях фільтра.
    • Filter / Highlight … – Відкриває вікно налаштування фільтру і підсвічування рядків. Приклад цього вікна показаний нижче.

      ФільтрВ даному прикладі збирається інформація про звернення до реєстру всіх процесів, за винятком IEXPLORE.EXE і Explorer.EXE, причому, всі звернення до реєстру процесу csrss.exe підсвічуються у вікні іншим кольором. Галки внизу вікна дозволяють збирати тільки певні події, як то:

      • Log Opens – включає або відключає збір інформації про процеси, які відкривають ключі реєстру.
      • Log Reads – включає або відключає збір інформації про процеси, які читають ключі реєстру.
      • Log Writes – включає або відключає збір інформації про процеси, які пишуть в ключі реєстру.
      • Log Successes – включає або відключає збір інформації про процеси, будь-яке звернення яких до реєстру було вдало (тобто, наприклад, процес зміг успішно вважати або записати значення).
      • Log Errors – включає або відключає збір інформації про процеси, будь-яке звернення яких до реєстру закінчилося помилкою (наприклад, процес не знайшов певний ключ реєстру).
      У цьому ж вікні кнопка Defaults скидає всі зроблені настройки фільтра в значення, при яких будуть збиратися всі дані.
    • History Depth … – Дозволяє настроїти кількість рядків, які будуть запам'ятовуватися Registry Monitor-му. Саме таку кількість рядків потім буде збережено в лог-файлі роботи RegMon-а. Для зберігання всіх рядків використовується значення 0.
    • Always On Top – включення цього параметра дозволить завжди бачити вікно RegMon-а вище всіх вікон, що досить зручно при зборі даних від декількох додатків, між якими необхідно перемикатися.
    • Auto Scroll – цей параметр дозволяє включити прокручування вікна із зібраними даними. Останнє звернення до реєстру завжди буде видно на екрані.
    • Clock Time – якщо цей параметр вимкнено, то в лог буде записано час звернення процесу до реєстру щодо часу запуску Registry Monitor. Якщо включений, то буде записано системний час.
    • Show Milliseconds – якщо попередній параметр включений, тобто в лог записується системний час, то має сенс включити і цей параметр. У цьому випадку, до системного часу будуть записуватися і мілісекунди, що підвищить точність визначення часу звернення процесу до реєстру.
    • Log Boot – вибір цього параметра включає моніторинг звернення до реєстру під час завантаження системи. Тобто після його вибору треба перезавантажитися і Registry Monitor запише в лог-файл з ім'ям REGMON.LOG, що знаходиться в папці, де встановлена Windows всі звернення до реєстру протягом завантаження системи. Такий лог-файл матиме розмір у кілька десятків мегабайт. Запис звернень до реєстру буде продовжуватися до тих пір, поки не буде запущений RegMon або до наступного перезавантаження системи.

    Приклад роботи з RegMon


    RegMon може бути застосований для вирішення практично будь-яких завдань, коли є інтерес дізнатися, куди, до яких ключів реєстру програма звертається в ході своєї роботи. Іноді потрібно з'ясувати, де зберігаються налаштування програми, які ключі використовуються в ході її роботи. Це буває корисно для вирішення проблем при налаштування безпеки, при налаштуванні експорту ключів реєстру для створення резервних копій налаштування програмного забезпечення, для внесення змін в налаштування програми, які не задокументовані виробником, і доступ до яких є тільки через реєстр і т.д.


    Для прикладу я вирішив з'ясувати, де Outlook Express зберігає правила для сортування повідомлень. Це дозволить налаштувати автоматичний експорт потрібної гілки реєстру і завжди мати резервну копію правил сортування. Наявність такої копії дозволить відновити правила сортування за пару хвилин, що при великій кількості правил заощадить дуже багато часу.


    Отже, запустимо RegMon. Налаштовувати поки фільтр не будемо. Включимо опцію Always On Top, щоб вікно RegMon не "тікало" на задній план. При запущеному RegMon-е відкриємо Outlook Express. Відразу після закінчення його завантаження натиснемо кнопку Capture або виберемо пункт меню File – Capture Events, щоб зупинити збір даних. Приклад вікна Registry Monitor після запуску Outlook Express із зупиненим процесом збору інформації показаний нижче.




    Попередній збір

    У даному випадку цікаві звернення до реєстру лише процесу msimn.exe, тому клацнемо на ньому правою кнопкою і виберемо Include Process, або виберемо в меню Edit – Include Process. На запит про те, хочемо ми застосувати цей фільтр до вже зібраними даними можна відповісти і позитивно і негативно, це не має значення. Тепер потрібно очистити вікно Registry Monitor. Для цього виберіть Edit – Clear Display . Останній штрих у підготовці збору даних – доналагодження фільтра. Для цього виберемо Options – Filter / Highlight. У налаштуванні фільтра, внизу, знімемо всі галки за винятком Log Writes і Log Successes , Налаштувавши, таким чином, відсіювання всіх звернень до реєстру за винятком успішної запису до реєстру значень процесом msimn.exe. Приклад налаштування фільтра показаний нижче.




    Налаштування фільтру

    Після того, як фільтр налаштовано, потрібно створити в Outlook Express правило для пошти. Щоб створити правило в Outlook Express виберіть Сервіс – Правила для повідомлень – Пошта. У вікні, створіть правило. Приклад вже створеного правила показаний на наступному малюнку.




    Правило в Outlook Express

    Після того, як правило налаштовано, натисніть OK у цьому вікні. Ви повернетеся у вікно, показане нижче.




    Правила в Outlook Express

    Тепер перевірте, що в Registry Monitor включено збір даних і вікно очищено від зібраних раніше даних. Після натискання у вікні, показаному на малюнку 4, кнопки OK Outlook Express запише до реєстру створене правило. Натисніть OK. Registry Monitor збере дані про успішну запису до реєстру процесом msimn.exe інформації. Вікно RegMon-а із зібраною інформацією показано на наступному малюнку.




    Інформація зібрана

    Таким чином, ми отримали інформацію про розподіл, в якому Outlook Express зберігає настройки правил. Збереження одного правила зажадало запису 23 значень. Тепер потрібно знайти самий верхній розділ реєстру з тих, імена яких зараз перебувають у стовпці Path Registry Monitor. Підведіть курсор по черзі до кожного значення в стовпці Path і в підказці буде виведений шлях до розділу реєстру. Знайдіть найкоротшу запис. У даному випадку це HKEY_CURRENT_USERIdentities {D7691494-4CF1-4D7F-9A0F-A700B85345C2} SoftwareMicrosoftOutlook Express5.0RulesMail 00. Клацніть у вікні Registry Monitor по запису з найкоротшим шляхом два рази лівою кнопкою миші. Відкриється редактор реєстру, в якому автоматично буде розгорнуто дерево розділів до розділу, за яким був виконаний подвійне клацання. Вікно реєстру показано на наступному малюнку.




    Розділ реєстру

    Таким чином, ми з'ясували де Outlook Express зберігає настройки правил. Тепер при написанні скрипта для щоденного бекапа можна буде включити до нього рядок, яка виконає експорт правил Outlook Express в reg-файл, який потім буде поміщений в резервну копію на сервер або на інший носій.


    Розглянутий приклад не самий складний, він покликаний показати методику роботи з Registry Monitor, зрозумівши яку знайти всі ключі програми в реєстрі стає не такою вже й складною задачею.

  • Схожі статті:


    Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

    Коментарів поки що немає.

    Ваш отзыв

    Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    *

    *