Closed warpdesign closed 3 years ago
The iPhone needs to be discoverable by everyone.
Nicolas RAMZ - http://www.warpdesign.fr/
AthenaJS - https://athenajs.github.io
On Tue, May 19, 2020 at 12:32 PM Milan Stute notifications@github.com wrote:
The iPhone needs to be discoverable by everyone.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/seemoo-lab/opendrop/issues/50#issuecomment-630734079, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABQXYACFAGX4YYQLMBUDQTRSJN3RANCNFSM4ND6SU4Q .
You need to send an specific BLE advertisement to make the receiver listen. You can achieve this by using a second apple device initiating an airdrop communication.
Or you might also simulate your own "airdrop beacon" using bluez.
1.: download bluez wget www.kernel.org/pub/linux/bluetooth/bluez-5.43.tar.xz
2.: unpack and modify the example test/example-advertisement
, change init of TestAdvertisement class, like:
def __init__(self, bus, index):
# https://www.usenix.org/system/files/sec19-stute.pdf
company_id = 0x004C # Apple Inc.
beacon_type = [0x05, 0x12]
# Zero bytes followed by 0x01
zero_bytes = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01]
# bad coded robo adds
contact_id = [0xBA, 0xDC, 0x0D, 0xED, 0x30, 0xB0, 0xAD, 0xD5]
end_zero = [0x00]
Advertisement.__init__(self, bus, index, 'peripheral')
self.add_manufacturer_data(company_id, beacon_type + zero_bytes + contact_id + end_zero)
3.: run python ./bluez-5.43/test/example-advertisement.ibeacon
You need to send an specific BLE advertisement to make the receiver listen. You can achieve this by using a second apple device initiating an airdrop communication.
Or you might also simulate your own "airdrop beacon" using bluez.
1.: download bluez
wget www.kernel.org/pub/linux/bluetooth/bluez-5.43.tar.xz
2.: unpack and modify the example
test/example-advertisement
, change init of TestAdvertisement class, like:def __init__(self, bus, index): # https://www.usenix.org/system/files/sec19-stute.pdf company_id = 0x004C # Apple Inc. beacon_type = [0x05, 0x12] # Zero bytes followed by 0x01 zero_bytes = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01] # bad coded robo adds contact_id = [0xBA, 0xDC, 0x0D, 0xED, 0x30, 0xB0, 0xAD, 0xD5] end_zero = [0x00] Advertisement.__init__(self, bus, index, 'peripheral') self.add_manufacturer_data(company_id, beacon_type + zero_bytes + contact_id + end_zero)
3.: run
python ./bluez-5.43/test/example-advertisement.ibeacon
sorry , i can't understand a lot . " simulate your own "airdrop beacon" using bluez.", do you mean that " i make iphone jailbroken ,and run "python ./bluze-z5.43/text/xxxxx.ibeacon".????
Or something else? please help me . see here : https://github.com/seemoo-lab/opendrop/issues/51
The simple answer to this issue is that the current implementation cannot discover Apple devices if they do not receive a specific Bluetooth message. As @jamjamg describes it already you would need a second Apple device that basically "wakes" the devices up so they connect to OpenDrop. This feature relies on Bluetooth and could be added manually with something like bluez, but it might be some work to get there and is not simple for a non-programming user.
You can still use the receive feature, because then device will connect automatically. Refer to this issue: https://github.com/seemoo-lab/opendrop/issues/51
Hello, I am sorry to bump this issue, but @jamjamg , for me your script returns
bret@luis2:~/bluez-5.43/test$ python ./example-advertisement.ibeacon
LEAdvertisingManager1 interface not found
What even is LEAdvertisingManager1
, what does it do and how do I get it?
I was able to receive files (although I don't know where the file was put), but opendrop won't find the same iphone when attempting to send a file.
I only get this message: