Jump to content

Remove CE limits from DJI products and other fun stuff in DJI Go4


Bin4ry

Recommended Posts

A hack to enable Google Maps would definitely be great.  On older versions of DJI Go 4 such as V4.0.3, disabling the MapService on a rooted phone automatically gave you Google Maps back.  On 4.1.3, disabling MapService give you Google Maps, but it's no longer working, and is now blank.

Link to comment
Share on other sites

yeah, sorry for not writing it clearly. My apk is signed with the android testkeys. So if you want to install it you have to remove the original version first.

If you want to update my apk to a newer version you can just install it since it will again use the testkey ;) 

 

I will most likely push some scripts tomorrow to github along with my patches so that everybody can build an own apk easily. Also i hope that github will kickstart others helping on the mod. If anybody wants to help i am more than happy to discuss ;) 

 

Best Regards

Link to comment
Share on other sites

Yah, for google maps i still have to take a look. 

You know Google Maps needs an APIkey, they will bill you (or DJI) for the use, so i think DJI may have removed it and i am not willing to put it back if they removed it for this reason! 

For the login i will see, it is so much spread there it is an longterm search to not break anything important.

Link to comment
Share on other sites

32 minutes ago, Bin4ry said:

yeah, sorry for not writing it clearly. My apk is signed with the android testkeys. So if you want to install it you have to remove the original version first.

If you want to update my apk to a newer version you can just install it since it will again use the testkey ;) 

 

I will most likely push some scripts tomorrow to github along with my patches so that everybody can build an own apk easily. Also i hope that github will kickstart others helping on the mod. If anybody wants to help i am more than happy to discuss ;) 

 

Best Regards

Good idea to setup a github. I have used your most recent apk and modified the default height limit for the Spark. Controlling the spark via your phone only allows a distance of 100m and 50m height. I set the height to 100m and just tested and it works perfectly. Working on setting the max distance now so that we no longer have the 100m distance limit (active track anyone?) Curious how far we can push the distances with the phone before RTH kicks in.

The change to 100m height was very simple (note it can not be edited from within the app yet, the text is still greyed out but displays correctly. I will update when we can set whatever height/distances we want in the app) This is my first time with android/java/smali so apologies for the ugly hack... but it works and has put me on the path to unlock as much as I can.

In file dji.pilot.publics.util.a (classes5) I changed 0x32 to 0x64 (The 'return 50' now is 'return 100')

Here is the java:

public static int a(boolean z, boolean z2, int i) {
        if (z) {
            return 30;
        }
        if (!z2 || i <= 50) {
            return i;
        }
        return 50;
    }

In the smali file I changed:

.method public static a(ZZI)I
    .locals 1

    .prologue
    const/16 v0, 0x32

to:

.method public static a(ZZI)I
    .locals 1

    .prologue
    const/16 v0, 0x64

 

Cheers

  • Upvote 1
Link to comment
Share on other sites

Just a bit of info. I installed the latest version and really like the improvements! But, the ability to disable the Here maps does not work anymore. I was using this method;

https://madsrc.com/2017/01/22/dji-go-4-get-google-maps-back-on-android/

Now when I do this, it does show google maps as the provider but I get no maps or imagery. It is just blank. Kinda sucks but I can deal with Here crap maps to get around all the other crap. Strange that it still worked with the previous version. Maybe google looks at the app version before deciding if it will allow access?

Oh, and it is interesting looking at all the services for the Go app.

Link to comment
Share on other sites

4 hours ago, artu-ole said:

@Bin4ry hey, I am all up for a single version of an app. When you've set up github I'll add a hack to disable login. 

In the mean time, you want to show the code here to speed things up for the rest of us who are working on this?

Link to comment
Share on other sites

Hey,

i just started putting stuff together for the github but i don't have this much time today as i hoped so it will have to wait until tomorrow until i push it online. 

@artu-ole did you test the login hack? Will it break stuff? Because i saw some of the login values referenced in many parts of the software, so i fear that it will let the app crash if we just remove it or did you fake a login?

 

Best Regards

  • Upvote 1
Link to comment
Share on other sites

11 minutes ago, Bin4ry said:

Hey,

i just started putting stuff together for the github but i don't have this much time today as i hoped so it will have to wait until tomorrow until i push it online. 

