Frage

Ich versuche, den Stream-Namen für den benannte Eigenschaft Teil einer MSG-Datei zu berechnen, und zwar Zeichenfolge mit dem Namen Eigenschaften. Die MSG-Dateiformat Spezifikation a href = "http <: // msdn.microsoft.com/en-us/library/ee202960.aspx“rel = "nofollow noreferrer"> sagt , dass die ID erzeugt wird, wie folgt:

  

Stream ID = 0x100m ((ID XOR (GUID index << 1 | 1)) MOD 0x1f

Wenn der ID-Wert ist die CRC-32 für die „Unicode Namenskennung“. Ich bin auch davon überzeugt, dass 0x100m ist eigentlich 0x1000.

Dies irgendwie Karten 'x-mailer' 0x100f, wenn der GUID-Index 3. Der Wert für ID ist 0x894e50ff ist (da es an einem anderen Ort gespeichert ist), aber wie funktioniert 'x-mailer' auf diesen Wert umgewandelt werden?

(dies sind die Eigenschaften unter "__nameid_version1.0" gespeichert sind, teilweise innerhalb des "__substg1.0_00040102" stream).

War es hilfreich?

Lösung

Hier ist die Antwort von einem Microsoft-Ingenieure:

  

Hallo Lukas,

     

Sorry, dass es so lange gedauert hat, um wieder zu   Sie zu diesem Thema. Ich überprüfte die CRC-32   Berechnung und es in der Tat in einem Ergebnis   Wert von 0xff504e89 für die Zeichenfolge   'X-Mailer'. Zwei Dinge, die Sie brauchen   zu beachten:

     
      
  1. stellen Sie sicher, CRC für 'X-Mailer' sind die Berechnung als UNICODE-String.   ASCII geben Sie eine andere   Ergebnis.
  2.   
  3. stellen Sie sicher, den Algorithmus von MS-OXRTFCP angegeben verwenden   Abschnitte 3.1.3.2 und 3.1.4 einschließlich   unter Verwendung der vorberechneten Nachschlagetabelle   und der entsprechende Algorithmus   Pseudo-Code.
  4.   
     

Wenn Sie diese folgen, erhalten Sie die   richtiges Ergebnis.

     

Lassen Sie mich wissen, wenn Sie in der Lage sind zu erhalten   diese Arbeiten.

     

Grüße, Tom Jebo Profi-Support   Escalation Engineer Microsoft DS   Protokoll Team

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top