Como posso desenterrar a tecla de conexão Bluetooth de um dispositivo emparelhado no Windows 7? Isso depende da pilha Bluetooth que estou usando (Toshiba) ou existe um local genérico para armazená-las no Windows 7?
Nota: não estou falando sobre o código de seis dígitos normalmente digitado pelo usuário durante o emparelhamento - isso é inútil, pois é descartado após o processo de emparelhamento. O que quero dizer é a chave de link de 128 bits que os dispositivos trocam durante o emparelhamento e que são usados posteriormente para criptografar todo o tráfego do Bluetooth.
Fundo:
Eu dualboot Windows 7 / Ubuntu no meu laptop, e eu gostaria de ter o meu telefone emparelhado com os dois sistemas operacionais. Como o computador de inicialização dupla possui apenas um adaptador Bluetooth e, portanto, apenas um endereço Bluetooth, não posso fazer dois emparelhamentos no telefone, pois no segundo emparelhamento (Windows) o telefone apenas substitui o emparelhamento anterior (Linux) pelo mesmo endereço Bluetooth.
Uma discussão nos fóruns do Ubuntu me indicou o que eu devo fazer - emparelhar primeiro no Linux, depois no Windows e depois substituir a chave de link no lado Linux pela que o Windows negociou.
Posso encontrar a chave de emparelhamento do lado do Linux /var/lib/Bluetooth/[BD_ADDR]/linkkeys
- sem problemas.
No entanto, no lado do Windows, não consigo encontrar a chave. De acordo com o post no fórum, no lado do Windows a chave deve estar em SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]
mas enquanto essa chave Registro faz existir, ele não tem subchaves. (E um caminho de registro semelhante no ControlSet001 também não tinha subchaves.)
Uma coisa que eu fui instruído a fazer é capturar todos os eventos durante o pareamento com o Sysinternals Process Monitor . Fiz isso, mas não consegui encontrar nenhuma informação útil dos eventos capturados, nem exportando os dados para um XML enorme e cumprimentando-o com os BD_ADDRs (com ou sem dois pontos).
Então, como eu poderia encontrar a chave de link para um dispositivo emparelhado no Windows 7?
Algumas informações de referência: Wikipedia: Bluetooth , Segurança agora: segurança Bluetooth
fonte
As chaves não estão visíveis para o administrador, você deve abrir o registro como a conta do sistema:
Isso é para o Windows 7 em um ThinkPad com adaptador thinkpad bluetooth 4.0, mas pode funcionar com outros sistemas Windows
Faça o download do PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
Descompacte-o em c: \ portable \ pstools \ open cmd clique em Iniciar, digite cmd, pressione Enter, dentro da janela em preto e branco.
abre o regedit, navegue para:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
lá você encontrará o endereço MAC de todos os seus adaptadores bluetooth e, em cada adaptador, estão todos os endereços MAC dos dispositivos emparelhados com suas teclas de link.
para descobrir o endereço MAC do seu adaptador:
para descobrir o endereço mac do seu dispositivo (teclado / mouse):
fonte
Eu tinha exatamente o mesmo problema, então encontrei este post e agora quero compartilhar minha experiência. Se você possui um smartphone Android, essa tarefa pode ser muito mais fácil, pois o linkkey de emparelhamento deve estar presente nos dois dispositivos.
A ferramenta mais útil é o ADB do Android SDK.
Vamos supor que o telefone tenha endereço XX ^ 6 e PC - YY ^ 6
Assim, você pode simplesmente escolher a chave desse arquivo e colocá-la em um arquivo semelhante no seu PC:
Dessa maneira, parece ser mais fácil, pois o Linux e o Android geralmente usam a mesma pilha bluetooth do bluez.
Ainda assim, se você pessoalmente despreza essa técnica, há outra maneira de obter a chave no registro do Windows, desde que sejam usados drivers padrão do Windows. Eu recebi a caixa de diálogo de mensagem de segurança, então usei o utilitário linux nativo "chntpw", que permite redefinir a senha ou editar o arquivo de registro do Windows. O arquivo solicitado foi "windows \ system32 \ config \ SYSTEM".
Aqui vai:
Como você pode ver, são exatamente os mesmos números dos arquivos acima. Espero que ajude as gerações futuras.
fonte
Para referência, na pilha Bluetooth da Microsoft, as teclas de link estão localizadas em
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeff
onde aabbccddeeff é seu adaptador Bluetooth. Como o adaptador já está instalado, essa chave deve existir.Nessa chave, você pode ter vários valores REG_BINARY, em que o nome do valor é o endereço MAC do dispositivo emparelhado (na mesma forma - hex, minúsculas, sem separadores) e o valor é a chave do link (16 bytes).
Para pegar as teclas de link do OS X, execute (no OSX Terminal)
defaults read /private/var/root/Library/Preferences/blued.plist
. Nas LinkKeys, você deve ter uma chave de link por endereço MAC de um dispositivo emparelhado. As chaves são codificadas em base64, assim como:echo -n 'aabbcc...==' | base64 -d | hexdump -C
e digite essa chave no registro do Windows.fonte
PsExec.exe -s -i regedit / E% cd% \ btkeys_export.txt "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys"
fonte