EvilAppleJuice-ESP32 icon indicating copy to clipboard operation
EvilAppleJuice-ESP32 copied to clipboard

Not spammy when using ESP32-WROOM-32

Open ExME168 opened this issue 2 years ago • 34 comments

I've tested this on several iOS 16 devices (one is using iOS 16.2 and the others are using the latest iOS 16.6.1) using an ESP32-WROOM-32 and it does not produce the same spamming effect seen in your demo video. I've reviewed the datasheets of the ESP32-WROOM-32 and the ESP32-C3 and it turns out the former only supports up to BLE 4.2 whereas the latter can support up to BLE 5 (and a bunch more features like simultaneous advertising and scanning and advertising extensions). It's very likely that the ESP32-WROOM-32 is encountering hardware limitations and that's why I can't spam the test devices.

So yeah, if anyone is going to use this tool, make sure to either use the same ESP32-C3 used by the developer or at least any microcontroller with BLE 5 support.

ESP32-WROOM-32 Bluetooth Specs: image

ESP32-C3 Bluetooth Specs: image image

ExME168 avatar Sep 16 '23 06:09 ExME168

Interesting, are you able to capture the BLE advertisement from the ESP32-WROOM on a laptop and see what it's like?

I wonder if it is able to set the random address param / advertisement type "correctly".

ckcr4lyf avatar Sep 16 '23 12:09 ckcr4lyf

image Yeah it's able to set the TxAdd parameter to random

ExME168 avatar Sep 16 '23 13:09 ExME168

That's odd, if it is the same BLE packet I would imagine it doesn't matter what the source device is. What iPhone / iOS are you testing it with?

Unfortunately I only have ESP32-C3s from AirM2M with me, but I can try and target the same iOS device and see the results.

ckcr4lyf avatar Sep 16 '23 13:09 ckcr4lyf

The only iPhone I have on-hand right now is an iPhone X running iOS 14.8. I'm pretty sure this is way more stubborn compared to iOS 16 devices because the only notification I keep seeing from this is the spoofed "password autofill" for Apple TV (that is index 6 in the short devices array). Sometimes it pops up other Apple TV notifs like Apple TV setup and color balance but it's rare. It never pops up notifs related to audio devices.

As for the iOS 16 devices, I don't know what iPhone my friend was using exactly (most likely iPhone 13 or 14 because it had three lenses) but it was surely running iOS 16.2. His phone got the popup notifs way more frequently but still I wouldn't consider it "spammy". There were times when the notifs just stopped popping up. The iOS 16.6.1 devices I tested were literally iPhones displayed in a store and they just brought up the popups for the first couple of seconds but then stopped getting them. Still not the spammy effect.

ExME168 avatar Sep 16 '23 13:09 ExME168

Hmm, let me try in an Apple store as well and get back to you.

ckcr4lyf avatar Sep 16 '23 13:09 ckcr4lyf

I use Arduino IDE to program ESP32-WROOM-32 and it can be used normally

h0e4a0r1t avatar Sep 19 '23 03:09 h0e4a0r1t

@h0e4a0r1t are you observing the "spammy" popups on an iPhone with the ESP32-WROOM-32? If so, could you share the iPhone version / iOS version as well

ckcr4lyf avatar Sep 19 '23 03:09 ckcr4lyf

Yes, I can get "spam" popping up on my iPhone. My phone model is iPhone 13/iOS version is 16.6.1

h0e4a0r1t avatar Sep 19 '23 04:09 h0e4a0r1t

Testing with ESP32-WROOM-32 and iPhone 13 mini / iOS 16.6. Unfortunately not "spammy" enough.

cryptr0n1x avatar Sep 20 '23 06:09 cryptr0n1x

Yes, I can get "spam" popping up on my iPhone. My phone model is iPhone 13/iOS version is 16.6.1

Could you show us a video, how "spammy" it is?

I tried with RPi + BT Dongle and ESP32-WROOM-32. Both versions didn't get any spam effect on my iPhone 13 mini.

After closing one or two popups nothing happend. Spammy means to me, you cannot use your iPhone anymore XD

cryptr0n1x avatar Sep 20 '23 21:09 cryptr0n1x

Can I use any ESP32 circuit or does it have to be an ESP32-C3?

9xcoder avatar Oct 10 '23 12:10 9xcoder

Can I use any ESP32 circuit or does it have to be an ESP32-C3?

Which ESP32 is it? If it has a BLE radio it could work, but I've not tested it.

ckcr4lyf avatar Oct 11 '23 02:10 ckcr4lyf

Can I use any ESP32 circuit or does it have to be an ESP32-C3?

Which ESP32 is it? If it has a BLE radio it could work, but I've not tested it.

Module Wifi BLE ESP32 Node MCU LuaNode32 CP2102

Do you think it will work?

9xcoder avatar Oct 13 '23 07:10 9xcoder

Module Wifi BLE ESP32 Node MCU LuaNode32 CP2102

Looking at some of the boards w/ a generic google search, seems it is a ESP32-WROOM-32. From what others have mentioned in the thread, it may not work as well as an ESP32-C3.

If you live in Asia, and have some kind of Taobao forwarding service available, ESP32C3 on their is only like 13RMB, would recommend it. (And if you get multiple, the effect is even better).

ckcr4lyf avatar Oct 13 '23 08:10 ckcr4lyf

ESP32C3 is only 9.9RMB now in China

louis16s avatar Oct 13 '23 11:10 louis16s

u should rename it into esp32-c3 cause esp32 is something different

