Який найпростіший і найшвидший спосіб порівняти 2 файли реєстру?


36

Я хотів би знайти зміни, внесені в реєстр після встановлення чогось на моєму комп’ютері. Однак я хотів би також знати, що можна зробити легко, як загальну процедуру.

Відповіді:


29

Запустіть інсталятор і перегляньте його за допомогою монітора процесів Sysinternals . Ви можете відфільтрувати дані так, щоб відображалися лише операції, виконані інсталятором. Ви навіть можете відфільтрувати будь-які операції, які ви хочете бачити (RegWrite, RegQueryValue тощо) та зберегти зйомку для подальшого перегляду.

alt текст

Монітор процесів безкоштовний.

Ви також можете використовувати WinDiff . Ви можете зберегти експортовані файли реєстру, а потім порівняти їх:

alt текст

WinDiff є безкоштовним та відкритим кодом.

Ще одне безкоштовне рішення для порівняння реальних експортованих файлів реєстру - RegShot .

RegShot - це невелика утиліта порівняння реєстру, яка дозволяє швидко зробити знімок реєстру, а потім порівняти його з другим - зробленим після внесення змін у систему або встановлення нового програмного продукту . Звіт про зміни може бути складений у текстовому або HTML-форматі і містить перелік усіх модифікацій, які відбулися між знімком1 та знімком2.До того ж, ви також можете вказати папки (із допоміжними файлами), які також слід сканувати на зміни.

alt текст


Чи швидкий RegShot (ці реєстри можуть бути досить великими)
Notitze

Приблизно така ж швидкість, як експорт реєстру, пара секунд. Функція порівняння також займає лише кілька секунд. Це дуже швидко.
Джон Т

Regmon / Procmon не є ідеальним, тому що є занадто багато безладу, яке потрібно фільтрувати вручну. Крім того, Windiff не може обробляти гігантські .regфайли, WinMerge для цього працює краще, і навіть може відрізняти їх краще, ніж Windiff. З цього приводу я зазвичай використовую цей метод для швидкого та брудного аналізу (навіть якщо це, як правило, більше роботи).
Synetech

3
RegShot, здається, не приносить користі, якщо у вас уже є знімки реєстру та вам потрібно їх порівняти

7

