DEV Community

Safia Abdalla
Safia Abdalla

Posted on

What I learned when I tried to hack my smart vibrator

I’ve owned a smart vibrator for a little over a year now. For those of you who might not be familiar, smart vibrators are vibrators that can be controlled by an app via a Bluetooth connection. Often times, the app is connected to the Internet so a remote user can control the vibrator via the app. In that case, the remote user sends a message to the app and the app relays that message to the vibrator via Bluetooth.

I don’t do a lot of interesting projects with hardware or Internet connected devices, so I figured it would be fun to hack into my vibrator to learn a bit more about IoT devices. In this specific case, by "hack" I mean "reverse engineer the communication protocols that the vibrator and app used to communicate with each other.“ The particular vibrator I’ll be reverse engineering is the Vibease. Note to those of you who might be in an office, public library, or next to a nosy person on the train: that link will take you to an e-commerce page that sells sex toys. Hopefully, I saved you some unwanted awkwardness!

I started by doing a bit of research into Internet of Things devices that use Bluetooth in general. I figured, or I should say hoped, that there would be some sort of standardization or protocols around how Internet of Things devices utilize Bluetooth.

The first thing I figured out was the distinction between Bluetooth and Bluetooth Low Energy. Bluetooth Low Energy (sometimes referred to as Bluetooth 4.0) is a version of Bluetooth that uses less energy that prior versions. This is particularly advantageous for Internet of Things devices because it means they can run off battery for long periods of time. I can confirm this. I was pretty surprised by the number of uses that I could get out of my vibrator after a single full charge. This "low energy" distinction is a result of BLE modules remaining in "sleep mode" when not in use and thus using less energy. You can read a bit more about the differences at this link.

I decided to look around and see if there were any other articles written about reverse engineering Internet of Things devices and chanced upon this post. In the post, the author reverse engineers a smart light bulb. At this point, I don’t have the knowledge to brag, but I get the sense that what I’m trying to do might be a bit more difficult. For one, while an app that controls the color of light bulb only need to modify the color presented by the LED, a vibrator consists of several motors that sometimes need to be activated in tandem. Despite this, the post gave me some pretty good insights into BLE devices in general.

In particular, the article outlined how a peripheral device (like a vibrator) uses BLE to connect to services that represent different aspects of the device (like the battery or the motors of a vibrator) to read and write certain characteristics (like the battery level of the device or the rotations per minute on a motor). The article mentioned using an app called NRF Connect to interface with the Bluetooth device. I headed over to the App Store on my iPhone, downloaded the app, turned on my vibrator, and connected to it using the app.

Once I connected to the vibrator, the app detected three different services. The first was the Battery Service and the second was the Device Information service. It was pretty obvious to deduce what each of these services were for from their names. I figured that they were both read-only services that allowed the app (and snoopy critters like me) to read information about the battery level and details about the vibrator. The third service was labeled as "Unknown" by the NRF Connect tool. I figured this is the service that is responsible for reading and writing the state of the motors on the vibrator.

A screen capture of the services detected by the NRF Connect app on the Vibease vibrator.

I decided to navigate over the "Battery Service" to see what information I could find there. As I suspected, the "Battery Service" contains a single "Battery Level" characteristic that is "Read Notify" and contains a value of ‘0x64’. This is a hex (base 16) number that translates to 100 in decimal. It’s fully charged and ready to go!

A screencapture of the Battery Level characteristic on a Vibease.

I navigated to the "Device Information" service and noticed that it had several "Read" characteristics that pertained to the Serial Number, Model Number, and other details of the device. Here’s a screenshot of what that screen looked like with certain details obfuscated.

A screencapture of the Device Information service on a Vibease.

All this was fairly easy, but I still needed to figure out how the app interfaced with the motors. I navigated to the ominously named "Unknown Service" to see if I could figure anything out.

A screencapture of the motor services on a Vibease.

Interesting! This service contains a mix of "Read Notify" and "Write Without Response" characteristics. There are two "Read Notify" characteristics and two "Write Without Response" characteristics. I presume that each of those characteristics lines up with a motor on the vibrator. That is to say, the vibrator has two motors, each of which you can read data from and write data too. This was in line with the physical characteristics of the vibrator. It has a motor on each end, and they both operate independently of one another.

I noticed something a little strange with the two "Read Notify" characteristics that were associated with the motors. One characteristic read a value of '0x0000’ (The screen-capture above shows a value of '0x0100’ because I took it a while after I gathered the initial reading. I’m not sure why the value changed in the hour between me seeing it for the first time and me remembering to take the screenshot. More mysteries. Wow, this parenthetical is getting a little long…) which corresponded to a motor that was off (or, so I guess) and the other read a value of 'N/A’. At that point in time, the vibrator was on but not vibrating, so I found it strange that one motor would send a zero value and the other would send a null value. I decided to do a quick Google to see if this was a common issue with characteristic on BLE devices but couldn’t come up with anything useful.

Side note: Effective Googling is very difficult when you are learning something new, so I might not be formulating my queries in a way that brings up good responses. If you know something about BLE and why this might be happening, do let me know!

Anyways, I noticed that the NRF Connect app provided an option to write to characteristics that were writable. At this point, I did what any good engineer would do, I tested out random values. I tried sending '0x64’ which corresponded with the decimal value 100 to see if the characteristic was setting the power level on the motor. No dice!

A screencapture of writing 0x64 to a motor on a Vibease.

I noticed that the zero value being read by one of the characteristics was a hex number with 4 places, so I tried sending '0xffff’ but that didn’t work either. Bother!

A screencapture of sending 0xffff to a Vibease.

So at this point, I figured I would try something else. Instead of guessing values, I would open up the Vibease app on my phone, set the vibration on the app, and see what values the "Read Notify" characteristic emitted. The tricky thing was that I couldn’t use the NRF Connect and the Vibease app on my phone at the same time, so I had to figure out some way to connect to the vibrator from my laptop. I found an app called LightBlue on the Mac App Store and figured I could try to use that to read the values on each of the characteristics while I was controlled the vibrator from the app. For some strange reason, I couldn’t connect to the vibrator from my laptop while I was connected to it via the app on my phone. This actually isn’t strange, it makes total sense. If I were building a smart vibrator, I wouldn’t want multiple devices connected to it at the same time.

I decided to see if there were any Bluetooth sniffers for iOS. I wanted something that could run in the background and log all the messages sent over BLE from my phone. Knowing Apple’s focus on security, I figured that an app like this might not be available on an un-jailbroken iPhone but I tried my luck on it anyways. Some Googling led me to this StackOverflow post that provided some details about running Bluetooth in "Diagnostics Mode" on iOS. I wasn’t sure what kind of information I would be able to get out of the logs provided by Apple but I figured it was worth a shot. I ended up following the official instructions for Bluetooth logging on iOS linked to in the StackOverflow post to generate my log.

Side-note: What is it with Apple and all the outrageous key/button combinations they make you press to access diagnostic features on their products? I mean, I understand why they make it difficult for users to get to those features but geez I’m going to get arthritis by the end of all this!

The result of this diagnostic logging was a .tar.gz file located at the directory specified in the instructions referenced above. I unzipped the directory and discovered that it consisted of several diagnostics files.

Too many files to look through.

Oh boy, what did I get myself into now? At this point, I decided to utilize one of the most time-tested and expert-recommended problem solving techniques. It is called "click a bunch, read a bunch" and consists of opening and reading lots of files until you find one that makes sense.

I found a few files that seemed to be related to Bluetooth logging but opening them in Wireshark rendered some truly nonsensical data.

A Bluetooth log opened in Wireshark

I also found some files that referenced the Vibease app that I was using to control my vibrator. They ended up just being crash report files. It turns out that whenever I would try to connect to the vibrator from another device while the app was connected to it, the Vibease app would crash. Fun!

