dji-firmware-tools icon indicating copy to clipboard operation
dji-firmware-tools copied to clipboard

Phantom 4 pro

Open notsolowki opened this issue 7 years ago • 40 comments

Do you think you can make your firmware tools work with p4p firmware. would be nice to be able to extract the p4p params. thats the only thing really stopping me from buying one right now lol.

notsolowki avatar Feb 18 '17 22:02 notsolowki

Currently I'm only interested in P3P/P3A.

mefistotelis avatar Feb 18 '17 23:02 mefistotelis

about p4p (p4,p4p+,mavic,inspire 2 ) you have 2 ways :

1.you can write parameters directly to external EEPROM on FC (but you need password for EEPROM because it is secured)

  1. spoof command when configuring drone via Assistant., yes . it is worked. . but at now i need more and more tests.

coptersafe avatar Mar 09 '17 00:03 coptersafe

update: i make full flash from NAND with android from P4(P4PRO) , find some partitions ,lots of file - many logs , buts cant find system image.... if any need link for full flash from NAND - write me.

Also if any whant to help me with Android on P4(P4PRO) i will be grateful

coptersafe avatar Mar 15 '17 21:03 coptersafe

you should just put the link on this page

notsolowki avatar Mar 22 '17 01:03 notsolowki

http://dropmefiles.com/ZB5bw

coptersafe avatar Mar 22 '17 04:03 coptersafe

@coptersafe do you mind posting that link again?

turnersr avatar Apr 01 '17 03:04 turnersr

This is a image for android based on Rockchip proc, also this for rc only. All binaries for p4 encrypted and signed. So i think reverse possible but not way for reflash p4 with new binary

coptersafe avatar May 19 '17 03:05 coptersafe

@turnersr ,no i dont have any more this file.i found that file not useful for me..sorry

coptersafe avatar May 19 '17 03:05 coptersafe

@vishaldeyiiest ublox chipset send signed packets with coordinates inside drone to FC.. so no any way injecting new coordinates into traffic

coptersafe avatar May 19 '17 04:05 coptersafe

Video encrypted at fpga chip , on older version Dji useful altera cyclon v , at new version useful remarked IV but i cant identify them

coptersafe avatar May 19 '17 04:05 coptersafe

Does anyone have a copy of the drone firmware

notsolowki avatar May 19 '17 05:05 notsolowki

You can them download from Dji.

coptersafe avatar May 19 '17 05:05 coptersafe

No it only the remote control firmware

notsolowki avatar May 19 '17 05:05 notsolowki

I like to be able to configure the flight controller on tge p4 pro and the mavric

notsolowki avatar May 19 '17 05:05 notsolowki

http://pro-dji-service-usa-cdn.aasky.net/paraconfig_file/7b9b2e04-4a8d-4810-bc17-246bee0c3610/wm331_0000_v01.02.0304_20170106.pro.cfg.sig

http://pro-dji-service-usa-cdn.aasky.net/paraconfig_file/7b9b2e04-4a8d-4810-bc17-246bee0c3610/wm331_0000_v01.02.0304_20170106.pro.cfg.sig

http://pro-dji-service-usa-cdn.aasky.net/firmware_file/48b8eae7-0acd-49ec-8414-e9c6553a6a85/59cef6691890eb7d19d65052bd55e69a.sig?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIITWQE7WYGWJGNYQ%2F2017030

you just need right link

coptersafe avatar May 19 '17 05:05 coptersafe

What is wm331 is the sig file a binary container?

notsolowki avatar May 19 '17 05:05 notsolowki

wm331 - p4pro , wm331_0000 - it is xml container file

coptersafe avatar May 19 '17 05:05 coptersafe

@vishaldeyiiest i just send serial number to DJI and after make payment and approving from DJI , DJI make new firmware for needed serial number , and when you update drone you get new specific firmware . so... but we get this options special for goverment forces drone

coptersafe avatar May 19 '17 06:05 coptersafe

@vishaldeyiiest Ambarella make video stream to Davinchi module via HDMI (or USB) and at the same time write video stream to microSD (H.264 or H.265) , then Davinchi send video to Encryption module Altera and then encrypted stream goes ro RF transceiver (AD9364 or same) ..

coptersafe avatar May 19 '17 06:05 coptersafe

of course you can interrup video stream but you need pin password for RF module and password for decryption video

coptersafe avatar May 19 '17 06:05 coptersafe

best way for hacking it is own drone ... pf course no any docs - only some scraps of info

coptersafe avatar May 19 '17 07:05 coptersafe

Documentation - you won't find much beyond what's on the wiki of this project. The wiki explains Phantom 3 HW and SW, but Ph4 is just an evolution of Ph3 Pro hardware. If you want more docs, you have to write them.

Security holes - your best bet would be to check older firmwares, maybe there is a version which has issues. We know the internal communication model to some extent, but I don't think anyone tried to crack Lightbridge.

Since we have the synthesized FPGA image, it would be worth checking if there are any tools for opening such image, and maybe even de-synthesizing it to some extent.

mefistotelis avatar May 19 '17 10:05 mefistotelis

So copter safe ypu figured out how to communicate with the the flight crontroller thru a serial connection.? How long is this password?

notsolowki avatar May 19 '17 16:05 notsolowki

@notsolowki password is13 symbol long, what you mean connect to fc?

coptersafe avatar May 19 '17 17:05 coptersafe

I was referring to you saying there are 2 ways to configure the flight controller.

notsolowki avatar May 19 '17 18:05 notsolowki

I don't have any modules for Phantom 4 pro. Phantom 4 and Mavic seem to have different firmware distribution system. I never cared to look at it in detail.

For Phantom 3, you can extract the modules (including fpga image) from a full firmware package using the tools developed in this project. The tools also allow you to download all known Dji firmware packages (the tests can do that).

Description of specific modules of the firmware is here: https://github.com/mefistotelis/phantom-firmware-tools/wiki/DJI-Firmwares

mefistotelis avatar May 22 '17 09:05 mefistotelis

Can you give me an idea how can I verify that both band of frequencies(2.4 GHz and 5.8 GHz) are encrypted as claimed by DJI support?

It is possible to confirm that using high frequency SDR equipment (ie. HackRF board, or a lot more expensive but available at universities laboratory equipment, like Agilent devices), but that requires knowledge on how to figure out modulation and convert the signal to digital form. Reading datasheet of the transmitter used should allow you to figure out whether this will be easy or not.

Maybe it would be easier to tap to the output of FPGA before it goes to transmitter? You should check if there are service pins on the board which could allow to do that.

Also the RC firmware(aircraft not available) they claim to be encrypted, I have reverse engineered to some extent.

Yes, the firmware tools allow to extract C1 firmware package, and most modules are not encrypted. I think only the DaVinchi video decoder firmware module is encrypted.

mefistotelis avatar May 23 '17 06:05 mefistotelis

@mefistotelis thanks a lot...I was hoping for some kind of radio scanner could do...otherwise I have to disassemble the drone...the firmware after extracting with binwalk gave me a total of >500 GB. Obvoiusly the whole assembly code base cannot be understood..I cannot find the bootloader also..

vishaldeyiiest avatar May 23 '17 06:05 vishaldeyiiest

Obvoiusly the whole assembly code base cannot be understood..

If you extract the modules with dji_fwcon.py, and propely use arm_bin2elf.py, then you can load the ARM binary modules (ie. m1400) into IDA Pro.

I cannot find the bootloader also..

Agreed. Most bootloaders are not included in the firmware package.

mefistotelis avatar May 23 '17 06:05 mefistotelis

Then it's probably not in the form of firmware package containing modules. Can't tell much more without having the binary.

mefistotelis avatar May 23 '17 07:05 mefistotelis