Поиск ключа связи Bluetooth в Windows 7 для двойной пары устройств на компьютере с двойной загрузкой
Как я могу выкопать ключ связи Bluetooth для сопряженного устройства в Windows 7? Является ли это чем-то, что зависит от используемого мной стека Bluetooth (Toshiba), или есть общее место для хранения данных в Windows 7?
Примечание. Я не говорю о шестизначном коде, который обычно вводится пользователем во время спаривания – это бесполезно, поскольку он отбрасывается после процесса сопряжения. Я имею в виду 128-битный ключ ссылки, который устройства обмениваются во время спаривания, и затем использовать для шифрования всего их трафика Bluetooth.
Задний план:
- Удалить экран двойной загрузки
- Grub не показывает меню выбора ОС при загрузке двойной настройки загрузки
- Двойная загрузка Windows 8 и Ubuntu?
- Цепочки загрузчиков для необычной настройки
- EFI Boot: два независимых загрузочных физических жестких диска?
Я использую dualboot Windows 7 / Ubuntu на своем ноутбуке, и я хотел бы, чтобы мой телефон был сопряжен с обеими ОС. Поскольку на компьютере с двойной загрузкой имеется только один адаптер Bluetooth и, следовательно, только один адрес Bluetooth, я не могу сделать два сопряжения с телефоном, так как при втором соединении (Windows) телефон просто заменяет предыдущее сопряжение (Linux) на тот же адрес Bluetooth.
Поток на форумах Ubuntu указывал мне на то, что мне нужно сделать – сначала сначала на Linux, затем на Windows, а затем замените ключ ссылки на стороне Linux на одну Windows, оговоренную.
Я могу найти ключ сопряжения на стороне Linux от /var/lib/Bluetooth/[BD_ADDR]/linkkeys
– никаких проблем нет.
Однако на стороне Windows я не могу найти ключ. Согласно сообщению форума, на стороне Windows ключ должен находиться в SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]
но в то время как этот раздел реестра существует, он не имеет подключений. (И аналогичный путь реестра в ControlSet001 также не имел каких-либо подразделов.)
Одна вещь, которую мне было поручено сделать, – это захватить все события во время сопряжения с Sysinternals Process Monitor . Я сделал это, но я не смог найти какую-либо полезную информацию из захваченных событий, даже не экспортируя данные в огромный XML и grepping, что с BD_ADDR (с или без двоеточий).
Итак, как я могу найти ключ ссылки для сопряженного устройства в Windows 7?
Некоторая справочная информация: Википедия: Bluetooth , безопасность сейчас: безопасность Bluetooth
- Установка Windows 7 (с двойной загрузкой) после установки Windows 8
- Ubuntu не будет распознавать загрузочный USB или CD
- Линукс с двойной загрузкой с поддержкой виртуализации с универсальным доступом к папке / разделу данных
- Двойная загрузка Windows 7 на предустановленном ноутбуке Windows 8
- Как установить Linux вместе с Windows 8 без повреждения конфигурации загрузки Windows 8?
- Я не могу загрузить Ubuntu после установки Windows 7
- Grub застрял на загрузке Grub
- Можно ли удалить системный раздел системы Windows 7 без проблем?
Ключ реестра, который вы должны использовать:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys
.
На моем компьютере он отказался предоставить мне доступ к этому ключу. Мне пришлось сменить владельца на Администраторы, прежде чем я увижу под-ключ.
Если вы используете стек Toshiba Bluetooth, его ключи хранятся где-то в другом месте. Можно либо найти, либо просто вернуться в стек Microsoft. В последнем случае ключи Bluetooth будут сохранены в реестре, как указано выше.
Этот поток описывает процесс:
- Удалите Toshiba Bluetooth (добавьте / удалите программы),
- Перезагружать,
- Теперь Windows должна обнаружить «новое» устройство Bluetooth и установить для него свои собственные драйверы.
Внимание: сначала создайте точку восстановления системы и убедитесь, что у вас есть установочный носитель для драйвера Toshiba для возврата (на всякий случай). Хорошо испытайте функциональность парного телефона, прежде чем плакать.
Ключи не видны администратору, вы должны открыть реестр как системную учетную запись:
Это для Windows 7 на ThinkPad с адаптером bluetooth 4.0, но может работать с другими системами Windows
Загрузить PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
Распакуйте его в c: \ portable \ pstools \ open cmd нажмите start, введите cmd, нажмите enter, внутри черно-белого типа окна:
c:\portable\pstools\psexec -s -i regedit
Regedit открывается, перейдите к: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
Там вы найдете MAC-адрес всех ваших Bluetooth-адаптеров, а под каждым адаптером – все MAC-адреса сопряженных устройств с их ключевыми клавишами.
Для определения MAC-адреса вашего адаптера:
bluetooth settings> Hardware > ThinkPad Bluetooth 4.0 > Properties > Advanced > Address
Для определения MAC-адреса вашего устройства (клавиатуры / мыши):
Control Panel > Hardware and Sound > Devices and Printers > right click your device > Properties > Bluetooth > Unique Identifier
У меня была точно такая же проблема, поэтому я нашел этот пост и теперь хочу поделиться своим опытом. Если у вас есть Android-смартфон, эта задача может быть намного проще, поскольку на обоих устройствах должно присутствовать соединение linkkey.
Самым полезным инструментом является АБР с Android SDK.
Предположим, что у телефона есть адрес XX ^ 6 и ПК – YY ^ 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 ~ #
Таким образом, вы можете просто выбрать ключ из этого файла и поместить его в похожий файл на вашем ПК:
pc $ sudo -s pc # cat /var/lib/bluetooth/YY:YY:YY:YY:YY:YY/linkkeys XX:XX:XX:XX:XX:XX 393FCA48F0DB57AA4D59F423E4EA60D5 5 0
Этот способ кажется самым простым, так как Linux и Android обычно используют один и тот же стек bluetooth для bluez.
Тем не менее, если вы лично презираете такую технику, есть еще один способ получить ключ из реестра Windows, если используются стандартные драйверы Windows. Я получил это диалоговое окно с сообщениями о безопасности, поэтому я использовал встроенную утилиту linux для chntpw, которая позволяет сбросить пароль или изменить файл реестра Windows. Требуемый файл был «windows \ system32 \ config \ SYSTEM».
Вот оно:
$ 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.#..`.
Как вы можете видеть, это точно такие же числа, как в файлах выше. Надеюсь, это поможет будущим поколениям.
Для справки, в стеке Microsoft Bluetooth, ключи ссылки расположены в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeff
где aabbccddeeff – ваш адаптер Bluetooth. Поскольку адаптер уже установлен, этот ключ должен существовать.
Внутри этого ключа вы можете иметь несколько значений REG_BINARY, где имя значения – MAC-адрес сопряженного устройства (в той же форме – шестнадцатеричный, строчный, без разделителей), а значение – это ключ канала (16 байтов).
Чтобы получить ключи связи из OS X, выполните (в OSX Terminal) по defaults read /private/var/root/Library/Preferences/blued.plist
. В LinkKeys у вас должен быть ключ ссылки на MAC-адрес сопряженного устройства. Ключи закодированы в base64 так: echo -n 'aabbcc...==' | base64 -d | hexdump -C
echo -n 'aabbcc...==' | base64 -d | hexdump -C
echo -n 'aabbcc...==' | base64 -d | hexdump -C
и введите этот ключ в свой реестр Windows.