Live data from Hacker News

I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

404media.co

121–130 of 132 posts

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#121
post #80

Earlier quoted context omitted.

The official Apple HDMI adapter does the same thing with an SoC in there. The difference is native iOS support instead of a 3rd party app needed to support it.

I still find it hilarious that that’s how the old cable worked, the iPhone encoded an H.264 video stream and sent it to the dongle, which decoded it and sent it down HDMI. Now that iPhones have USB-C they no longer need a custom adapter. A standard USB-C to HDMI cable is supposed to work. I believe.

Probably to work around a usb(lightning is usb2 based right?) link not fast enough to keep up with the phone graphics. However, I note that there are usb graphics card descriptors[1] and I assume usb graphics cards, that is, graphics over the normal usb data pins, not a display port pass through. These descriptors are what I would naively assume a usb to hdmi "adaptor" to be, a usb graphics card.

I am finding it hard to hunt down low level information on how these "adaptors" work. Does anyone know what type descriptors they use? and what a iphone does if you plug one in(I am assuming the lightning to usb physical connector is trivial)

https://www.usb.org/defined-class-codes#anchor_BaseClass13h

update: I found these reverse engineering documents on synaptics displaylink chips. They appear to be a popular manufacturer of such dongles. And it looks like compression is needed there as well.

https://github.com/floe/tubecable/tree/master/doc

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#122
post #121
post #80

Earlier quoted context omitted.

I still find it hilarious that that’s how the old cable worked, the iPhone encoded an H.264 video stream and sent it to the dongle, which decoded it and sent it down HDMI. Now that iPhones have USB-C they no longer need a custom adapter. A standard USB-C to HDMI cable is supposed to work. I believe.

Probably to work around a usb(lightning is usb2 based right?) link not fast enough to keep up with the phone graphics. However, I note that there are usb graphics card descriptors[1] and I assume usb graphics cards, that is, graphics over the normal usb data pins, not a display port pass through. These descriptors are what I would naively assume a usb to hdmi "adaptor" to be, a usb graphics card. I am finding it hard…

You’re right, Apple never moved lightning past USB-2 speeds. Still seems weird to do things the way they did, unless it was just to reuse some part they already had in another device, thus saving costs.

The need for compression is a good point. I hadn’t thought of that. But you’re right other existing parts should have worked if chosen, right?

Weird. Just such a fun day on Twitter when it was discovered that what we had all assumed was just a relatively simple adapter was a whole SoC running its own firmware doing this job.

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#123

Earlier quoted context omitted.

Again - That still sends out a beacon. Searching for already-paired bluetooth devices still sends a bluetooth frame with your bluetooth MAC address, (which has to be consistent, because that's how bluetooth devices identify each other).

> Searching for already-paired bluetooth devices still sends a bluetooth frame with your bluetooth MAC address, (which has to be consistent, because that's how bluetooth devices identify each other). It doesn't have to be readable by third parties. Given that the devices are already paired, it's perfectly feasible for that frame to be encrypted gibberish that only the other device can understand.

I think that the math of battery life if you had to decrypt anything that looked like a handshake packet to see if it's for you is the opposite of feasible.

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#124

I have an impression that covid enabled widespread acceptation of QR codes, and now every app is excused to request camera and photo access because "we need to scan a QR code".

It would be nice to have a special way to scan a qr code in which the system reads the QR code for the app without the app being able to see raw camera data.

You can do this with an “oh by” code[1] since a code with only a url in it acts as a simple redirect.

[1] https://0x.co

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#125
post #116
post #93

Earlier quoted context omitted.

However, scanning and connecting to Wi-Fi IoT devices still requires it.

No it doesn't, there's a whole API for last few years where app can connect to its own IoT device without getting location or full scanning grant.

Why do you think that? I literally just wrote an app to do this. From my notes:

> Android 13 still requires `ACCESS_FINE_LOCATION` to call `startScan()` and `getScanResults()` - `NEARBY_WIFI_DEVICES` is not sufficient

See here: https://developer.android.com/reference/android/net/wifi/Wif...()

I tried getting by without it, but it was required.

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#126
post #125
post #116

Earlier quoted context omitted.

No it doesn't, there's a whole API for last few years where app can connect to its own IoT device without getting location or full scanning grant.

Why do you think that? I literally just wrote an app to do this. From my notes: > Android 13 still requires `ACCESS_FINE_LOCATION` to call `startScan()` and `getScanResults()` - `NEARBY_WIFI_DEVICES` is not sufficient See here: https://developer.android.com/reference/android/net/wifi/Wif... () I tried getting by without it, but it was required.

That poster I assume is referring to this for your own devices. https://developer.android.com/guide/topics/connectivity/comp....

Depends on the specific use case but you ideally shouldn't need those calls. Our app request both the old location permission and the new nearby permission just because not all of our vendors keep their libraries up to date and its not unreasonable for the app to know where you are when using those features.

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#127
post #125
post #116

Earlier quoted context omitted.

No it doesn't, there's a whole API for last few years where app can connect to its own IoT device without getting location or full scanning grant.

Why do you think that? I literally just wrote an app to do this. From my notes: > Android 13 still requires `ACCESS_FINE_LOCATION` to call `startScan()` and `getScanResults()` - `NEARBY_WIFI_DEVICES` is not sufficient See here: https://developer.android.com/reference/android/net/wifi/Wif... () I tried getting by without it, but it was required.

The APIs to connect to IoT devices is called CompanionDeviceManager - https://developer.android.com/guide/topics/connectivity/comp...

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#128
post #127
post #125

Earlier quoted context omitted.

Why do you think that? I literally just wrote an app to do this. From my notes: > Android 13 still requires `ACCESS_FINE_LOCATION` to call `startScan()` and `getScanResults()` - `NEARBY_WIFI_DEVICES` is not sufficient See here: https://developer.android.com/reference/android/net/wifi/Wif... () I tried getting by without it, but it was required.

The APIs to connect to IoT devices is called CompanionDeviceManager - https://developer.android.com/guide/topics/connectivity/comp...

Wow, thanks for that. I will have to try this. It is annoying that it is hidden under the Bluetooth breadcrumbs.

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#129
post #125

Earlier quoted context omitted.

Why do you think that? I literally just wrote an app to do this. From my notes: > Android 13 still requires `ACCESS_FINE_LOCATION` to call `startScan()` and `getScanResults()` - `NEARBY_WIFI_DEVICES` is not sufficient See here: https://developer.android.com/reference/android/net/wifi/Wif... () I tried getting by without it, but it was required.

That poster I assume is referring to this for your own devices. https://developer.android.com/guide/topics/connectivity/comp... . Depends on the specific use case but you ideally shouldn't need those calls. Our app request both the old location permission and the new nearby permission just because not all of our vendors keep their libraries up to date and its not unreasonable for the app to know where you are when us…

Thank you! I will give this a try.

Re: I Tested an HDMI Adapter That Demands Your Location and Spams You with Ads

#130
post #15

Given that the device is plugged in, trusted, shows up as a computer, and requires external power, it has all the connections it needs spy on the screen (at minimum) and remote control the victim iPhone without permission in the worst case. (it has video feed, and can emulate USB keyboard and mouse) Yikes!

Can you pull video and input both emulated keyboard and mouse via a lightning port, all concurrently, or is that theoretical?

I was mulling over a (legitimate) project recently and couldn't find any information about them all together.

Post reply on HN