MCPcopy Index your code
hub / github.com/dgiese/dustcloud

github.com/dgiese/dustcloud @0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.3 ↗ · + Follow
574 symbols 1,431 edges 39 files 135 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Welcome to our repository for reverse engineering and rooting of the Xiaomi Smart Home Devices. We provide you methods how to root your device without opening it or breaking the warranty seal (on your own risk).

The documentation of the devices (photos, datasheets, uart logs, etc) was moved to a new repo dustcloud-documentation

Please take a look at the Dustcloud Wiki, which also contains instructions on how to root and flash your device: (https://github.com/dgiese/dustcloud/wiki)

Talks

The content of the presentation differs from event to event. If you want to get an overview of the topics I am talking about, you find the overview here: Overview over all topics in presentations
[Sep 2018] I was invited by BeyondSecurity to give a talk at BeVX 2018 in Hong Kong: BeVX 2018 slides
[Aug 2018] I have given two talks at DEFCON26 (101-track and IoT-Village), both are recorded:
"Having fun with IoT: Reverse Engineering and Hacking of Xiaomi IoT Devices": DEFCON26 101-track Slides
"How-to modify ARM Cortex-M based firmware: A step-by-step approach for Xiaomi devices": DEFCON26 IoT Village Slides

[Jul 2018] I was on tour in Taiwan@HITCON14 Community: HITCON14 CMT slides
[Feb 2018] We had a talk at Recon BRX 2018. The presentation can be found here
[Dec 2017] Our talk at 34C3: Recording hosted at media.ccc.de, updated PDF.

Recommended resources / links

Flole App: alternative way to control the vacuum robot, instead of Xiaomi's Mi Home App. Is able to control and root your vacuum cleaner. Enables the use of various speech packages. https://xiaomi.flole.de/

Roboter-Forum.com: German speaking forum with a lot of information about all sorts of robots. Contains special subforums for Xiaomi rooting. Primary resource for beginners. http://www.roboter-forum.com/

Python-miio: Python library & console tool for controlling Xiaomi smart appliances. https://github.com/rytilahti/python-miio

Interesting Robotics class project "ROS on Xiaomi Robot" (by N. Dave, S. Pozder, J. Tan and P. Terrasi) advised by Prof. Hanumant Singh@NEU Field Robotics Lab: https://gitlab.com/EECE-5698-Group-7

Communication for the community

Yes, there is a telegram channel.

If you do not want to use telegram, you can use the Matrix.to channel or our IRC-Channel #dustcloudproject on Freenode, which is bridged to the matrix channel.

In theory you can contact me via twitter.

I am communicating announcements over all channels.

Please inform yourself in the forums and with the howtos before you post in this channel. Otherwise your message is very likely to be ignored.

Contact

  • Dennis Giese / twitter
  • Daniel Wegemer

Press information

IoT will very likely become a very important topic in the future. If you like to know more about IoT security, you can visit me at Northeastern University in Boston, US. Please contact me.

Acknowledgements:

Prof. Matthias Hollick at Secure Mobile Networking Lab (SEEMOO)

SEEMOO logo

Prof. Guevara Noubir (CCIS, Northeastern University)

CCIS logo

Ilfak Guilfanov / Hex-Rays: for their great tool "IDA Pro"

Hex-rays logo

Media coverage:

  • https://www.golem.de/news/reverse-engineering-das-xiaomi-oekosystem-vom-hersteller-befreien-1802-132878.html
  • https://www.kaspersky.com/blog/xiaomi-mi-robot-hacked/12567/
  • https://www.golem.de/news/xiaomi-mit-einem-stueck-alufolie-autonome-staubsauger-rooten-1712-131883.html
  • http://www.zeit.de/digital/datenschutz/2017-12/34c3-hack-staubsauger-iot
  • https://hackaday.com/2017/12/27/34c3-the-first-day-is-a-doozy/
  • https://m.heise.de/newsticker/meldung/34C3-Vernetzter-Staubsauger-Roboter-aus-China-gehackt-3928360.html
  • https://www.notebookcheck.com/Security-Staubsauger-sammelt-neben-Staub-auch-Daten-ueber-die-Wohnung.275668.0.html
  • https://derstandard.at/2000071134392/Sicherheitsforscher-hacken-Staubsaugerroboter-und-finden-Bedenkliches

Core symbols most depended-on inside this repo

print
called by 86
dummycloud/src/cJSON.c
print
called by 36
devices/xiaomi.vacuum/miio_client_os/lib/cJSON/cJSON.c
cJSON_Delete
called by 26
devices/xiaomi.vacuum.gen1/miio_client_os/lib/cJSON/cJSON.c
cJSON_Delete
called by 26
devices/xiaomi.vacuum/miio_client_os/lib/cJSON/cJSON.c
cJSON_Delete
called by 25
dummycloud/src/cJSON.c
renderTemplate
called by 18
dustcloud/www/App/App.php
cJSON_New_Item
called by 17
dummycloud/src/cJSON.c
cJSON_New_Item
called by 17
devices/xiaomi.vacuum.gen1/miio_client_os/lib/cJSON/cJSON.c

Shape

Function 465
Class 59
Method 48
Route 2

Languages

C76%
Python12%
PHP6%
TypeScript3%
C++3%

Modules by API surface

dummycloud/src/cJSON.c109 symbols
devices/xiaomi.vacuum/miio_client_os/lib/cJSON/cJSON.c109 symbols
devices/xiaomi.vacuum.gen1/miio_client_os/lib/cJSON/cJSON.c109 symbols
dustcloud/server.py46 symbols
devices/xiaomi.vacuum/miio_client_os/main.c23 symbols
devices/xiaomi.vacuum.gen1/miio_client_os/main.c23 symbols
dummycloud/src/aes.c22 symbols
dustcloud/www/public/script.js17 symbols
dummycloud/src/common_socket.c17 symbols
dummycloud/src/dummycloud.c15 symbols
dustcloud/www/App/Utils.php11 symbols
devices/xiaomi.vacuum.gen1/mapextractor/extractor.py11 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add dustcloud \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact