Eksport i import rejestru Windows 11

Eksport i import rejestru Windows 11
Wykonałem eksport rejestru.
Zainstalowałem pewną rozbudowaną aplikację - nie działała.
Odinstalowałem tę aplikację.
Próbowałem z uprawnieniami administratora zaimportować wcześniej eksportowany plik rejestru niestety bez powodzenia.
Dlaczego?
Po co w takim razie te funkcje import i eksport rejestru? :face_with_hand_over_mouth:

Haha :smiley: To ciekawe pytanie!

Import całego Rejestru nie będzie już działać, bo zbyt wiele elementów systemu jest zapiętych na
Rejestr podczas pracy. Import pojedyńczych gałęzi Rejestru może się udać i jest stosowany regularnie przez niektóre instalatory/aktualizatory (przez REG.EXE i pliki *.reg).

Koncepcja importu całego Rejestru pochodzi z czasów Windows 95, gdzie Rejestr miał jakieś 5 megabajtów (bez IE i WMI), a system nie miał pracujących w tle usług trzymających otwarte klucze CLSID (na przykład). Już Windows Millennium, który wprowadził Przywracanie Systemu, robił kopię Rejestru swoim dedykowanym robaczkiem, a nie dokonując pełnego eksportu.

Wreszcie, Windows NT widzi Rejestr jako obiekt w swojej przestrzeni nazw, co oznacza, że gałęzie Rejestru to securable object. I istotnie, na gałęzie i klucze da się nałożyć ACL (przez SDDL, zupełnie jak na plik - niespodzianka!), o czym wielu nie wie. Czasem te ustawienia są potrzebne do poprawnego działania aplikacji. A ich już import/export do REG nie zachowuje :slight_smile: , co może mieć zabawne efekty.

Wzorcowo napisana aplikacja ma umieć po sobie sprzątać w sposób który sprawia, że zaglądanie do Rejestru jest zbędne. Backup ustawień także powinien być obsługiwany w dedykowany sposób, a nie poprzez prucie gałęzi do pliku. Nie wspominając o tym, że większość aplikacji pisze po Rejestrze w znacznie większej liczbie miejsc niż sugeruje intuicja.

Krótko mówiąc - it’s not 1996 anymore, import Rejestru to słaby pomysł, ale funkcja ta nigdy nie zniknie ze względu na bebechy + zgodność.

Dziękuję za przyjście na mój TED talk, pamiętajcie o subskrypcji jeżeli chcecie poznać więcej przepisów kulinarnych

W Windows mechanizm instalacji klasycznych aplikacji jest masakryczny.
Instalator praktycznie może narobić bajzlu w systemie plików, rejestrze i po sobie nie posprzątać.
Z ACL w rejestrze po imporcie z pliku „*.reg” wiedziałem, że jest kłopot, ale nie wiedziałem, że dla istniejących kluczy/wpisów w rejestrze ze zmienionymi wartościami stanowi to problem.

W sumie @wielkipiec to ciekawy temat do poruszenia, szczególnie dla takich wynalazków jak „hive object”, które można załadować z pliku „NTUSER.dat” i mamy nowe drzewko w HKCU, i to na dodatek ładowane przy logowaniu do systemu. Malware np. z rodziny KOVTER nie stroni od tego mechanizmu, aby się ukryć:
KOVTER Malware Analysis - Fileless Persistence in Registry - YouTube

Pod Linuxem każda paczka ma „.MTREE” lub jego odpowiednik z wylistowanymi wszystkimi plikami jakie trafiają do systemu plików, prawami dostępu, sumami kontrolnymi i przy odinstalowaniu to, co jest tworzone przy instalacji jest usuwane. Wyjątek stanowi konfiguracja, która zostaje w katalogu użytkownika ~/.xxxxx lub w ~/.config. (jednak łatwo odszukać, bo nazwy są schematyczne)
Może mniej przemyślany jest mechanizm „HOOKS” w pliku „.INSTALL”, zawierający sekcje:
post_install() { ... }
post_upgrade() { ... }
pre_remove() { ... }
(za duża dowolność)

Zapewniam, że RPM potrafi doprowadzić do takiego samego efektu :smiley:

hive object to po prostu gałąź rejestru.
np. przeniosłeś dysk z systemem Windows 7 zainstalowanym w trybie IDE do nowej maszynki która obsługuje wyłącznie AHCI (i NVMe), wiadomo że skończy się to BSODem podczas ładowania systemu.

Chyba że…
Skorzystasz z narzędzi naprawy systemu, uruchomisz regedit, podłączysz się do istniejącej na dysku gałęzi rejestru i włączysz ładowanie sterownika AHCI.