- Joined
- Oct 26, 2016
- Messages
- 152
- Reactions
- 125
- Age
- 54
After reading the news about the new firmware coming up which will enforce re-registering, make you accept a new privacy policy and will in long term likely force all Mavic usage out of cities, I have started the process of trying to save its current state so I would no longer be dependent on DJI if I ever needed to reinstall my app.
Already done:
- Used Helium + Carbon to back up the Go4 app + app-data on a non-rooted tablet in case the new Go app enforced the new firmware, some other policies or if I ever had to reinstall the tablet and the app which - again - would force me to connect to DJI with the account. If DJI ever goes bust or their servers are down, I need this backup otherwise my drone would be no more than a paperweight.
To do:
- Check where the app connects to
- Mitm connection to the DJI site
- Find out how current/old firmwares are downloaded
- Create a way to intercept the login process and return an 'OK'
- Create a way to upload an older firmware (if the option was later denied and wasn't enforced by the new firmware - though this is unlikely)
Now... I wasn't going to share any of this, but a minute ago when I started working on this, when I launched the app it connected to these:
1) graph.facebook.com
2) astat.bugly.qq.com
3) upgrade.dj2006.net
4) adash.m.taobao.com
5) upgrade.bgcentre.com
6) version.hybrid.api.here.com
7) download.vcdn.nokia.com
8) www.skypixel.com
9) www.djiexplore.com
10) mydjiflight.dji.com
11) statistical-report.djiservice.org
I haven't done any SSL mitm yet, but I'm already seeing this:
T *:* -> 52.200.19.217:80 [AP]
POST /upgrade/inspireinfo HTTP/1.1..Content-Type: application/x-www-form-ur
lencoded..Content-Length: 252..Host: upgrade.dj2006.net..Connection: Keep-A
live..Accept-Encoding: gzip....Data={"apptype":1,"appversion":"4.0.2","crea
tetime":1495916404107,"devicesn":"<MY SERIAL>","devicetype":1,"devicever
sion":"03.02.30.13","guid":"<MY DEVICE ID>","id":25,"
isUploaded":false,"productype":13,"user":"<MY USERNAME>"}
Phoning home with the serial and username and everything else is kind of expected (though still highly undesired). Posting crap to Facebook (I specifically avoided installing Facebook) and the Chinese QQ doesn't make me jump for joy. QQ is some debugging service for Android. Nokia / here.com are used for the map I think. Skypixel is used for the splash image. MyDJIflight.com - I don't know, it's on SSL but I hope it's not the server to receive all my flight logs automatically.
I do wonder what "isUploaded" means. Uploaded what.... It sounds suspicious.
Today I visited a friend, I took my two mavics, asked him to install the app to fly with me. According to the above (since my friend has Facebook on his phone) Facebook is able to connect him to flying my drone. And this is probably just the tip of the iceberg.
I know this is not much info but I'll post it if I find out anything new and interesting. If anyone's been over this or got any clues, I would appreciate the info myself. I'm a bit swamped with work so I'm doing this out of necessity, not the fun of debugging.
Already done:
- Used Helium + Carbon to back up the Go4 app + app-data on a non-rooted tablet in case the new Go app enforced the new firmware, some other policies or if I ever had to reinstall the tablet and the app which - again - would force me to connect to DJI with the account. If DJI ever goes bust or their servers are down, I need this backup otherwise my drone would be no more than a paperweight.
To do:
- Check where the app connects to
- Mitm connection to the DJI site
- Find out how current/old firmwares are downloaded
- Create a way to intercept the login process and return an 'OK'
- Create a way to upload an older firmware (if the option was later denied and wasn't enforced by the new firmware - though this is unlikely)
Now... I wasn't going to share any of this, but a minute ago when I started working on this, when I launched the app it connected to these:
1) graph.facebook.com
2) astat.bugly.qq.com
3) upgrade.dj2006.net
4) adash.m.taobao.com
5) upgrade.bgcentre.com
6) version.hybrid.api.here.com
7) download.vcdn.nokia.com
8) www.skypixel.com
9) www.djiexplore.com
10) mydjiflight.dji.com
11) statistical-report.djiservice.org
I haven't done any SSL mitm yet, but I'm already seeing this:
T *:* -> 52.200.19.217:80 [AP]
POST /upgrade/inspireinfo HTTP/1.1..Content-Type: application/x-www-form-ur
lencoded..Content-Length: 252..Host: upgrade.dj2006.net..Connection: Keep-A
live..Accept-Encoding: gzip....Data={"apptype":1,"appversion":"4.0.2","crea
tetime":1495916404107,"devicesn":"<MY SERIAL>","devicetype":1,"devicever
sion":"03.02.30.13","guid":"<MY DEVICE ID>","id":25,"
isUploaded":false,"productype":13,"user":"<MY USERNAME>"}
Phoning home with the serial and username and everything else is kind of expected (though still highly undesired). Posting crap to Facebook (I specifically avoided installing Facebook) and the Chinese QQ doesn't make me jump for joy. QQ is some debugging service for Android. Nokia / here.com are used for the map I think. Skypixel is used for the splash image. MyDJIflight.com - I don't know, it's on SSL but I hope it's not the server to receive all my flight logs automatically.
I do wonder what "isUploaded" means. Uploaded what.... It sounds suspicious.
Today I visited a friend, I took my two mavics, asked him to install the app to fly with me. According to the above (since my friend has Facebook on his phone) Facebook is able to connect him to flying my drone. And this is probably just the tip of the iceberg.
I know this is not much info but I'll post it if I find out anything new and interesting. If anyone's been over this or got any clues, I would appreciate the info myself. I'm a bit swamped with work so I'm doing this out of necessity, not the fun of debugging.
Last edited: