Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up

Freeflight 6 mod app

OK. I can't test, because the Android Version on my Tablet Nexus 7 2013 ist < 7.0
I'll believe, that there is also an update for the Anafi /SC3 available?
I'm pretty sure, that the higher range has something to do with the FW of both hardware components and not with the application. One reason is, that you can also fly without any cellphone /Tablet
 
Guys what is all this frozen your on about and do we need to worry more lol ?
 
A big thanks to ds2atc for sharing his work.
I couldn't try ff6_6.5.0_TESTONLY2 and ff6_6.5.0_FCCMODE as when I try to install apk my devices say "There was a problem parsing the package". I tried with 4 Android devices (Android v6 7 and 9) after deleting cache, data, and removing the old stock app.
But I know these are for first test only. I wait too :)
 
A big thanks to ds2atc for sharing his work.
I couldn't try ff6_6.5.0_TESTONLY2 and ff6_6.5.0_FCCMODE as when I try to install apk my devices say "There was a problem parsing the package". I tried with 4 Android devices (Android v6 7 and 9) after deleting cache, data, and removing the old stock app.
But I know these are for first test only. I wait too :)
It should be installed on v7 and v9 devices.
 
It should be installed on v7 and v9 devices.
I could install on my Samsung S8 tablet which is Android 7 (not 7.x, just 7). I should be able to quickly test on saturday, unless you build a new version...
 
Hi.. I'm new here. Just installed ff6_6.5.0_FCCMODE on my Samsung S8 few hours ago and tried doing range test in a residential housing area where there are a lot of interference. Used channel 165 and I'm quite surprised it managed to reached 3795m at those area before RTH. But there's a bit problem during that 1st flight. I'm just sharing what I'd experienced just now. Not to criticized or anything.

1. RTH got no live view feed all the way until it landed. Did exit & closed the app, & start back the app a few times during RTH but still black screen. (Luckily can watch the map to see the drone to come back lol).

2. When it landed, battery left was 26%. Then as usual I want to switch off the battery with the single click. But it didn't switch off. Click it few more times, & still it's on. Had to use the hard reset to switch it off by holding the power button a few seconds until the 4 red indicator light appeared & then released. 1st time happened to me so I'm not sure what happened :)

3. Everything was normal after switching all off & restart back. But when I wanted to download the recorded video, all I saw was 1 video file with 44 seconds only. The rest of it was not recorded. And again 1st time happened to me & not sure what happened :)

So that was my experienced of my 1st flight. Will try again tomorrow if those thing will happened again or maybe I'm just unlucky on the 1st flight test :)

PA 3795m 6.5.0.jpg
 
  • Like
Reactions: Gérard
In case I don't have time to modify or I sell or lose my Anafi, I will write down what I have done for modification here.

1. get apk
The best way to get an apk file is getting it from your device. There are many methods to do this. I use LG backup to get it.
or use apkmirror.com if you trust that site.

get the latest version(which you will modify) and the same version of original file of the latest modded version you can get.

also get the latest version of modded one here.

2. get apktool
From FF6 6.5.0 update, only apktool 2.4.0 version works

3. install jdk
You will need this for keytool, jarsigner, java

4. get jadx
jadx is a reverse engineering tool for android apps. It decompiles apk file directly and shows you the original source code(not perfectly tho)

5. check if wifi code is changed
Open 2 original apk files in jadx and see the difference.
A code that handles wifi signal mode is com\parrot\drone\groundsdk\arsdkengine\peripheral\anafi\wifi\AnafiWifiAccessPoint.class

Search sendDetectedCountry method in order to check if it is changed.
If it has not changed, you are good to go.

You can also check the groundSDK codes here

6. Decompile apk(.class or .dex -> smali)
Code:
java -jar apktool_2.4.0.jar -f d filename.apk -o destinationdirectory

7. Decompile older version of modded apk
Code:
java -jar apktool_2.4.0.jar -f d filename2.apk -o destinationdirectory2

8. modify smali code
open both smali files from
destinationdirectory\smali\com\parrot\drone\groundsdk\arsdkengine\peripheral\anafi\wifi\AnafiWifiAccessPoint.smali
destinationdirectory2\smali\com\parrot\drone\groundsdk\arsdkengine\peripheral\anafi\wifi\AnafiWifiAccessPoint.smali

copy and paste codes around line 170 to make those two codes are the same.
Original code
Code:
iget-object v0, p0, Lcom/parrot/drone/groundsdk/arsdkengine/peripheral/anafi/wifi/AnafiWifiAccessPoint;->mReverseGeocoder:Lcom/parrot/drone/groundsdk/internal/utility/ReverseGeocoderUtility;
invoke-interface {v0}, Lcom/parrot/drone/groundsdk/internal/utility/ReverseGeocoderUtility;->getAddress()Landroid/location/Address;
move-result-object v0
invoke-virtual {v0}, Landroid/location/Address;->getCountryCode()Ljava/lang/String;
move-result-object v0

=> String countryCode = mReverseGeocoder.getAddress().getCountryCode();




Modified code
Code:
iget-object v0, p0, Lcom/parrot/drone/groundsdk/arsdkengine/peripheral/anafi/wifi/AnafiWifiAccessPoint;->mReverseGeocoder:Lcom/parrot/drone/groundsdk/internal/utility/ReverseGeocoderUtility;

invoke-interface {v0}, Lcom/parrot/drone/groundsdk/internal/utility/ReverseGeocoderUtility;->getAddress()Landroid/location/Address;

move-result-object v0
=> Address address = ReverseGeocoderUtiliity mReverseGeocoder.getAddress()

const-string v0, "US"

=> Overwrite variable v0 to String Str = "US"

9. modify android.manifest
open android.manifest files in destinationdirectory and destinationdirectory2

Search google map api key from older version, and copy & paste to the new version(or you can make your own google map api key at cloud.google.com)
Search debuggable="true" and copy&paste(Optional)

10. compile your app
Code:
cd destinationdirectory
java -jar apktool_2.4.0.jar -f b -o ..\FF6_x.x.x.apk

11. make keystore and sign your app
Code:
keytool -genkey -v -keystore resign.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore resign.keystore FF6_x.x.x.apk alias_name

12. Review your app with jadx
open the modded app with jadx
and see the code is modified correctly

13. test your app
Install the app to your phone, and see if channel 36~48 are available, if there's no error, and if the map loads without problem.
 
Last edited:
Hi.. I'm new here. Just installed ff6_6.5.0_FCCMODE on my Samsung S8 few hours ago and tried doing range test in a residential housing area where there are a lot of interference. Used channel 165 and I'm quite surprised it managed to reached 3795m at those area before RTH. But there's a bit problem during that 1st flight. I'm just sharing what I'd experienced just now. Not to criticized or anything.

1. RTH got no live view feed all the way until it landed. Did exit & closed the app, & start back the app a few times during RTH but still black screen. (Luckily can watch the map to see the drone to come back lol).

2. When it landed, battery left was 26%. Then as usual I want to switch off the battery with the single click. But it didn't switch off. Click it few more times, & still it's on. Had to use the hard reset to switch it off by holding the power button a few seconds until the 4 red indicator light appeared & then released. 1st time happened to me so I'm not sure what happened :)

3. Everything was normal after switching all off & restart back. But when I wanted to download the recorded video, all I saw was 1 video file with 44 seconds only. The rest of it was not recorded. And again 1st time happened to me & not sure what happened :)

So that was my experienced of my 1st flight. Will try again tomorrow if those thing will happened again or maybe I'm just unlucky on the 1st flight test :)

1. RTH black screen is a known issue for Samsung devices. I don't know why but my Galaxy tab S4 also has that problem even with the original app.
2,3. I experience those malfunctioning some times... and those are also known issues.

Please try again and check if the problems above occur again.
 
1. RTH black screen is a known issue for Samsung devices. I don't know why but my Galaxy tab S4 also has that problem even with the original app.
2,3. I experience those malfunctioning some times... and those are also known issues.

Please try again and check if the problems above occur again.
Ow ok. Thanks for explaining. I'm still a noob lol. Had the anafi around a month now. So still need to learn more & understand better on the drone
 
Hi, with this modded app i am always on fcc mode or i must do sonething before like use fake GPS or similar?
 
Thanks for the new version,
Thanks also for the details on the code, I wish I could understand, follow and repeat your work, too long since I did aome programing...
 
  • Like
Reactions: Zigzag84

Members online

No members online now.

Forum statistics

Threads
5,318
Messages
45,158
Members
8,028
Latest member
Dave01