To jest polecenie virt-win-reg, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
virt-win-reg — Eksportuj i łącz wpisy rejestru systemu Windows od gościa systemu Windows
STRESZCZENIE
nazwa domeny virt-win-reg „HKLM\Ścieżka\Do\Podklucza”
nazwa domeny virt-win-reg Nazwa „HKLM\Ścieżka\Do\Podklucza”.
nazwa domeny virt-win-reg „HKLM\Ścieżka\Do\Podklucza” @
virt-win-reg --merge nazwa domeny [input.reg ...]
virt-win-reg [--options] dysk.img ... # zamiast nazwadomeny
OSTRZEŻENIE
Musisz nie użyj „virt-win-reg” z --łączyć opcja na aktywnych maszynach wirtualnych. Jeśli ty
zrób to, ty będzie uzyskać nieodwracalne uszkodzenie dysku w maszynie wirtualnej. „virt-win-reg” próbuje
powstrzymuje Cię przed zrobieniem tego, ale nie wychwytuje wszystkich przypadków.
Modyfikowanie rejestru systemu Windows jest z natury ryzykowną operacją. Format jest
celowo niejasne i nieudokumentowane, a zmiany w Rejestrze mogą opuścić system
nie da się uruchomić. Dlatego podczas korzystania z --łączyć opcję, upewnij się, że masz niezawodną kopię zapasową
pierwszy.
OPIS
Ten program może eksportować i łączyć wpisy rejestru systemu Windows od gościa systemu Windows.
Pierwszym parametrem jest nazwa gościa libvirt lub surowy obraz dysku gościa Windows.
If --łączyć is nie określony, wybrany klucz rejestru zostanie wyświetlony/wyeksportowany
(rekurencyjnie). Na przykład:
$ virt-win-reg Windows7 „HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft”
Możesz także wyświetlić pojedyncze wartości z kluczy rejestru, na przykład:
$ cvkey='HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
$ virt-win-reg Windows7 $cvkey Nazwa produktu
Przedsiębiorstwo 7 Okna
Wraz z --łączyć, możesz scalić tekstowy plik regedit z rejestrem systemu Windows:
$ virt-win-reg --scal plik zmian w systemie Windows7
UWAGA
Ten program jest przeznaczony wyłącznie do prostego dostępu do rejestru. Jeśli chcesz to zrobić
skomplikowane rzeczy z rejestrem, sugerujemy pobranie plików gałęzi rejestru z
gość używa libguestfs(3) lub gość(1) i uzyskać do nich dostęp lokalnie, np. za pomocą ul(3)
hivexsh(1) lub hivexregedit(1).
OPCJE
--help
Wyświetl krótką pomoc.
--wersja
Wyświetl numer wersji i wyjdź.
--odpluskwić
Włącz komunikaty debugowania.
-c URI
--łączyć URI
Jeśli używasz libvirt, połącz się z podanym URI. Jeśli zostanie pominięty, łączymy się z
domyślny hiperwizor libvirt.
Jeśli określisz urządzenia blokowe dla gości bezpośrednio, libvirt nie będzie w ogóle używany.
--format surowy
Określ format obrazów dysków podany w wierszu poleceń. Jeśli to zostanie pominięte, to
format jest automatycznie wykrywany na podstawie zawartości obrazu dysku.
Jeśli obrazy dysków są wymagane od libvirt, ten program pyta o to libvirt
Informacja. W takim przypadku wartość parametru format jest ignorowana.
Jeśli pracujesz z niezaufanymi obrazami dysków gościa w surowym formacie, upewnij się, że format jest
jest zawsze określony.
--łączyć
W trybie scalania powoduje to połączenie tekstowego pliku regedit z rejestrem systemu Windows
maszyna wirtualna. Jeśli ta flaga jest nie biorąc pod uwagę następnie wyświetlanie lub eksport virt-win-reg
Zamiast tego wpisy do rejestru.
Należy pamiętać, że --łączyć is niezabezpieczonym do użycia na działających maszynach wirtualnych i spowoduje utworzenie dysku
korupcja. Jednak eksport (bez tej flagi) jest zawsze bezpieczny.
--kodowanie UTF-16LE|ASCII
Podczas scalania (tylko) może być konieczne określenie kodowania ciągów, które mają być używane
plik ula. Jest to szczegółowo wyjaśnione w „KODOWANIE STRINGÓW” w
Wygrana::Hivex::regedit(3).
Domyślnie używany jest UTF-16LE, który powinien działać z najnowszymi wersjami systemu Windows.
--niebezpieczne-drukowalne-stringi
Podczas eksportowania (tylko) załóż, że ciągi są w formacie UTF-16LE i zamiast tego drukuj je jako ciągi
sekwencji szesnastkowych. Usuń końcowy zerowy punkt kodowy z łańcuchów, jeśli jest obecny.
Jest to niebezpieczne i nie zapewnia wierności ciągów znaków w oryginalnym Rejestrze
z różnych powodów:
· Zakłada, że oryginalne kodowanie to UTF-16LE. Ciągi ASCII i ciągi w innych
kodowanie zostanie uszkodzone przez tę transformację.
· Zakłada, że wszystko, co ma typ 1 lub 2, jest tak naprawdę łańcuchem znaków i tyle
wszystko inne nie jest ciągiem znaków, ale pole typu w prawdziwych rejestrach nim nie jest
wiarygodne.
· Utrata informacji o tym, czy po ciągu znaków w
Rejestracja czy nie.
Wszystko to dzieje się dlatego, że sam Rejestr nie zawiera żadnych informacji o tym, jak ciągi znaków
są kodowane (patrz „KODOWANIE CIĄGÓW” w Wygrana::Hivex::regedit(3)).
Tej opcji należy używać wyłącznie do szybkiego hakowania i debugowania rejestru
zawartość i nigdy użyj go, jeśli dane wyjściowe mają zostać przekazane do innego programu lub
przechowywane w innym Rejestrze.
UTRZYMANY SYSTEMY
Program obecnie obsługuje gości pochodzących z systemu Windows NT, począwszy od systemu Windows XP
przynajmniej do systemu Windows 8.
Obsługiwane są następujące klucze rejestru:
„HKEY_LOCAL_MACHINE\SAM”
„HKEY_LOCAL_MACHINE\BEZPIECZEŃSTWO”
„HKEY_LOCAL_MACHINE\SOFTWARE”
„HKEY_LOCAL_MACHINE\SYSTEM”
„HKEY_USERS\.DEFAULT”
„HKEY_USERS\identyfikator SID”
gdzie SID to identyfikator SID użytkownika systemu Windows (np. „S-1-5-18”).
„HKEY_USERS\nazwa użytkownika"
gdzie nazwa użytkownika to lokalna nazwa użytkownika (jest to rozszerzenie libguestfs).
Możesz użyć „HKLM” jako skrótu dla „HKEY_LOCAL_MACHINE” i „HKU” dla „HKEY_USERS”.
Klucze dosłowne „HKEY_USERS\$SID” i „HKEY_CURRENT_USER” nie są obsługiwane (nie ma
"aktualny użytkownik").
WINDOWS 8
„Szybkie uruchamianie” systemu Windows 8 może uniemożliwić virt-win-reg edytowanie rejestru.
Zobacz „HIBERNACJA WINDOWS I SZYBKIE URUCHOMIENIE WINDOWS 8” w goście(3).
KODOWANIE
„virt-win-reg” oczekuje, że pliki regedit zostały już ponownie zakodowane lokalnie
kodowanie. Zwykle na hostach z Linuksem oznacza to UTF-8 z zakończeniami linii w stylu uniksowym. Od
Pliki regedit systemu Windows są często w formacie UTF-16LE z zakończeniami linii w stylu systemu Windows, których możesz potrzebować
aby ponownie zakodować cały plik przed lub po przetworzeniu.
Aby ponownie zakodować plik z formatu Windows do systemu Linux (przed przetworzeniem go w formacie --łączyć
opcja), zrobiłbyś coś takiego:
iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg
Aby pójść w przeciwnym kierunku, po eksporcie i przed wysłaniem pliku do systemu Windows
użytkowniku, zrób coś takiego:
unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg
Aby uzyskać więcej informacji na temat kodowania, zobacz Wygrana::Hivex::regedit(3).
Jeśli nie masz pewności co do bieżącego kodowania, użyj filet(1) polecenie. Najnowsze wersje
Windows regedit.exe tworzy plik UTF-16LE z zakończeniami linii w stylu Windows (CRLF), na przykład
to:
$ plik software.reg
software.reg: tekst Little-endian UTF-16 Unicode, z bardzo długimi liniami,
z terminatorami linii CRLF
Ten plik wymagałby konwersji, zanim było to możliwe --łączyć to.
CurrentControlSet itd.
Klucze rejestru, takie jak „CurrentControlSet”, tak naprawdę nie istnieją w rejestrze systemu Windows w
poziomie pliku Hive i dlatego nie można ich modyfikować.
„CurrentControlSet” jest zwykle aliasem „ControlSet001”. W pewnych okolicznościach to
może odnosić się do innego zestawu kontrolnego. Sposobem na sprawdzenie jest spojrzenie na
Klucz „HKLM\SYSTEM\Select”:
# virt-win-reg WindowsGuest 'HKLM\SYSTEM\Wybierz'
[HKEY_LOCAL_MACHINE\SYSTEM\Wybierz]
"Bieżący"=dsłowo:00000001
"Domyślne"=dword:00000001
"Niepowodzenie"=dword:00000000
"Ostatni znany dobry"=dword:00000002
„Bieżący” to ten, który system Windows wybierze podczas uruchamiania.
Podobnie, inne klucze „Current…” w ścieżce mogą wymagać wymiany.
USUWANIE REJESTR KLUCZE ROLNICZE WARTOŚCI
Aby usunąć cały klucz rejestru, użyj składni:
[-HKEY_LOCAL_MACHINE\Foo]
Aby usunąć pojedynczą wartość w kluczu, użyj składni:
[HKEY_LOCAL_MACHINE\Foo]
„Wartość”=-
WINDOWS PORADY
Pamiętaj, że niektóre z tych wskazówek modyfikują obraz dysku gościa. Gość musi być wyłączony,
w przeciwnym razie spowoduje to uszkodzenie dysku.
BIEGANIE A SERII SCRIPT KIEDY A USER DZIENNIKI IN
Przygotuj skrypt wsadowy DOS, VBScript lub plik wykonywalny. Prześlij to za pomocą gość(1). Do
w tym przykładzie skrypt nazywa się „test.bat” i jest przesyłany do „C:”:
Guestfish -i -d WindowsGuest przesyła plik test.bat /test.bat
Przygotuj plik regedit zawierający zmianę w rejestrze:
kot > test.reg <<'EOF'
[HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce]
"Test"="c:\\test.bat"
EOF
W tym przykładzie użyliśmy klawisza „RunOnce”, co oznacza, że skrypt będzie działał precyzyjnie
raz przy logowaniu pierwszego użytkownika. Jeśli chcesz, żeby uruchamiał się przy każdym logowaniu użytkownika,
zamień „RunOnce” na „Uruchom”.
Teraz zaktualizuj rejestr:
virt-win-reg --merge WindowsGuest test.reg
INSTALACJA A SERWIS
W tej sekcji założono, że znasz usługi systemu Windows i albo masz program
który obsługuje bezpośrednio protokół kontroli usług systemu Windows lub chcesz uruchomić dowolny program
używając opakowania usług, takiego jak SrvAny lub darmowego RHSrvAny.
Najpierw prześlij program i opcjonalnie opakowanie usługi. W tym wypadku próba
program nazywa się „test.exe” i używamy opakowania RHSrvAny:
gość-i -d Gość Windows <
prześlij plik rhsrvany.exe /rhsrvany.exe
wgraj plik test.exe /test.exe
EOF
Przygotuj plik regedit zawierający zmiany w rejestrze. W tym przykładzie pierwszy
konieczna jest zmiana rejestru dla samej usługi lub opakowania usługi (jeśli jest używane). The
druga zmiana rejestru jest potrzebna tylko dlatego, że używam opakowania usługi RHSrvAny.
kot > service.reg <<'EOF'
[HKLM\SYSTEM\ControlSet001\services\RHSrvAny]
„Typ” = dword: 00000010
„Start”=dword:00000002
„ErrorControl” = dword: 00000001
"ImagePath"="c:\\rhsrvany.exe"
"DisplayName"="RHSrvAny"
"NazwaObiektu"="Usługa sieciowa"
[HKLM\SYSTEM\ControlSet001\services\RHSrvAny\Parameters]
"Wiersz poleceń"="c:\\test.exe"
"PWD"="c:\\Temp"
EOF
Uwagi:
· Informacje na temat korzystania z „ControlSet001” znajdują się w powyższej sekcji tej strony podręcznika. Być może będziesz musiał
dostosuj to zgodnie z zestawem sterowania używanym przez gościa.
· „ObjectName” kontroluje uprawnienia, jakie będzie miała usługa. Alternatywą jest
"ObjectName"="LocalSystem", które byłoby najbardziej uprzywilejowanym kontem.
· Znaczenie magicznych liczb można znaleźć w tym artykule bazy wiedzy Microsoft:
http://support.microsoft.com/kb/103000.
Zaktualizuj rejestr:
virt-win-reg --scal plik usługi WindowsGuest.reg
SHELL CYTOWANIE
Zachowaj ostrożność podczas przekazywania parametrów zawierających znak „\” (ukośnik odwrotny) w powłoce. Zwykle ty
będzie musiał użyć „pojedynczych cudzysłowów” lub podwójnych ukośników odwrotnych (ale nie obu), aby je chronić
muszla.
W ścieżkach i nazwach wartości wielkość liter nie jest uwzględniana.
Użyj virt-win-reg online, korzystając z usług onworks.net