Trovare la chiave di collegamento Bluetooth in Windows 7, per accoppiare un dispositivo sul computer dualboot


12

Come posso scavare la chiave di collegamento Bluetooth per un dispositivo associato in Windows 7? È qualcosa che dipende dallo stack Bluetooth che sto usando (Toshiba) o c'è un posto generico per archiviarli in Windows 7?

Nota: non sto parlando del codice a sei cifre solitamente digitato dall'utente durante l'accoppiamento - che è inutile poiché viene scartato dopo il processo di accoppiamento. Ciò che intendo è la chiave di collegamento a 128 bit che i dispositivi si scambiano durante l'associazione e che in seguito utilizza per crittografare tutto il loro traffico Bluetooth.

Sfondo:

Doppio avvio di Windows 7 / Ubuntu sul mio laptop e vorrei che il mio telefono fosse accoppiato a entrambi i sistemi operativi. Poiché il computer a doppio avvio ha un solo adattatore Bluetooth e quindi un solo indirizzo Bluetooth, non posso fare due accoppiamenti al telefono, poiché sul secondo accoppiamento (Windows) il telefono sostituisce semplicemente l'associazione precedente (Linux) allo stesso indirizzo Bluetooth.

Un thread sui forum di Ubuntu mi ha indicato cosa devo fare: accoppiare prima su Linux, poi su Windows, quindi sostituire la chiave di collegamento sul lato Linux con quella negoziata da Windows.

Posso trovare la chiave di accoppiamento lato Linux da /var/lib/Bluetooth/[BD_ADDR]/linkkeys- nessun problema lì.

Tuttavia, sul lato di Windows non riesco a trovare la chiave. Secondo il post sul forum, sul lato di Windows la chiave deve essere in SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR], ma mentre quella chiave di registro fa esistere, non ha sottochiavi. (E un percorso del Registro di sistema simile in ControlSet001 non aveva nemmeno alcuna sottochiave.)

Una cosa che mi è stato chiesto di fare è catturare tutti gli eventi durante l'associazione con Sysinternals Process Monitor . L'ho fatto, ma non sono stato in grado di trovare alcuna informazione utile dagli eventi acquisiti, nemmeno esportando i dati in un enorme XML e sfruttandoli con i BD_ADDR (con o senza due punti).

Quindi, come posso trovare la chiave di collegamento per un dispositivo associato in Windows 7?

Alcune informazioni di riferimento: Wikipedia: Bluetooth , Sicurezza ora: sicurezza Bluetooth

Risposte:


7

La chiave di registro si dovrebbe usare è:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys.

Sul mio computer, ha rifiutato di farmi accedere a questa chiave. Ho dovuto cambiare il proprietario in amministratori prima di poter vedere la sottochiave.

Se si utilizza lo stack Bluetooth Toshiba, i suoi tasti vengono memorizzati altrove. Si può trovare dove, o semplicemente tornare allo stack di Microsoft. Nel caso successivo, le chiavi Bluetooth verranno archiviate nel registro come sopra.

Questo thread descrive il processo:

  1. Disinstallare Toshiba Bluetooth (Aggiungi / Rimuovi programmi),
  2. Reboot,
  3. Windows dovrebbe ora rilevare il "nuovo" dispositivo Bluetooth e installare i propri driver per esso.

Attenzione: creare prima un punto di ripristino del sistema e assicurarsi di disporre dei supporti di installazione per il driver Toshiba per tornare indietro (per ogni evenienza). Prova bene la funzionalità del telefono associato prima di piangere la vittoria.


Ho cambiato il proprietario in Amministratore, che mi ha permesso di accedere a quella chiave, ma sfortunatamente non contiene sottochiavi.
Ilari Kajaste,

L'hai fatto mentre sei accoppiato?
harrymc,

Sì, ho e ho avuto il telefono (più altri due dispositivi) associato a Windows. Tuttavia, non ero collegato a nessuno di loro in quel momento - immagino che non potrebbe importare poiché la chiave deve essere conservata in ogni caso.
Ilari Kajaste il

1
Sono sicuro che Toshiba non utilizzerà le voci di registro di Microsoft. Puoi tornare allo stack di Microsoft?
Harry