At this point, I’ve tried enough options to go back to the drawing board one more time. From doing some research, I discovered that sniffing BLE signals and getting a log that is fairly easy to parse in Wireshark was pretty trivial in Android. It felt like the Apple ecosystem was really limiting me here, then again I am new to this and might just be unaware of the right tools to use. I did some more Googling to see if there were any other Bluetooth sniffers available for iOS or Mac but didn’t run into anything. Most solutions recommended purchasing a device like the Ubertooth One, which is designed to help with Bluetooth experimentation. But this device has quite a hefty price tag. It retails for anywhere from 120 USD to 200 USD, a little out of my college student budget. I couldn’t find a way to sniff BLE signals on iOS from the phone the way it was done in Android.

I figure I would pause this little experiment here and post this blog post as is. If you consider yourself an expert in the Internet of Things and have some advice on how I should move forward, do let me know.

Although I didn’t reach my ultimate goal of reverse engineering the communication protocols used between my vibrator and its app, I learned quite a bit in this little adventure.

  • There is a lot going on under the hood when we use devices with BLE connectivity. It reminds me a little bit of those pictures showing what the world would look like if we could see WiFi signals. There is so much information constantly being transmitted that we are figuratively and literally blind too.
  • Running diagnostics on iOS apps yields a plethora of information. This is the first time I’ve profiled and logged my iPhone and it was interesting to see all the information available. I might end up doing something similar to diagnose issues with apps that I use that crash frequently. I might draft a blog post for it on here if I have the time.
  • Reverse engineering is fun (and sometimes frustrating).

Until next time!

Top comments (370)

Collapse
 
thomas_muller_7cbc14bce08 profile image
Thomas Muller

YOU CAN REACH OUT TO GREAT WHIP RECOVERY CYBER SERVICES FOR HELP TO RECOVER YOUR STOLEN BTC OR ETH BACK CALL:+1(406)2729101
I once fell victim to online investment scheme that cost me a devastating €254,000. I’m Thomas Muller from Berlin, Germany. The person I trusted turned out to be a fraud, and the moment I realized I’d been deceived, my entire world stopped. I immediately began searching for legitimate ways to recover my funds and hold the scammer accountable. During my search, I came across several testimonies of how Great Whip Recovery Cyber Services helped some people recover money they lost to cyber fraud, I contacted Great Whip Recovery Cyber Service team and provided all the evidence I had. Within about 36 hours, the experts traced the digital trail left by the fraudster, the individual was eventually tracked down and I recovered all my money back. You can contact them with, 

greatwhiprecoverycyberservices@ proton me

Collapse
 
patrick_lucas_c4d64c5f7f7 profile image
Patrick Lucas

Best Crypto Recovery Services consult OPTIMISTIC HACKER GAIUS

I am beyond grateful to Optimistic Hacker Gaius for recovering my scammed crypto. After losing a significant amount to a sophisticated scam, I thought all hope was lost. But Gaius stepped in, explained the process, and worked tirelessly to track and recover my funds. His professionalism and expertise were evident throughout. Thanks to him, I got everything back. If you're in a similar situation, I highly recommend reaching out to Gaius. Truly a lifesaver!"

CONTACT INF.......

MAIL BOX:   support @optimistichackargaius.co.m

WEBSITE:   https //optimistichackargaius.co.m

WHATSapp:   +44 737 674 0569

Collapse
 
murphy_aguero_01b36448a55 profile image
Murphy Aguero

Top Crypto Recovery Company: Go To ZEUS CRYPTO RECOVERY SERVICES

ZEUS Crypto Recovery Saved Me from Losing My Funds!, I was scammed out of 123,880.05 by a fake investment platform, but ZEUS Crypto Recovery Services helped me get it all back. Their team was professional, knowledgeable, and kept me informed throughout the process. They took quick action, traced the scam, and worked tirelessly to recover my funds. I’m beyond grateful for their expertise and support. If you’ve been scammed, I highly recommend ZEUS Crypto Recovery they truly deliver results

