Earlier quoted context omitted.
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
I Reversed a Drone and Landed It with My PC
41–50 of 51 posts
Re: I Reversed a Drone and Landed It with My PC
#42I am confused... isn't Parrot's ground SDK open source? https://github.com/Parrot-Developers/groundsdk-android Why reverse it?
For context, this drone was reversed back in 2018 as part of my bachelor thesis. At the time, the SDK hadn’t been released yet I believe, so reversing was the only available option. Recently, I revisited this work and decided to include it on my new hardware hacking wiki - HardBreak.
But anyway, for educational purposes it's interesting to reverse engineer anything you want!
Re: I Reversed a Drone and Landed It with My PC
#43I am confused... isn't Parrot's ground SDK open source? https://github.com/Parrot-Developers/groundsdk-android Why reverse it?
That was my thought, at least one of those packets in their snooping (src. port 14551 / dest port 14550) is the standard Mavlink port to send to the GCS. I wonder if the proprietary packet they decoded here is actually just a MAV_CMD_DO_SET_MODE setting the drone into a takeoff flight mode.
Re: I Reversed a Drone and Landed It with My PC
#44Earlier quoted context omitted.
What are you talking about? The Anafi drone uses regular wifi, with ESSID and password, and that's how the security is achieved. There is no need for additional encryption on protocol level. It's really the best way - instead of making ad-hoc security mechanisms, rely on well-researched and well-tested wifi security. (That first sentence, "Start by connecting your PC to the Parrot Anafi’s Wi-Fi network", really carri…
They used to have root shell on telnet in early consumer drones. It was a long time ago, but that can't happen by accident; they could have used dropbear with known fixed password, Wi-Fi MAC as password, etc. They also had wildly different mass than competitors - realistically DJI - at same price/performance ranges. So I assumed ever since that they have their unique opinions about security and architecture of a flyi…
Is that a problem as long as the drone WiFi is protected?
Re: I Reversed a Drone and Landed It with My PC
#45Earlier quoted context omitted.
For context, this drone was reversed back in 2018 as part of my bachelor thesis. At the time, the SDK hadn’t been released yet I believe, so reversing was the only available option. Recently, I revisited this work and decided to include it on my new hardware hacking wiki - HardBreak.
Hmm. Parrot has had SDKs for their drones years (at least 5) before 2018. Maybe it happened during the few months between the moment they shipped the Anafi and the moment they shipped the corresponding SDK, then. But anyway, for educational purposes it's interesting to reverse engineer anything you want!
Yeah I learned a lot doing it!
Re: I Reversed a Drone and Landed It with My PC
#46Earlier quoted context omitted.
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
If you really want encryption, you can simply use a PiZero that talks CRSF to Betaflight and has an encrypted channel to your ground station over 4G LTE/Wifi/Wfb-ng/what not.
But if you're dealing with 4G and PiZero, might as well use Ardupilot + mavlink. Those tools already support this use case much better.
Betaflight is more of a proximity racing drone kind of use case. Only recently did it's GPS return to home functionality got some improvements.
Re: I Reversed a Drone and Landed It with My PC
#47Re: I Reversed a Drone and Landed It with My PC
#48Earlier quoted context omitted.
BetaFlight doesn't deal with over-the-air bits, it just receives PWM/PPM/S-Bus/whatever signals your receiver provides. There is no point to have encryption in firmware, because connection between RX and FC is hardwired and can be trusted. Lack of OTA frames encryption, as far as I can tell, is mostly due to legacy reasons. In DYI FPV there are only couple of transmission standards, most of them using 2.4GHz FHSS or…
The threat model for most FPV pilots (either hobbyists or people in Ukraine) doesn't really include hijacking of the air link. It's trivial to just shoot something down with interference, sometimes inadvertently. Pretty much everyone in FPV is now using ExpressLRS, which is an open protocol. If you want an encrypted air link, then the best option I'm aware of is the proprietary TBS Crossfire protocol. https://www.exp…
Re: I Reversed a Drone and Landed It with My PC
#49Earlier quoted context omitted.
Hmm. Parrot has had SDKs for their drones years (at least 5) before 2018. Maybe it happened during the few months between the moment they shipped the Anafi and the moment they shipped the corresponding SDK, then. But anyway, for educational purposes it's interesting to reverse engineer anything you want!
I think I searched for the corresponding SDK back then, but couldn't find anything. Maybe I was just too stupid haha Yeah I learned a lot doing it!
Re: I Reversed a Drone and Landed It with My PC
#50Earlier quoted context omitted.
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
If you want autonomous stuff with more advanced features ArduCopter is the way to go.