1
Questo thread dice: 1. Disinstallare Toshiba Bluetooth (Aggiungi / Rimuovi programmi), 2. Riavvia, 3. Windows dovrebbe ora rilevare il "nuovo" dispositivo Bluetooth e installare i propri driver per esso. Creare prima un punto di ripristino del sistema e assicurarsi di disporre dei supporti di installazione per il driver Toshiba (nel caso). Se funziona, prova bene solo le funzionalità del telefono associato che usi davvero .
Harry

5

Le chiavi non sono visibili all'amministratore, è necessario aprire il registro come account di sistema:

Questo è per Windows 7 su un ThinkPad con adattatore bluetooth 4.0 thinkpad ma potrebbe funzionare con altri sistemi Windows

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

Decomprimilo in c: \ portable \ pstools \ apri cmd fai clic su start, digita cmd, premi invio, all'interno del tipo di finestra in bianco e nero:

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

regedit si apre, vai a: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

lì troverai l'indirizzo MAC di tutti i tuoi adattatori bluetooth, e sotto ogni adattatore, ci sono tutti gli indirizzi MAC dei dispositivi associati con le loro chiavi di collegamento.

per calcolare l'indirizzo MAC dell'adattatore:

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

per capire l'indirizzo del tuo dispositivo (tastiera / mouse) mac:

Control Panel > Hardware and Sound > Devices and Printers > right click your device > Properties > Bluetooth > Unique Identifier 

Da @Cristian: ho usato il metodo descritto da thezeroth sulla mia macchina dualboot Xubuntu 15.10 / Windows 8 e funziona come un fascino. L'unica cosa è che su Xubuntu la chiave di accoppiamento non era nel file menzionato ma in un file chiamato Info all'interno di una sottocartella chiamata dopo l'identificatore univoco del mouse (un logitech M535). A parte questo, la soluzione perfetta.
fixer1234

3

Ho avuto esattamente lo stesso problema, quindi ho trovato questo post e ora voglio condividere la mia esperienza. Se si dispone di uno smartphone Android, l'attività potrebbe essere in realtà molto più semplice poiché l'associazione di linkkey dovrebbe essere presente su entrambi i dispositivi.

Lo strumento più utile è l'ADB di Android SDK.

Supponiamo che il telefono abbia l'indirizzo XX ^ 6 e il PC - AA ^ 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
~ #

Quindi puoi semplicemente scegliere la chiave da quel file e inserirla in un file simile sul tuo PC:

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

In questo modo sembra essere più facile in quanto Linux e Android di solito usano lo stesso stack Bluetooth blu.

Tuttavia, se disprezzi personalmente tale tecnica, esiste un altro modo per ottenere la chiave dal registro di Windows, a condizione che vengano utilizzati i driver di Windows standard. Ho ricevuto la finestra di dialogo del messaggio di sicurezza, quindi ho usato l'utilità linux nativa "chntpw" che consente di ripristinare la password o modificare il file di registro di Windows. Il file richiesto era "windows \ system32 \ config \ SYSTEM".

Eccolo:

$ 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.#..`.

Come puoi vedere, è esattamente lo stesso numero dei file sopra. Spero che possa aiutare le generazioni future.


Il tuo dispositivo è rootato / BusyBox è installato? Il comando "trova" non è riuscito.

0

Per riferimento, sullo stack Microsoft Bluetooth, le chiavi di collegamento si trovano in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeffcui aabbccddeeff è il tuo adattatore Bluetooth. Poiché l'adattatore è già installato, questa chiave dovrebbe esistere.

All'interno di quella chiave, puoi avere più valori REG_BINARY, dove il nome del valore è l'indirizzo MAC del dispositivo associato (nella stessa forma - esadecimale, minuscolo, senza separatori) e il valore è la chiave di collegamento (16 byte).

Per prelevare i tasti di collegamento da OS X, eseguire (nel Terminale OSX) defaults read /private/var/root/Library/Preferences/blued.plist. All'interno di LinkKeys, è necessario disporre di una chiave di collegamento per indirizzo MAC di un dispositivo associato. Le chiavi sono codificate in base64, quindi: echo -n 'aabbcc...==' | base64 -d | hexdump -Ce digita questa chiave nel tuo registro di Windows.


-1

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


Benvenuto in Super User! Potresti approfondire questo? Forse modifica la tua risposta per spiegare cosa stai descrivendo e perché stai dando quel suggerimento. Grazie!
bertieb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.