- Hardware, system requirements
- Will it work on my computer?
- Will it work on older Windows system (8, 8.1, older 10 versions)?
- Will it work with external Bluetooth USB dongle?
- Will it work in virtual machine?
- I got "Sorry, there is no Bluetooth adapter..." error
- List of unsupported hardware
- I cannot solve a task
- The progress state is lost after restarting!
- I cannot catch the HackMe BLE advertisement in task 4 or 5
- The simulated device is not visible via BLE any more
- The simulated device does not respond via BLE any more
- What are the types of simulated devices?
- I got an error: "There was a communication issue. As a temporary workaround, please try pairing the device with Windows first"
- My system seems to advertise 3 separate devices
- The application crashed, I found a bug
Clone this wiki locally
The application is designed to work on a standard Windows 10 (version at least 1803) laptop with integrated Bluetooth 4 interface (majority of current systems). If your laptop is more than 5 years old, it's internal Bluetooth interface may be unsupported, but it is worth trying anyway.
No. The features used by BLE HackMe application have been introduced in recent Windows 10 versions, and are not available in earlier systems. You need to have Windows 10 version at least "1803".
Cambridge Silicon Radio CSR8510: NO. Most Bluetooth 4 dongles sold by various vendors are in fact based on CSR8510. Despite the dongle is Bluetooth 4, unfortunately for some reason it is not supported by Microsoft Windows for the job (BLE "peripheral" role).
Asus usb-bt400 (broadcom BCM20702) : NO. Thanks for the report to Robin Fassina-Moschini.
Realtek 8761B : YES.
"It's a cheap fake dongle 5.0 from Amazon (for example: https://smile.amazon.de/dp/B08CV5WBMG/). Just pass the USB to the VM, it's plug and play under Windows 10". Thanks for the report to Robin Fassina-Moschini:
Asus USB-BT500 (Realtek 8761B). Thanks for the report to Stef van Dop: https://twitter.com/Stef_van_Dop/status/1358097155236515842
If you find any other dongle that works, please let us know.
In most cases unfortuanately no:
- does not work for sharing Bluetooth with host operating system (if you figure it out, let us know!)
- does not work with most common CSR8510 dongle connected via USB (see above)
It has been confirmed working:
- with laptop's internal Bluetooth adapter connected via USB (for example Lenovo Thinkpad X1 Carbon 7) as opposed via PCI. In such case it is possible to setup direct USB passthrough to the internal Bluetooth adapter for guest virtual machine. Thank you Gerhard Klostermeier (ikarus23) for reporting it.
- with Realtek 8761B USB dongle (see above)
During initial startup application checks for:
- Availability of Bluetooth adapter.
- Whether the Bluetooth adapter supports "peripheral" role - can act as Bluetooth "server" and simulate devices.
In case any of these checks fail, it will fail with an error: "Sorry, there is no Bluetooth adapter, or the default Bluetooth adapter cannot act as a Bluetooth server".
You can try to:
- Turn your Bluetooth adapter off and on again, then restart the application.
- Check power management settings and ensure the Bluetooth adapter is not powered off after some time for energy saving. Try it on laptop connected to power source.
- Restart your system.
Your adapter may be an older model which does not support Bluetooth 4. Please try with a different system, or with a supported USB dongle.
In some cases, even if the adapter is Bluetooth 4 compatible, it is unfortunately not supported by Windows. The functionality depends on Microsoft Windows Bluetooth Low Energy internal API, and it is beyond our reach to debug why specific adapter does not work.
To confirm that the problem is general and not related just to BLE HackMe application, please install Microsoft's own "Bluetooth LE Explorer", which also uses the same functionality:
Try the "Virtual Peripheral" option. If it fails with "Peripheral role is not supported on this device" error, then the problem is generic and there's not much we can do about it. If the "Virtual Peripheral" works in Bluetooth LE Explorer, but HackMe fails - please file an issue with the details.
Source code of LE Explorer is also available on GitHub: https://github.com/microsoft/BluetoothLEExplorer
A hardware confirmed incompatible with BLE HackMe application is listed below:
- Microsoft Surface Go tablet (thank you Gerhard Klostermeier (ikarus23))
- Old Dell Vostro with "Dell Wireless 1703" card inside (thank you Gerhard Klostermeier (ikarus23))
Please submit your hardware details in case it also does not work.
If all of the available hints did not help, feel free to file an issue with details.
It is one of the planned features to save the progress state and retrieve it after restarting the application. Current version of application does not have this functionality yet indeed, but expect it in some future release.
The HackMe application uses Microsoft Windows BLE Advertisement Publisher to broadcast custom advertisements for tasks "4. Beacons" and "5. Manufacturer Specific Advertisements".
According to documentation: "Other apps may compete for this limited resource and regular broadcast of advertisements for any specific use case cannot be guaranteed".
In practice, your system's Windows "BLE beacon" advertisement (that uses the same resource) has higher priority. As a result, you will mostly see the Windows advertisement (nRF Connect shows Windows logo icon by it), and the HackMe advertisement will just "glitch" for a short amount of time. In order to "catch" it to investigate its details in nRF Connect, you can try to stop scanning at the right moment.
As a workaround, you can also temporarily turn off in your system functionality responsible for sending Windows beacons. Open Settings -> Shared experiences, and turn off "Nearby sharing" and "Share across devices".
You can also try to switch simulated device to a different one (go to another task and back again). There is a chance next time the HackMe device simulation will have slightly higher priority.
In some cases, especially after some inactivity, the BLE HackMe simulated device is down. Try switching to a task simulating a different device (for example from light bulb to smart lock). The application may crash during this process, so you may need to restart it (to be fixed).
The device simulation may have changed after you progressed to a next task. Try disconnecting from the BLE device, scanning and connecting again. The new simulated device should be visible at a new address (MAC). If this still does not help, try to restart the HackMe application, and your Android phone with nRF Connect.
Currently application simulates:
- Smart light bulb + battery + heart rate: for most of the tasks. Device name visible in BLE advertisement.
- BLE iBeacon: for task "4. Beacons". No device name in advertisement, parallel to Microsoft BLE advertisements.
- BLE Manufacturer Specific Advertisement (0xFF): for task "5. Manufacturer Specific Advertisement". No device name in advertisement, parallel to Microsoft BLE advertisements.
- Smart lock: for tasks "15. Smart lock replay" and "16. Smart lock information leak". Device name visible in BLE advertisement, different GATT services than for smart light bulb.
The device simulation is automatically updated after switching to specific task.
I got an error: "There was a communication issue. As a temporary workaround, please try pairing the device with Windows first"
Despite HackMe BLE characteristics protection level is defined as "plain" (no pairing required), in some systems any attempt to access such characteristic ends with an error. It is most likely a bug in Microsoft Windows, Bluetooth hardware abstraction layer or adapter's driver. As a workaround, please pair manually your mobile phone with the laptop running BLE HackMe.
If your adapter supports new Bluetooth 5, your system may advertise 3 separate devices at the same time, with different addresses:
- BLE HackMe
- Microsoft Windows BLE beacon
- Bluetooth 5 advertising extension
Just connect to the BLE_Hackme device (the one with the name advertised).
If the application does not work as expected, please file a bug. Include all the details allowing to reproduce the problem.
It will greatly help if you install Visual Studio, download application source code and run it in debug mode. You will be able to