якщо у вас є Total Commander , це досить легко:

  1. експортуйте реєстр до встановлення та після встановлення (збережіть з тим самим ім'ям у різних папках)

  2. відкрийте обидві папки в Total Commander, виділіть файл на одній стороні, перейдіть до Файли > Порівняти за вмістом ... voilá:

введіть тут опис зображення

Total Commander - це безкоштовна програма, спробуйте, перш ніж купувати.


5

Якщо ви хочете порівняти два файли реєстру (які ви експортували вручну в текст), то існує багато додатків для порівняння, таких як WinMerge , WinDiff тощо.

Слово обережності: якщо вулик реєстру великий, експорт може зайняти деякий час, і ще гірше, Віндіфф може більш-менш зависати при спробі читання великих .regфайлів. Замість цього використовуйте WinMerge, оскільки він може обробляти великі файли, відрізняти їх швидше, а результати кращі (іноді Windiff просто помиляється).


Якщо ви хочете порівняти реєстр до та після встановлення, то ви також можете використовувати монітор встановлення. Знову ж, їх багато, але одним з головних є InCtrl5 журналу PC Magazine (можливо, вам доведеться заплатити за його завантаження з їхнього сайту, хоча сама програма безкоштовна, тому існує маса сайтів, які мають її). Вони випустили оновлення під назвою InCtrlX, що, мабуть, краще. Total Uninstall - хороший комерційний. Як правило, мені подобається моя стара копія InCtrl5, але Z-Soft Uninstaller має ту саму функцію і є винятковою (це найкраще з десятка або близько того, що я спробував); плюс, це безкоштовно.


Ще одне рішення - проаналізувати сам інсталятор . Тобто загляньте всередину EXE / MSI / BAT / INF / тощо. файл, щоб переконатися в тому, що саме він робить під час встановлення, включаючи зміни у файли, записи реєстру, служби, драйвери тощо. Таким чином ви зможете взагалі уникнути всього процесу виявлення. Я вважаю, що 7Zip - це найкращий спосіб зазирнути до більшості виконуваних програм (таких як NSIS), тому що ви можете бачити файли та сценарії тощо. Для інсталяторів MSI я пропоную або власний ORCA Microsoft, або InstEd . Хорошим комерційним інструментом для MSI є AdvancedInstaller


WinMerge займає близько 30 секунд для цілого порівняння реєстру Windows7, непогано.
Ніколя Рауль

@NicolasRaoul, окрім потужності процесора системи, порівняння також сильно залежать від суми різниці. Я порівняв текстові файли 100 Мб +, які лише за кілька секунд трохи відрізнялися з файлами WinDiff та 100 КБ, які за години з WinMerge були дуже різними (я зазвичай закінчую процес забиття задовго до цього).
Synetech

2

Я використовую WinMerge, але я створив додаток для перетворення файлів патчів WinMerge у формат .reg. Він відмінно підходить для програм, що не належать до $, але оскільки WinMerge не підтримує HK у створених файлах патчів, в основному це стосується лише встановлення / видалення. У мене був один додаток, зокрема, що я не міг встановити на x64 Win7, але я знав, що це працює. Я експортував весь reg у файл1, встановив, експортував весь змінений регістр у файл2. Зробіть виправлення порівняння з WinMerge, потім застосував мій додаток, щоб очистити весь непотрібний вміст.

WinPuurg


0

Я хотів порівняти фактичні вулики та не експортовані файли та мати можливість легко копіювати речі між ними.

Я намагався:

  1. Менеджер реєстру реєстраторів Він має вбудовану функцію порівняння, яка буде порівнювати завантажені вами вулики. Однак я не зміг знайти простий спосіб скопіювати відсутні / змінені елементи з одного вулика в інший і не отримав жодної відповіді від служби підтримки клієнтів, тому я відмовився намагатися.
  2. Крім порівняння Професійна версія також порівняє вулики, які ви завантажили. (Вам потрібно буде завантажити їх regedit чи іншим інструментом.) Після того, як ви зробите, що засіб порівняння легко дозволяє копіювати відсутні / змінені елементи з одного вулика в інший (і коли ви виділили елемент, знаєте, що копія кнопка повинна скопіювати його в інший вулик). Він може копіювати цілі підкреслення або окремі ключі, але ви повинні вибрати піддерево (або ключ), яке потрібно скопіювати. Були деякі ключі, які мені не дозволяли копіювати. Я припускаю, що вони були заблоковані деяким механізмом захисту самої системи реєстру.

Отже, ось кроки, які я детально використав. Припустимо, що я хочу скопіювати елементи з реєстру на розділ D (вулик ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ) до розділу реєстру E (вулик ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ) під час запуску з розділу C.

  1. запустити regedit (завантажений як розділ C)
  2. виберіть HKEY_LOCAL_MACHINE
  3. у меню "Файл" витягніть "ЗАВАНТАЖИТИ"
  4. перейдіть до D: \ WINDOWS \ SYSTEM32 \ CONFIG \ SOFTWARE (завантажте цей вулик) назвіть його d-software
  5. знову потягніть ЗАВАНТАЖИТИСЯ.
  6. перейдіть до E: \ WINDOWS \ SYSTEM32 \ CONFIG \ SOFTWARE (завантажте цей вулик) назвіть його електронним програмним забезпеченням
  7. бігти за порівняння
  8. Спустіть НОВУ СЕСІЮ / РЕЄСТРУВАННЯ
  9. у лівій панелі адресного поля введіть reg: \ HKEY_LOCAL_MACHINE \ d-software
  10. в адресному полі правої панелі введіть reg: \ HKEY_LOCAL_MACHINE \ e-software
  11. зачекайте, поки вона забарвить елементи нижче (це фактичне порівняння)
  12. виберіть синій (відсутній) або червоний (різний) елемент зліва
  13. якщо ви хочете скопіювати його, скористайтеся стрілкою на панелі інструментів, яка скопіює його в правий бік
  14. якщо ви вибрали предмет з правого боку, він скопіює його в ліву частину.
  15. по завершенні закрийте обидва додатки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.