User Tools

Site Tools

Translations of this page:

howto:fcc32ch

This is an old revision of the document!


FCC 32ch for P4P

This page is a bit of an experiment. Over time, many people have asked “Can we do 32ch and FCC on a P4p”. Based on the previous files, the answer was no. But, I have always intended to go back and look at this to see if it is possible.

What I propose to do is to look at the 32ch file, and the FCC file, and the source code that parses these files, and come to a conclusion.

Hex Dumps

Below, we can see the data contained in each of these files. It is easy to see the individual bits that change for power and frequency tweaks. What is not so obvious at the moment is what part of this file does the 32 channel mod. If anyone has that detail, it would be useful information.

dji.configs_32-ch_mod

00000000  44 4a 49 20 53 4f 46 54  57 41 52 45 20 43 4f 4e  |DJI SOFTWARE CON|
00000010  46 49 47 20 3a 20 44 4f  20 4e 4f 54 20 44 45 4c  |FIG : DO NOT DEL|
00000020  45 54 45 21 00 00 00 01  11 11 11 11 11 11 11 11  |ETE!............|
00000030

dji.configs_force_boost

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 22  |..............."|
00000030  22 22 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |""..............|
00000040  00 00 00 00 00 00 00                              |.......|

dji.configs_force_boost_and_23

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 66  |...............f|
00000030  66 66 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |ff..............|
00000040  00 00 00 00 00 00 00                              |.......|

dji.configs_force_boost_and_25

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 aa  |...............?|
00000030  aa aa 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |??..............|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

dji.configs_force_ce

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 44  |...............D|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

dji.configs_force_ce_23

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 44  |...............D|
00000030  44 44 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |DD..............|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

dji.configs_force_ce_25

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 88  |................|
00000030  88 88 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

dji.configs_force_fcc

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 11  |................|
00000030  11 11 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

dji.configs_force_fcc_and_23

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 55  |...............U|
00000030  55 55 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |UU..............|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

dji.configs_force_fcc_and_25

00000000  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 01 01 01 01  00 00 00 00 00 00 00 99  |................|
00000030  99 99 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00                              |.......|
00000047

Credits

if ((an unsigned __int64) objc_msgSend(v9, "the length") > = 0x29) {
  v11 = (void * ) objc_retainAutorelease(v10);
  if ( * ((_ BYTE * ) objc_msgSend(v11, "bytes") + 39) == 1)
    v2 - > NSObject_opaque[OBJC_IVAR ___ DJIAppSettings__canUseIllegalChannels] = 1;
}
If((unsigned __int64) objc_msgSend(v10, "length") > = 0x2A) {
  v12 = (void * ) objc_retainAutorelease(v10);
  if ( * ((_ BYTE * ) objc_msgSend(v12, "bytes") + 40) == 1)
    v2 - > NSObject_opaque[OBJC_IVAR ___ DJIAppSettings__mfiDisable] = 1;
}
If((unsigned __int64) objc_msgSend(v10, "length") > = 0x2D) {
  v13 = (void * ) objc_retainAutorelease(v10);
  V14 = * ((unsigned __int8 * ) objc_msgSend(v13, "bytes") + 43);
  if ((_DWORD) v14 == 2)
    * (DWORD * _) & v2 - > NSObject_opaque[OBJC_IVAR ___ DJIAppSettings__firmwareServiceType] = 2;
  Else
    * (_ DWORD * ) & v2 - > NSObject_opaque[OBJC_IVAR ___ DJIAppSettings__firmwareServiceType] = v14 == 1;
}
If((unsigned __int64) objc_msgSend(v10, "length") > = 0x2E) {
  v15 = (void * ) objc_retainAutorelease(v10);
  if ( * ((_ BYTE * ) objc_msgSend(v15, "bytes") + 44) == 1)
    v2 - > NSObject_opaque[OBJC_IVAR ___ DJIAppSettings__limitCameraRecordingTime] = 0;
}
If((unsigned __int64) objc_msgSend(v10, "length") > = 0x2F) {
  v16 = (void * ) objc_retainAutorelease(v10);
  If( * ((_ BYTE * ) objc_msgSend(v16, "bytes") + 45) == 1)
  v2 - > NSObject_opaque[OBJC_IVAR ___ DJIAppSettings__simulatorInternalDisable] = 1;
}
If((unsigned __int64) objc_msgSend(v10, "length") > = 0x31) {
    v17 = (void * ) objc_retainAutorelease(v10);
    V18 = * ((_ BYTE * ) objc_msgSend(v17, "bytes") + 48);
    If(v18 & 1)
    objc_msgSend(v2, " setSdr_force_fcc :", 1 LL);
    if (v18 & 2)
      objc_msgSend(v2, "setSdr_force_boost:", 1 LL);
    if (v18 & 4)
      objc_msgSend(v2, "setSdr_force_2_3_G:", 1 LL);
    if (v18 & 8)
      objc_msgSend(v2, "setSdr_force_2_5_G:", 1 LL);
howto/fcc32ch.1504958108.txt.gz · Last modified: 2017/09/09 11:55 by czokie