> When smartphone communicates with a bluetooth device, there should be a part where it handles
the packet.
I want to intercept the packet from this part
I do not think you can intercept anything on iOS or on non-rooted Android.
Doubts with Windows Phone too.
I do not think these OSes allow you to install kernel mode intercepting drivers.
What you really can try (I’m not a Bluetooth guy, but this is probably a possibility, since at least on Windows the Bluetooth driver stack is exposed to user mode as socket address family provider) is to run the Bluetooth server app on the phone, which will listen to some Bluetooth sockets.
Then, on Windows side, you will need to write a BTH dongle driver, probably UMDF one, which will work by communicating to the app of the phone via some channel provided by the phone’s OS.
To investigate this, you should read:
a) Bluetooth spec.
b) the spec on computer<->phone communication channel for your phone’s OS.
Note that, probably, for iOS, this is not documented - though yes there are Windows apps like iPhoneBrowser which talk to iPhone by calling iTunes DLLs. For some scenarios like listing the whole filesystem tree, jailbreak of the phone is a must. For some - probably no need.
Also I have doubts item b) can be implemented on Android. IIRC when you connect Android phone to the computer, it just becomes - from the computer side - a microSD card reader for the phone’s memory card. Music management is done by just putting files there and then, on cable disconnect, the phone apps are signaled to re-read the playlists from the media.
–
Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com