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.
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!
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.
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.
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!
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!
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.
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.
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 (287)
When I tried to hack my smart vibrator, I learned how vulnerable IoT devices can be. Security flaws allowed unexpected access, raising privacy concerns. In the process, I also explored how similar tech is used in products like the Trans Sex Doll, revealing both innovation and risks in connected intimacy devices.
INITIALLY, the whole process went well, especially up to the point when I was ready to invest in binary option, no doubts they looked like the real deal, I was completely fooled but Im glad I made a swift recovery from that investment blow, hardest part is how I was done by the same people I just with my investment, thanks to a brilliant recovery pro at blockchainrecall at gmail dot com for their ability to do what I thought was impossible, I got every dime I put in back and I am better informed now
I recently experienced a significant turning point in my life when I discovered the contact information for an expert known as; Remotespyhacker [ AT ] gm ail c 0m. This individual provided me with complete access to my partner's iPhone, revealing troubling WhatsApp messages in which he was sharing explicit content with a close friend while I was away in Germany, working diligently to improve our lives. Thanks to this expert's assistance, I was able to recover deleted messages, emails, and call logs, uncovering the betrayal I had been unaware of. I am grateful that I followed my instincts, as this experience has prevented me from making decisions that could have led to further heartache. Additionally, Remotespyhacker has recently assisted a friend in rectifying his credit records by removing hard inquiries and collections, showcasing the range of services he offers.
I tried them out as well and they did great !. Thanks for posting about their good works. They helped me recover my lost crypto funds
With my limited experience from working in an IT company, I assumed I could easily navigate the crypto investment world. Unfortunately, I was wrong. Just two months after joining an investment platform I discovered through YouTube ads, I was scammed. I had frequently downloaded apps and other items from YouTube ads, trusting that if YouTube approved the ads, they were legitimate. I even conducted my own research on the company, and everything appeared clean. Confident in my decision, I went ahead and invested USDT182,000, but I didn’t receive a single payout.I tried everything within my power to resolve the issue myself, but the company kept asking for a certain legal fee to reopen my account for withdrawal. Frustrated and desperate, I decided to involve a third party to oversee the situation. That’s when Coreassetinc Recovery Firm came into the picture and things took a turn. They advised me not to pay any more money to the fraudulent company, explaining that even if I paid the fees, the company would still withhold my funds.Working with Coreassetinc Recovery Firm , I embarked on a recovery path that taught me more about the internet and how it operates. Their guidance enlightened me on many things I initially didn’t know about online scams. After a successful recovery, I gained a deeper understanding of the investment process and how scammers trick people into believing the fake numbers on their websites are real. This experience was a significant learning curve for me, making me more cautious and informed about online investments.
I am forever grateful to the Coreassetinc Recovery Firm team for their crucial role in this process. Without their expertise and intervention, I would have thought my funds were lost forever. They proved that FUNDS RECOVERY was possible and helped me reclaim my money. Their knowledge and professional approach were instrumental in turning around what seemed like a hopeless situation.
Contact info below .
EMAIL ID : coreassettinc AT G MAIL DOT COM
TELEGRAM ID : coreassetinc . Their assistance was invaluable to me, and I highly recommend their services to anyone dealing with online investment fraud
I would recommend the best recovery team available to anyone who has been a victim of scam like i was a few weeks ago. I was able to recover my fund that i got scammed of, $112k in total. All thanks to Darek Recovery Service, you can contact them via email;( recoverydarek @ gmail. com ) They are very reliable and trust worthy.
In recent years, cryptocurrency has gained immense popularity as a convenient way for people to earn money using their mobile devices. However, it is crucial to acknowledge that significant losses have occurred in cryptocurrency trading, leaving many victims unable to recover their funds due to a lack of knowledge and information. Thankfully, CORE ASSET INC is available today to provide assistance and help crypto scam victims get back whatever they have lost to scammers investing into cryptocurrency.
This group of experts has successfully completed numerous recovery cases, demonstrating their expertise and reliability in achieving successful recovery for their clients. Personally, I was able to recover my lost assets by closely following their instructions and working closely with them. I was just trying to earn a living just like everyone else does but mine took a wrong turn and I lost nearly $300,000 within the first 2 months with the scam company I got involved with , But the most important part of it all was me not giving up easily.
It is essential not to let these scammers escape the consequences of their actions , make sure to fight for your right and don't lose hope because retrieval is possible with their expertise and assistance in funds recovery. CORE ASSET INC has proven to be trustworthy, they are amazing people and with their support, you can finally achieve a positive outcome. Yes, It is common for people to fall victim to trading platforms and then end up with the wrong recovery agents.
However, with CORE ASSET INC, you can be confident that you will receive the exact assistance you need. When I initially reached out to them, I was confused and exhausted about the whole situation , but they reassured me that everything would turn out well, and they stayed true to their promises. They promptly responded to my messages and patiently answered all my questions, even the ones I found confusing.
Although I felt nervous and had intrusive thoughts during the process, I did not let them hinder my progress. For assistance, you can contact CORE ASSET INC via their email address COREASSETTINC @ GMAIL. C O M or reach out to them on Telegram (@ COREASSETINC).
I was unfortunately deceived by a cryptocurrency mining scam that nearly caused me financial ruin and I nearly lost my life. Thankfully, I discovered the services of s i l v e r c r a c k x recovery company
"Telegram @ silvercrackx or silvercrackx @ gmail.com"
before the situation worsened and was able to recover my funds, they are my life saver. In pursuit of justice, s i l v e r c r a c k x recovery company left no stone unturned and recovery was possible, I had almost given up on my funds until I discovered s i l v e r c r a c k x recovery company.
RECOVER YOUR LOST/STOLEN DIGITAL ASSETS WITH RECOVERY EXPERTS "DARKRECOVERYHACKS @ GMAIL.COM OR TELEGRAM: @ DARKRECOVERYHACKS"
I was unfortunately deceived by a crypto mining scam that nearly caused me financial ruin and I nearly lost my life. Thankfully, I discovered the services of darkrecoveryhacks corp before the situation worsened, they are my life saver. The scammers operated a group where they provided updates on trading and trading signals. However, to gain access to this premium group, one had to subscribe with a payment of “1000 Euros.” Inside the group, the admin would post information about tokens that would soon be listed on Binance exchange and other top exchanges. They claimed that buying these tokens before the listing and selling them later would result in substantial profits. As a first timer in the world of crypto, I reached out to the group admin for guidance. They instructed me to transfer Ethereum to a cold wallet and purchase the tokens through UNISWAP. Following their instructions, I bought a total of 32 Ethereum, equivalent to $65,328, worth of the token. However, when I attempted to sell the tokens or withdraw my funds back to USD, I encountered difficulties. Realizing that the situation was beyond my capabilities, I sought the assistance of the Recovery Experts. We communicated further about my situation and they requested substantial information for the investigation, I shared the contract and other relevant information I had about the scam tokens. At present, the token’s value continues to rise, but I suspect that the team behind it is artificially inflating the market value to entice people to invest without receiving the promised returns. I strongly recommend reaching out to this Recovery team as soon as possible to address your situation, they turned my story around exceeding my expectations, darkrecoveryhacks corp never failed me, they kept to their word from the onset that my funds will be recovered.
Connecting with recovery specialists at S I L V E R C R A C K X RECOVERY TEAM changed my story forever, I had invested 190,000 USDT in a seemingly legitimate cryptocurrency investments platform with promises of making grand profits from the investment. The moment came for my withdrawal and everything turned sour, I had trusted them with my funds with the sole aim of making more money from the investment but I lost everything in a blink of an eye. The investment platform looked legit with a Telegram group chat of investors posting their proofs of investment and profits made from investing with the platform, it was all a sophisticated fraudulent Ponzi scheme laid out by scammers to exploit unsuspecting investors. What would I had done without the recovery experts at S I L V E R C R A C K X, their commitment to recover back my lost investment funds was indescribable. With their help I got back my lost crypto funds, I am amazingly overwhelmed with joy and forever indebted to them for coming to my rescue. I recommend S I L V E R C R A C K X for victims of online fraud to recover their lost funds, their relentless efforts and support throughout the recovery process were invaluable. Investing in cryptocurrency investments was a mistake that almost ruined my life , all thanks for the exceptional recovery service of S I L V E R C R A C K X I was able to regain control of my finances.
A few months ago, I found myself caught up in excitement of cryptocurrency mining pool and its high returns. Initially it was through an online platform, the company had an impressive website with good testimonies from other customers, I was convinced to invest without knowing it was a fake crypto mining platform set up by scammers to defraud customers which I unknowingly fall for, the loss I took after getting involved with this platform almost ruined my life but Thanks to silvercrackx RECOVERY COMPANY for their intervention, help and professional service to ensure the swift recovery process of my investment with the platform. I was devastated after losing $425,000 worth of ethereum to the platform just within a few months of growing my investment, they suddenly denied me the withdrawal of my funds just when I was due to withdraw procedures and compliance for withdrawals, I tried reaching out to the customer service team but they became hard to reach. The story kept changing: first, it was a server issue, then it was additional security checks. Eventually, all communication stopped and that was when it hit me that I had been scammed. I tried using the police but they were unable to help in such a situation, I started researching online to find out if there was any way to recover my funds and that was how I came about silvercrackx RECOVERY COMPANY through a crypto blogs where people mentioned recovery firms that specializes in retrieving lost crypto from fraudulent platforms. silvercrackx RECOVERY COMPANY being the highly recommended Firm I quickly reach out to them through their contact details, they responded and requested for details and proofs of my investment with the crypto mining platform which I provided before they move on with the recovery processes. After about almost a week of their operations and professional services, they managed to recover back my investment of $425k worth of ethereum back to my wallet. it was such a huge relief for me and I’m so grateful to the team for such lifesaving help rendered.
Below is the teams contact info
E M A I L HANDLE silvercrackx @ G M A I L D O T C O M or T E L E G R A M CHANNEL @ silvercrackx.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.