Znalezienie klucza Bluetooth w systemie Windows 7, aby podwójnie sparować urządzenie na komputerze z podwójnym uruchomieniem

12

Jak wykopać klucz połączenia Bluetooth dla sparowanego urządzenia w systemie Windows 7? Czy to coś zależy od stosu Bluetooth, którego używam (Toshiba), czy jest jakieś ogólne miejsce do przechowywania ich w systemie Windows 7?

Uwaga: nie mówię o sześciocyfrowym kodzie zwykle wpisywanym przez użytkownika podczas parowania - jest to bezwartościowe, ponieważ jest odrzucane po procesie parowania. Mam na myśli 128-bitowy klucz łącza, który urządzenia wymieniają podczas parowania, a następnie używają do szyfrowania całego ruchu Bluetooth.

Tło:

Mam dualboot Windows 7 / Ubuntu na swoim laptopie i chciałbym, aby mój telefon był sparowany z obydwoma systemami operacyjnymi. Ponieważ komputer z podwójnym uruchomieniem ma tylko jeden adapter Bluetooth, a zatem tylko jeden adres Bluetooth, nie mogę wykonać dwóch parowań z telefonem, ponieważ podczas drugiego parowania (Windows) telefon po prostu zastępuje poprzednie parowanie (Linux) z tym samym adresem Bluetooth.

Wątek na forach Ubuntu wskazał mi, co muszę zrobić - najpierw sparuj w systemie Linux, a następnie w systemie Windows, a następnie zastąp klucz linku po stronie systemu Linux wynegocjowanym systemem Windows.

Znajdę Linux boczny klawisz powiązania z /var/lib/Bluetooth/[BD_ADDR]/linkkeys- nie ma problemu.

Jednak po stronie systemu Windows nie mogę znaleźć klucza. Zgodnie z tym stanowiskiem forum, na stronie systemu Windows klucz powinien być SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]jednak jednocześnie, że klucz rejestru nie istnieje, to nie ma podklucze. (Podobna ścieżka rejestru w ControlSet001 również nie miała żadnych podkluczy.)

Jedną rzeczą, którą mi polecono, jest przechwytywanie wszystkich zdarzeń podczas parowania z Sysinternals Process Monitor . Zrobiłem to, ale nie byłem w stanie znaleźć żadnych użytecznych informacji z przechwyconych zdarzeń, nawet poprzez eksport danych do ogromnego pliku XML i grepowanie go za pomocą BD_ADDR (z dwukropkami lub bez).

Jak więc znaleźć klucz linku do sparowanego urządzenia w systemie Windows 7?

Niektóre informacje referencyjne: Wikipedia: Bluetooth , Bezpieczeństwo teraz: Bezpieczeństwo Bluetooth

Ilari Kajaste
źródło

Odpowiedzi:

7

Klucz rejestru należy użyć to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys.

Na moim komputerze odmówiono mi dostępu do tego klucza. Musiałem zmienić właściciela na Administratora, zanim zobaczyłem podklucz.

Jeśli używasz stosu Toshiba Bluetooth, jego klucze są przechowywane gdzie indziej. Można albo znaleźć, albo po prostu wrócić do stosu Microsoft. W późniejszym przypadku klucze Bluetooth zostaną zapisane w rejestrze, jak wyżej.

Ten gwint opisuje proces:

  1. Odinstaluj Toshiba Bluetooth (Dodaj / Usuń programy),
  2. Restart,
  3. Windows powinien teraz wykryć „nowe” urządzenie Bluetooth i zainstalować dla niego własne sterowniki.

Przestroga: Najpierw utwórz punkt przywracania systemu i upewnij się, że masz nośnik instalacyjny sterownika Toshiba do powrotu (na wszelki wypadek). Przed wypłakaniem zwycięstwa przetestuj dobrze działanie sparowanego telefonu.

harrymc
źródło
Zmieniłem właściciela na Administratora, co pozwoliło mi uzyskać dostęp do tego klucza, ale niestety nie zawiera on żadnych podkluczy.
Ilari Kajaste
Zrobiłeś to podczas sparowania?
harrymc
Tak, mam i sparowałem telefon (plus dwa inne urządzenia) z Windows. W tym czasie nie byłem podłączony do żadnego z nich - myślę, że to nie miało znaczenia, ponieważ klucz musi być przechowywany w każdym przypadku.
Ilari Kajaste
1
Jestem pewien, że Toshiba nie użyje wpisów rejestru Microsoft. Czy możesz wrócić do stosu Microsoft?
harrymc 10.01.11
1
Wątek ten mówi: 1. Odinstaluj Toshiba Bluetooth (Dodaj / Usuń programy), 2. Uruchom ponownie, 3. Windows powinien teraz wykryć „nowe” urządzenie Bluetooth i zainstalować dla niego własne sterowniki. Najpierw utwórz punkt przywracania systemu i upewnij się, że masz nośnik instalacyjny dla sterownika Toshiba (na wypadek). Jeśli to zadziała, przetestuj dobrze tylko funkcjonalność sparowanego telefonu, którego naprawdę używasz.
harrymc
5

Klucze nie są widoczne dla administratora, powinieneś otworzyć rejestr jako konto systemowe:

Dotyczy to systemu Windows 7 na komputerze ThinkPad z adapterem Thinkpad Bluetooth 4.0, ale może współpracować z innymi systemami Windows