WhatsApp: +447841900082

Webpage: zeusrecoveryservices .co m

Mail-Box: support @ zeusrecoveryservices .c om

Collapse
 
hannah_chan_cbd78e4901127 profile image
Hannah Chan

There are lots of hackers online, but not all of them are as professional as this genius Vadim Albert who helped me hack into an iPhone16 within 6 hours without the owner knowing. I could see all messages, Texts, WhatsApp, Snapchat and Facebook. I honestly was amazed at the things I found out, but I am glad I was able to see the kind of person I was dating. I could see all these from my own phone without physical access to the target's phone. Take this opportunity if you need help, reach Vadim on EMA1L: VADIMWEBHACK@GMA1L C0M
He also helped a friend of mine fix his credit and got his score from low 500s to over 750 within 2 weeks. I hope you don't miss out on this opportunity.

Collapse
 
jessamyn_mclyntyre_f0a36f profile image
Jessamyn Mclyntyre

It’s very important you know, i used the service of hackerspytech{AT}g'mailcom to hack my husband’s phone. And it went well. I am currently in his phone without him knowing. I promised I will recommend him if it works, he was able to get into my cheating spouse iPhone

Collapse
 
mikes_miller_581d4e9970a6 profile image
Mikes Miller

I just have to introduce this hacker that I have been working with him on getting my credit score been boosted across the Equifax, TransUnion and Experian report. He made a lot of good changes on my credit report by erasing all the past eviction, bad collections and DUI off my credit report history and also increased my FICO score above 876 across my three credit bureaus report he also helped me with my recover my cryptocurrency that i invested in a scam cryptocurrency company you can contact him for all kind of hacks . Email him here via EMAIL ETHICALHACKERS009 @ gmail.com orwhatsapp +14106350697

Collapse
 
martha_preston_205f67f052 profile image
Martha Preston

Thank you for this. So technically, you can achieve this request plus having to contact the right means of assistance. If anyone out there is in need of a legit hacker for hire to hack a phone without target consent, recover your intstagram account, hack facebook account, remove unwanted content from the internet, retrieve stolen crypto coins, get back a password, hack Gmail, hack social media networks, boost your school grades, and MORE, look no further and contact hackerspytech @ gmail com He helped me tremendously with this after i contacted him on gmail to recover my lost social media account. Spytechacker is always there to help when needed. If I can give the this veritable spytechacker team more stars for job satisfaction, I would because 5 stars are not enough! #passwordrecovery #instagramrecovery #FacebookRecovery #facebookrecoverysuccess #SocialMediaHacker #HACKERSPYTECH #hireahacker #recoveryispossible #hackinstagram #hacksocialmedia #cryptorecovery #boostschoolgrades #bitcoinrecovery

Collapse
 
lysba_james_f5c8076596d44 profile image
Lysba James

Legitimate Crypto/Bitcoin Recovery Firm in 2026 ; Visit ZEUS CRYPTO RECOVERY SERVICES

I am incredibly grateful to ZEUS CRYPTO RECOVERY SERVICES for their exceptional help. After losing $209,000.56 in Bitcoin last month, I felt hopeless. Their team was professional, transparent, and utilized advanced blockchain forensics to track and successfully recover my assets. They kept me updated throughout the entire process, providing peace of mind during a stressful time. I highly recommend their expertise to anyone facing similar crypto losses. Below is their contact information..

Website: zeusrecoveryservices.com

Mail-Box: support @ zeusrecoveryservices .c om

WhatsApp: +44-7841 9000-82

Collapse
 
melissa_pearson_a48c3a8f9 profile image
Melissa Pearson

