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?
Haha 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 , 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
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.