<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I can confirm Daniels investigation in Pascal my implementation
      looks like this:</p>
    <p>        keyIndexLowByte := Data[0];<br>
              aKey := $123456789ABCDEF0*keyIndexLowByte;<br>
              aKey := crc64(Typ+keyIndexLowByte and $FF,@aKey,8);<br>
              nKey := parray(@aKey)^;<br>
    </p>
    <p>old:</p>
    <p>        scrambleTableIndex := (((Typ - 1) * 256) +
      keyIndexLowByte);<br>
              nKey := scrambleTable[scrambleTableIndex];<br>
    </p>
    <p>should be easy to re-implement it in c too</p>
    <p>with this i dont need an scramble table anymore<br>
    </p>
    <div class="moz-cite-prefix">Am 19.01.20 um 19:10 schrieb Brett
      Spell:<br>
    </div>
    <blockquote type="cite"
      cite="mid:001901d5cef3$c652d630$52f88290$@verizon.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
span.line
        {mso-style-name:line;}
span.cp
        {mso-style-name:cp;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I
            agree with Christian: it’s great to have both (scramble
            table or direct derivation) options, so thanks to you both
            (Ross and Daniel) for sharing the information with us.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Brett<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #B5C4DF
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
                DJI-log-discuss
                [<a class="moz-txt-link-freetext" href="mailto:dji-log-discuss-bounces@us.live555.com">mailto:dji-log-discuss-bounces@us.live555.com</a>] <b>On
                  Behalf Of </b>Christian U.<br>
                <b>Sent:</b> Sunday, January 19, 2020 10:28 AM<br>
                <b>To:</b> Discussion of DJI's log file formats<br>
                <b>Subject:</b> Re: [DJI-log-discuss] Wrong handling in
                RECOVER Record<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">i have to add <span class="cp"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">#include <errno.h></span></span><o:p></o:p></p>
        </div>
        <div>
          <p class="MsoNormal">to <a
href="http://gitlab.stora.local/produkte/dji/djiparsetxt/commit/6d14c9f58612d7abf0dcc7a670e6bd2c8eeea7db#cd4aa6484a5080c3e53d4f2c4b7b761f7d09d2f0"
              moz-do-not-send="true"><strong>djiparsetxt.cpp</strong></a>
            to fix compiling with actual gcc<o:p></o:p></p>
        </div>
        <div>
          <p class="MsoNormal"><o:p> </o:p></p>
        </div>
        <div>
          <p class="MsoNormal">Am 19.01.20 um 15:46 schrieb Chris:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Great work Ross, <br>
            <br>
            And also Thanks Daniel for the Information. I think my
            english is too bad to completely get it. <br>
            <br>
            Daniel is it completely possible to implement an handler to
            generate the key on the fly with the information you gave ?
            <br>
            <br>
            I have tried to make an implementation based of an crc64
            function in december but dont was able to recover all
            parameters to the gtekey function completely. <br>
            <br>
            <br>
            best regards and happy new year to all <br>
            <br>
            Christian <br>
            <br>
            Am 19.01.20 um 14:03 schrieb Ross Finlayson: <br>
            <br>
            <o:p></o:p></p>
          <p class="MsoNormal" style="margin-bottom:12.0pt">FYI, the
            latest version (2020-01-19) of the “djiparsetxt” code also
            improves the processing of RECOVER records, as a result of
            Christian’s feedback on December 20th. <br>
            <br>
            <br>
            Ross Finlayson <br>
            Live Networks, Inc. <br>
            <a href="http://www.live555.com/" moz-do-not-send="true">http://www.live555.com/</a>
            <br>
            <br>
            <o:p></o:p></p>
        </blockquote>
        <p><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
    </blockquote>
  </body>
</html>