Jump to content

Freaky123

Active Members
  • Posts

    23
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Freaky123

  1. Ok I will try to share some more information in the hope people will help get more and more information. I will first give the image format (which is also the sig format):

    • Header
      • 4B Magic ("IM*H")
      • 4B Version (Currenly only 1 is seen)
      • 8B ??
      • 4B Header size
      • 4B RSA signature size
      • 4B Payload size
      • 12B Unknown
      • 4B Auth key identifier
      • 4B Encryption key identifier
      • 16B Scramble key
      • 32B Image name
      • 60B ??
      • 4B Block count
      • 32B SHA256 payload
    • Per Block info
      • 4B Name
      • 4B Start offset
      • 4B Output size
      • 4B Attributes (Last bit 0 means ecrypted)
      • 16B ??
    • RSA Signature of the Header (Size and Auth key described in header)
    • Actual block data (Start offset 0)
  2. If someone has access to his installer I would be happy to take a look. But I still think it is almost impossible to get these upgrade files signed, unless you have inside information and can get access to the RSA key. I reverse engineered like 99% of their upgrade process and can parse the files etc. so I'm pretty sure this isn't the easiest way in, there are other easier ways.

  3. I don't think he changes the firmware update files, since as explained earlier requires the private RSA key. Since it is most likely coptersafe doesn't have that key, I think he can circumvent that by either rooting the device or doesn't need it since only parameters are needed to be changed in order to achieve what he wants.

    Next to that you made a misconception between encrypting and signing, which is not the same. The firmware files are signed (and only a tiny part is encrypted) and doesn't need any encryption. Most parts of the firmware don't even require encryption and is optionally described in the header.

  4. 2 hours ago, MavproxyUser said:

    The command line options on Assistant seem interesting... (this works on Windows too)

     

    $ /Applications/Assistant_1_1_0.app/Contents/MacOS/Assistant --help

    Usage: /Applications/Assistant_1_1_0.app/Contents/MacOS/Assistant [options]

    Options:

      -h, --help            Displays this help.

      -v, --version         Displays version information.

      --debugger            Run with a debugger window

      --minimum             Show controller log minimum

      --console             Run assistant as a console service, No browser Window!

      --template            Load controller config from template!

      --force_upgrade       Ignore the version when upgrade ENC firmware!

      --bypass <DEVICE>     force all device as param [Receiver]|[DEVICE]|[Version]

                            eg Controller|ai900v2|3.1.0.2

      --noskip              As default, upgrade pack file will skip those device

                            that is not connected, if define no skip, will try to

                            upgrade all pack file

      --factory             Open Factory page

      --baud_rate <DEVICE>  set com device baud rate

      --auto_upgrade        enable auto upgrade

      --cache_wget_file     debug only, used to cache wget files

      --inrup               internal upgrade tool

      --adb_logcat          Start ADB logcat function

      --auto_test           Set to auto test mode

      --test_server         Set to test server

      --1706                Set DJI Vision to 1706

      --sws                 Set Env to SWS

     

    Does any of this work and show anything else when opening the app?

×
×
  • Create New...