@artu-ole did you test the login hack? Will it break stuff? Because i saw some of the login values referenced in many parts of the software, so i fear that it will let the app crash if we just remove it or did you fake a login?

 

Best Regards

I have updated my code to bypass the distance and height settings (using phone as controller) for the spark. You can now change the height and distance limits using fly_limit_distance and fly_limit_height in the params of assistant 2. Should work for the Mavic too, I just have to test my changes on the spark then I will pull out the mavic and try that as well. These changes should allow active track to move beyond the 100m from home point distance limit when using phone as a controller and allow a distance of up to 8000m.

Link to comment
Share on other sites

alright guys, here's basic bypass login, works when you're not connected to internet, making it work with internet can be done in the same place making username and pass already filled also a possibility in another place

dji/pilot/usercenter/protocol/g$6.smali

.method public a(Ljava/lang/Throwable;ILjava/lang/String;)V
    .locals 6

    .prologue
    const/4 v2, 0x0
    const/4 v3, 0x0

    .line 605

    const-string/jumbo v0, "{\"code\": 0,\"data\": {\"active\": false,\"area_code\": \"\",\"cookie_key\": \"fuck\",\"cookie_name\": \"_meta_key\",\"email\": \"dji@lol.fu\",\"inner_email\": false,\"nick_name\": \"fuck\",\"register_phone\": \"\",\"subscription\": false,\"token\": \"ddd\",\"user_id\": \"1234\",\"validity\": 1507023739,\"vipLevel\": null    }, \"message\": \"ok\"}"

    invoke-static {v0}, Ldji/pilot/usercenter/mode/AccountCenterMemberResponse;->parse(Ljava/lang/String;)Ldji/pilot/usercenter/mode/AccountCenterBaseResponse;

    move-result-object v5

    .line 606
    iget-object v0, p0, Ldji/pilot/usercenter/protocol/g$6;->a:Ljava/lang/String;

    invoke-static {v2, v2, v0, v5}, Ldji/pilot/usercenter/protocol/e$b;->a(IILjava/lang/Object;Ljava/lang/Object;)Ldji/pilot/usercenter/protocol/e$b;

    move-result-object v4

    .line 607
    iget-object v0, p0, Ldji/pilot/usercenter/protocol/g$6;->b:Ldji/pilot/usercenter/protocol/e$a;

    const v1, 0x40050

    invoke-interface/range {v0 .. v5}, Ldji/pilot/usercenter/protocol/e$a;->a(IIILjava/lang/Object;Ljava/lang/Object;)V

    .line 608
    return-void
.end method

 

Link to comment
Share on other sites

14 hours ago, techspy said:

Just a bit of info. I installed the latest version and really like the improvements! But, the ability to disable the Here maps does not work anymore. I was using this method;

https://madsrc.com/2017/01/22/dji-go-4-get-google-maps-back-on-android/

Now when I do this, it does show google maps as the provider but I get no maps or imagery. It is just blank. Kinda sucks but I can deal with Here crap maps to get around all the other crap. Strange that it still worked with the previous version. Maybe google looks at the app version before deciding if it will allow access?

Oh, and it is interesting looking at all the services for the Go app.

I have not tried the latest app yet. CE mode has been a pain from the start!

Can it be confirmed that the FCC mod in this latest 4.1.3 also gives FCC output to the Mavic downlink (HD?)

Im just curious cause there's talk about increasing output power (and fear of overheating remote) but the weaker part is the Mavic downlink. In my testruns using 4.1.3 where CC had to be inserted manually (single click) I could not convince myself that mavic downlink was actually better than CE mode.

Link to comment
Share on other sites

54 minutes ago, MacIak said:

I have not tried the latest app yet. CE mode has been a pain from the start!

Can it be confirmed that the FCC mod in this latest 4.1.3 also gives FCC output to the Mavic downlink (HD?)

Im just curious cause there's talk about increasing output power (and fear of overheating remote) but the weaker part is the Mavic downlink. In my testruns using 4.1.3 where CC had to be inserted manually (single click) I could not convince myself that mavic downlink was actually better than CE mode.

As far as I see, the FCC mod just allow you to use the FCC settigs for transmitters, instead of CE. Both of the modes (CE and FCC) are standard for the any DJI copter and should not cause any overheat. In stock App and firmware FCC could be disabled based on the GPS informaton. To be sure that your device works in FCC mode just measure the RC and drone's transmition power. Will do such measurments tomorrow.

Link to comment
Share on other sites

1 minute ago, Sayonara said:

As far as I see, the FCC mod just allow you to use the FCC settigs for transmitters, instead of CE. Both of the modes (CE and FCC) are standard for the any DJI copter and should not cause any overheat. In stock App and firmware FCC could be disabled based on the GPS informaton. To be sure that your device works in FCC mode just measure the RC and drone's transmition power. Will do such measurments tomorrow.

I should have been clearer, sorry...

Increasing output beyond FCC (and overheat) is indeed a different subject.

Im just interested for now in the FCC mode the 4.1.3 enforces.

Does this really increase output to FCC in both the RC and Mavic?!

Also when it comes to measuring output: Is this as simple as that? Or is the system increasing TX power as signal gets weaker up to a maximum to save battery?

 

Link to comment
Share on other sites

17 minutes ago, MacIak said:

I should have been clearer, sorry...

Increasing output beyond FCC (and overheat) is indeed a different subject.

Im just interested for now in the FCC mode the 4.1.3 enforces.

Does this really increase output to FCC in both the RC and Mavic?!

Also when it comes to measuring output: Is this as simple as that? Or is the system increasing TX power as signal gets weaker up to a maximum to save battery?

 

What you're asking is more about how DJI designed their app to work. What this app version does is simply ensure that it always sets the standard FCC power rating allowed by FCC (US and some other countries), which is higher than the CE rating you get by default when you start the app in a CE rated country.

According to DJI's own specs this difference is:
Transmitter Power (EIRP)        FCC:≤26 dBm       CE:≤20 dBm

http://www.dji.com/mavic/info#specs

If there is any difference for other models (P4, Inspire, etc) then you should be able to find it on the appropriate DJI pages for those other models.

Link to comment
Share on other sites

43 minutes ago, MacIak said:

I should have been clearer, sorry...

Increasing output beyond FCC (and overheat) is indeed a different subject.

Im just interested for now in the FCC mode the 4.1.3 enforces.

Does this really increase output to FCC in both the RC and Mavic?!

Also when it comes to measuring output: Is this as simple as that? Or is the system increasing TX power as signal gets weaker up to a maximum to save battery?

 

I did a flight test about it, Fcc mod on Mavic Pro only increase rc output power, but the hd video link remain unchange

 

test flight video with fcc(us) ce(hk) change on the fly, watch the signal bar, HD remain unchange when switching fcc/ce

 

Edited by singlag
Link to comment
Share on other sites

47 minutes ago, asoka said:

Yep seems that only the remote signal is increased not the video downlink :( 

 

Maybe the app has to be started BEFORE the remote/bird is booted OR....

The bird determines output power based on GPS location/other logic  bypassing the disabled checks by the modded App. Maybe...

Link to comment
Share on other sites

I was going to post this on the FB page but didn't want it to get lost in the noise. Just an FYI that some people are reporting that they are being severely limited in their flight altitude with the latest FW. DJI reps are telling them the following;

"Please log out and relog in to the App. You may have to change your password. "

Sounds like the reps know that something is going on behind the scenes. Hopefully this won't affect what you guys are doing but it seems even though they are already updated to the latest FW there is something being modified by DJI related to restrictions.

  • Upvote 1
Link to comment
Share on other sites

56 minutes ago, techspy said:

I was going to post this on the FB page but didn't want it to get lost in the noise. Just an FYI that some people are reporting that they are being severely limited in their flight altitude with the latest FW. DJI reps are telling them the following;

"Please log out and relog in to the App. You may have to change your password. "

Sounds like the reps know that something is going on behind the scenes. Hopefully this won't affect what you guys are doing but it seems even though they are already updated to the latest FW there is something being modified by DJI related to restrictions.

I am sure that DJI reps have no chance to make the poker face and just ignore the facts of firmware and app hacks. I think they are already on the way to close all the abilities to modify software and firmware, but it looks difficult to do shortly.
Suppose, it is possible to update the DJI GO to send the current system config to DJI server and check for unauthorised changes. But what will do DJI with such customers, I do not even know.
I guess the unauthorized NFZ unlock is the great headache for DJI. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...