Pobierz PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Rozpakuj go do c: \ portable \ pstools \ open cmd kliknij start, wpisz cmd, naciśnij enter, wewnątrz czarno-białego typu okna:

c:\portable\pstools\psexec -s -i regedit

regedit otwiera się, przejdź do: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

tam znajdziesz adres MAC wszystkich adapterów bluetooth, a pod każdym adapterem znajdują się adresy MAC wszystkich sparowanych urządzeń wraz z ich kluczami łącza.

aby ustalić adres MAC karty:

bluetooth settings> Hardware > ThinkPad Bluetooth 4.0 > Properties > Advanced > Address

obliczyć adres MAC urządzenia (klawiatury / myszy):

Control Panel > Hardware and Sound > Devices and Printers > right click your device > Properties > Bluetooth > Unique Identifier 
Thezeroth
źródło
Od @Cristian: Użyłem metody opisanej przez thezeroth na mojej podwójnej maszynie Xubuntu 15.10 / Windows 8 i działa ona jak urok. Jedyną rzeczą jest to, że na Xubuntu klucza parowania nie było we wspomnianym pliku, ale w pliku o nazwie Info w podfolderze o nazwie od unikalnego identyfikatora myszy (logitech M535). Poza tym idealne rozwiązanie.
fixer1234,
3

Miałem dokładnie ten sam problem, więc znalazłem ten post i chcę teraz podzielić się swoim doświadczeniem. Jeśli masz smartfona z Androidem, zadanie to może być znacznie łatwiejsze, ponieważ parowanie linkkey powinno być obecne na obu urządzeniach.

Najbardziej użytecznym narzędziem jest ADB z Android SDK.

Załóżmy, że telefon ma adres XX ^ 6, a komputer - RR ^ 6

$ adb shell
~ # find|grep linkkeys
~ # ./data/misc/bluetoothd/XX:XX:XX:XX:XX:XX/linkkeys
~ # cat ./data/misc/bluetoothd/XX:XX:XX:XX:XX:XX/linkkeys
YY:YY:YY:YY:YY:YY 393FCA48F0DB57AA4D59F423E4EA60D5 5 -1
~ #

W ten sposób możesz po prostu wybrać klucz z tego pliku i umieścić go w podobnym pliku na komputerze:

pc $ sudo -s
pc # cat /var/lib/bluetooth/YY:YY:YY:YY:YY:YY/linkkeys
XX:XX:XX:XX:XX:XX 393FCA48F0DB57AA4D59F423E4EA60D5 5 0

Ten sposób wydaje się najłatwiejszy, ponieważ Linux i Android zwykle używają tego samego stosu Bluetooth BlueZ.

Jeśli jednak osobiście gardzisz taką techniką, istnieje inny sposób na uzyskanie klucza z rejestru systemu Windows, pod warunkiem, że używane są standardowe sterowniki systemu Windows. Otrzymałem to okno dialogowe z komunikatem bezpieczeństwa, więc użyłem natywnego narzędzia linuksowego „chntpw”, które pozwala zresetować hasło lub edytować plik rejestru systemu Windows. Wymagany plik to „windows \ system32 \ config \ SYSTEM”.

Oto jest:

$ chntpw -e SYSTEM
blah-blah-blah
> cd ControlSet001\services\BTHPORT\Parameters\Keys\yyyyyyyyyyyy
(...)\BTHPORT\Parameters\Keys\5cac4c10c4f1> ls
Node has 0 subkeys and 1 values
  size     type            value name             [value if type DWORD]
     16  REG_BINARY        <xxxxxxxxxxxx>

(...)\BTHPORT\Parameters\Keys\5cac4c10c4f1> hex xxxxxxxxxxxx
Value <xxxxxxxxxxxx> of type REG_BINARY, data length 16 [0x10]
:00000  39 3F CA 48 F0 DB 57 AA 4D 59 F4 23 E4 EA 60 D5 9?.H..W.MY.#..`.

Jak widać, są to dokładnie te same liczby, co w plikach powyżej. Mam nadzieję, że pomoże to przyszłym pokoleniom.

Opiekun ducha
źródło
Czy Twoje urządzenie jest zrootowane / ma zainstalowany BusyBox? Komenda „znajdź” nie powiodła się.
0

Dla porównania na stosie Microsoft Bluetooth klucze łącza znajdują się w HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeffmiejscu, w którym aabbccddeeff jest adapterem Bluetooth. Ponieważ adapter jest już zainstalowany, ten klucz powinien istnieć.

W ramach tego klucza możesz mieć wiele wartości REG_BINARY, gdzie nazwa wartości to adres MAC sparowanego urządzenia (w tej samej formie - szesnastka, małe litery, bez separatorów), a wartość to klucz łącza (16 bajtów).

Aby odebrać klucze łącza z OS X, wykonaj (w Terminalu OSX) defaults read /private/var/root/Library/Preferences/blued.plist. W LinkKeys powinieneś mieć klucz linku na adres MAC sparowanego urządzenia. Klucze są zakodowane w standardzie base64, więc zrób: echo -n 'aabbcc...==' | base64 -d | hexdump -Ci wpisz ten klucz w rejestrze systemu Windows.

Ilya
źródło
-1

PsExec.exe -s -i regedit / E% cd% \ btkeys_export.txt "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys"

nie komplikuj
źródło
Witamy w Super User! Czy mógłbyś to rozwinąć? Być może edytuj swoją odpowiedź, aby wyjaśnić, co opisujesz i dlaczego wysuwasz tę sugestię. Dzięki!
bertieb