I am excited to share my experience about jbeespyhack @gmail.com , they're truly a top-notch supreme hacker who truly cloned my spouse's phone without any stress. As a result, I was able to access my spouse's activities including bank Apps, Text messages, Call logs, and various social media platforms such as WhatsApp, Instagram, Facebook, TikTok, WeChat, Snapchat, Twitter. They even restored all the phone-deleted text messages and other chats that were deleted from her social media accounts. Moreover, I also had full access to the phone gallery without touching the phone. With their help, I was able to see my spouse's whole secret. jbeespyhack @gmail.com also offers other services such as credit score repair, credit card limit upgrades, Clearing criminal records, improving school grades, etc.
They are very fast, and their rates are affordable. You can contact them via email, or visit their website to learn more about their services.
jbeespyhack @gmail.com

Collapse
 
brandi_jbennett_2794f48 profile image
Brandi J. Bennett

My recommendation goes to CIPHERTRACES [DOT] COM

This team was able to execute and investigate the loss of over $85,000.00 Usdt of I and my friend we have started getting our refunds and we are grateful

Collapse
 
peter_brooks_f04df804ac6f profile image
Peter Brooks

Earlier this year, I came across what seemed like a once in a lifetime investment opportunity, I thought it could help build some savings. I’m a nurse who lives on a modest salary and any extra income goes toward my children’s future. The opportunity involved an online auction investment platform where people could buy and sell valuable items, and investors like me could earn commissions from the transactions. It sounded intriguing and promised steady returns. After a few months of actively engaging the activities of this platform, I saw my profits grow into some decent value but trouble was not far behind as I met some unforeseen withdrawal complications upon attempting to withdraw my funds. The platform kept delaying the process for various reasons claiming they were protocols, protocols that I wasn’t aware of until that point. However, the delays kept piling up and they kept asking for more deposits. As luck would have it, I found help in the services of DARKRECOVERYHACKS RECOVERY CORP through the recommendations of friends online. I’m glad they did not disappoint me otherwise I wouldn’t be here today sharing my testimony. Thanks to DARKRECOVERYHACKS RECOVERY CORP, I was able to recover my funds from the investment company, and I’m slowly getting back on my feet. I hope my story serves as a warning to others, be wary of opportunities that seem too good to be true. I can't thank DARKRECOVERYHACKS RECOVERY CORP enough, their team of professionals will assist you in the highest possible level to ensure you reclaim what rightfully belongs to you, contact details are as follows,
Email : DARKRECOVERYHACKS @ GMAIL DOT COM
Telegram : DARKRECOVERYHACKS.
Scammers have become more sophisticated, and even the most cautious people can fall victim if they’re not careful, today I now know how to look for proper licensing and third party verification before trusting any online service with my Money thanks to the amazing RECOVERY TEAM at DARKRECOVERYHACKS RECOVERY CORP, it was really a learning curve and I learnt a lot from them.

Collapse
 
patrick_lucas_c4d64c5f7f7 profile image
Patrick Lucas

Best Crypto Recovery Services consult OPTIMISTIC HACKER GAIUS

I am beyond grateful to Optimistic Hacker Gaius for recovering my scammed crypto. After losing a significant amount to a sophisticated scam, I thought all hope was lost. But Gaius stepped in, explained the process, and worked tirelessly to track and recover my funds. His professionalism and expertise were evident throughout. Thanks to him, I got everything back. If you're in a similar situation, I highly recommend reaching out to Gaius. Truly a lifesaver!"

CONTACT INF.......

MAIL BOX:   support @optimistichackargaius.co.m

WEBSITE:   https //optimistichackargaius.co.m

WHATSapp:   +44 737 674 0569

Collapse
 
kerstin_freja_2f3ebfa2d92 profile image
Kerstin Freja

i have been in the dark in my 15years of marriage. Alot has been going on with my partner . i thought he was truthful to me but i was completly wrong maybe cos i trusted him so much that's why i didn't get to find out in time. my husband has another wife with 2 kids while still married to me. All these i found out when i hired a monitor expert ; Remotespyhacker AT gm ail ; who helped me gain access to his phone remotely. when i saw all the messages and photos i was speechless. Honestly i'm just expressing myself best way i can but i'm so hurt right now

Some comments may only be visible to logged-in visitors. Sign in to view all comments.