louis16s avatar Oct 13 '23 11:10 louis16s

u should rename it into esp32-c3 cause esp32 is something different

Technically it should work on any ESP32 with a BLE stack. I've only tested on the C3 because that's all I have.

ckcr4lyf avatar Oct 13 '23 12:10 ckcr4lyf

i use esp32s3 ,it can work ,however i think it not "spammy" enough。Barely sufficient

AgonyListener avatar Oct 13 '23 13:10 AgonyListener

however i think it not "spammy" enough

Which iPhone / iOS? And what distance?

ckcr4lyf avatar Oct 13 '23 13:10 ckcr4lyf

however i think it not "spammy" enough

Which iPhone / iOS? And what distance?

13pro17.0.2 and ipadpro m2 ios16.6.1 ,distance is snugly together。My friend was 1 meter away from me. During the one minute that I was test esp32s3, he get three pop-up messages while he was live streaming.

AgonyListener avatar Oct 13 '23 14:10 AgonyListener

Spammy enough with my wemos_d1_mini32 (which uses an ESP32-WROOM-32) when within one foot of the iPhone. Works less often from 2 feet away. So I suspect it is just a power output issue.

MrTechGadget avatar Oct 13 '23 22:10 MrTechGadget

Same here, iPhone 12 Pro iOS 17.0.3 with ESP32-WROOM-32, spammy when literally touching the phone, but if it's like 20-30 cm away I am only getting the Autofill notification.

xIvan0ff avatar Oct 14 '23 13:10 xIvan0ff

Same here, iPhone 12 Pro iOS 17.0.3 with ESP32-WROOM-32, spammy when literally touching the phone, but if it's like 20-30 cm away I am only getting the Autofill notification.

This behavior might be attributed to adjustments by Apple. I remember reading somewhere that they were altering the required RX power detected in order to present these notifications - it would make sense that the Apple TV one is exempt as it is unlikely to be used in close proximity to the device whereas new headphones / other devices would generally be first used right next to device. I have no evidence to support this but am doing some of my own testing with ESP-WROOM-32.

reecepounder avatar Oct 28 '23 20:10 reecepounder

It would make sense that the Apple TV one is exempt as it is unlikely to be used in close proximity to the device whereas new headphones / other devices would generally be first used right next to device.

Very interesting hypothesis. In my random testing at apple stores, I've also observed that the Apple tv popup is the most "easily spread", i.e. over distances or 4-5+ metres, all iphones pop it up pretty quickly.

I will try this out as well and see if it gives better results "at a distance".

ckcr4lyf avatar Oct 28 '23 20:10 ckcr4lyf

I’ve met the same question, the board is Esp32c3 brought from LUATOS TaoBao store. I tested 3 devices ipad9, iphone14pm, iphone13, all of them running ios 17.1. At the first time flashing and running, everything works fine and spammy as expected. But after reconnect the wire on the esp32, the iphone seems only show apple tv related messages and the ipad only shows the earphone related. Change distance does not help, and the apple tv messages have a longer distance to be received, but obviously lower frequency than the earphone messages. I tried re-flashing or reset the board but still the same perform. Just feel weird cause the first running was normal, and the advertising behavior of the board seems normal as well. I guess may be iphone and ipad can selectivity ignore some of these messages.

Houraisan-yume avatar Nov 07 '23 06:11 Houraisan-yume

> But after reconnect the wire on the esp32

You mean just take off power and turn it back on?

Anecdotally, in Apple Store I have seen most success with Apple TV messages. Maybe I can add an option to prioritize this guy.

ckcr4lyf avatar Nov 07 '23 08:11 ckcr4lyf

yep, just take it off and replug the usbc, then couldn't function spamming the iphone devices except apple tv related. I've tried some steps to reset or reflash but still only the first time seems useful.

Houraisan-yume avatar Nov 07 '23 08:11 Houraisan-yume

I’ve met the same question, the board is Esp32c3 brought from LUATOS TaoBao store. I tested 3 devices ipad9, iphone14pm, iphone13, all of them running ios 17.1. At the first time flashing and running, everything works fine and spammy as expected. But after reconnect the wire on the esp32, the iphone seems only show apple tv related messages and the ipad only shows the earphone related. Change distance does not help, and the apple tv messages have a longer distance to be received, but obviously lower frequency than the earphone messages. I tried re-flashing or reset the board but still the same perform. Just feel weird cause the first running was normal, and the advertising behavior of the board seems normal as well. I guess may be iphone and ipad can selectivity ignore some of these messages.

Me too, my board model is ESP-WROOM-32. I have tested it on multiple Apple devices, but every time it only pops up the Apple TV notification, and only once. It only reappears after locking and unlocking the screen again.

MagicBlack1017 avatar Nov 07 '23 16:11 MagicBlack1017

I tried it with my esp32-wroom on some devices (iPhone and iPad),and it would only get Apple TV related popups,even the distance is closed enough . When it's far enough like 30cm or so,it won't show anything .

mark304188 avatar Nov 13 '23 05:11 mark304188

I've just tried my existing ESP32-C3's, and on one iPhone w/ iOS 17.0.3 it is only popping up Apple TV / Migrate Phone number etc. notifications, and just once for each.

A lock+unlock of the screen will allow them to come up again.

Did not see any for Airpods / Beats. I will test a few more iPhones tonight, but seems Apple may have patched it a bit (at least reduced the frequency).

ckcr4lyf avatar Nov 15 '23 06:11 ckcr4lyf