MakeCat

Das MakeCat-Tool ist ein CryptoAPI-Tool, das eine Katalogdatei erstellt. MakeCat ist als Teil des Microsoft Windows Software Development Kit (SDK) für Windows 7 und .NET Framework 4.0 verfügbar und wird standardmäßig im Ordner \Bin des SDK-Installationspfads installiert.

Das MakeCat-Tool verwendet die folgende Befehlssyntax:

MakeCat [-n-r-v||] FileName

Parameter

Parameter Beschreibung
-n
Beenden Sie nicht bei einem behebbaren Fehler.
-r
Erzwingt das Beenden von MakeCat, wenn wiederherstellbare Fehler auftreten. Insbesondere endet es, wenn die Einträge im Abschnitt "Katalogdateien" einer CDF-Datei verarbeitet werden.
-v
Ausführlich. Zeigt alle Status- und Fehlermeldungen an.
FileName
Name der zu analysierenden CDF-Datei. Informationen zu den erforderlichen Strukturen und Inhalten finden Sie unter Hinweise.

 

Bemerkungen

Die CDF-Datei muss mit den folgenden Spezifikationen erstellt werden.

[CatalogHeader]
Name=Name              
ResultDir=ResultDir   
PublicVersion=[|1]
CatalogVersion = [|1|2]
HashAlgorithms=[|SHA1|SHA256]
PageHashes=[true|false]
EncodingType=Encodingtype 
CATATTR1={type}:{oid}:{value} (optional)
CATATTR2={type}:{oid}:{value} (optional)

[CatalogFiles]
{reference tag}=file path and name
{reference tag}ALTSIPID={guid} (optional)
{reference tag}ATTR1={type}:{oid}:{value} (optional)
{reference tag}ATTR2={type}:{oid}:{value} (optional)
<HASH>kernel32.dll=kernel32.dll
<HASH>ntdll.dll=ntdll.dll

Hinweis

Der letzte Eintrag in der CDF-Datei muss immer ein explizites Zeilenumbruchzeichen am Ende der Zeile aufweisen.

 

Im Abschnitt [CatalogHeader] werden Informationen zur gesamten Katalogdatei definiert.

Option BESCHREIBUNG
Name
Name der Katalogdatei, einschließlich ihrer Erweiterung.
ResultDir
Verzeichnis, in dem die erstellte CAT-Datei platziert wird. Wenn nicht angegeben, wird das aktuelle Standardverzeichnis verwendet. Wenn das Verzeichnis nicht vorhanden ist, wird es erstellt.
PublicVersion
Diese Option wird nicht unterstützt.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Katalogversion. Wenn sie leer gelassen wird, wird der Standardwert 1 verwendet.

CatalogVersion
Katalogversion. Wenn die Version nicht vorhanden oder auf 1 festgelegt ist, wird "0x100" an den dwPublicVersion-Parameter der CryptCATOpen-Funktion übergeben, und eine Katalogdatei der Version 1 wird erstellt. Die Option HashAlgorithms muss leer sein oder SHA1 enthalten.
Wenn die Version auf 2 festgelegt ist, wird "0x200" an den dwPublicVersion-Parameter der CryptCATOpen-Funktion übergeben, und eine Katalogdatei der Version 2 wird erstellt. Die HashAlgorithms-Option muss SHA256 enthalten.
Wenn diese Option vorhanden ist, aber einen anderen Wert als 1 oder 2 enthält, tritt beim MakeCat-Tool ein Fehler auf.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Option wird nicht unterstützt.

HashAlgorithms
Name des verwendeten Hashalgorithmus. Weitere Informationen finden Sie unter der CatalogVersion-Option.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Option wird nicht unterstützt.

PageHashes
Gibt an, ob die dateien gehasht werden sollen, die in der <Hashoption> im Abschnitt [CatalogFiles] aufgeführt sind.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Option wird nicht unterstützt.

EncodingType
Typ der verwendeten Nachrichtencodierung. Wenn sie leer gelassen wird, lautet der Standardcodierungstyp PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001.

 

Der Abschnitt [CatalogFiles] definiert jedes Element der Katalogdatei mit Dateien verschiedener Typen und Attributen verschiedener Typen in separaten Gruppen.

Option BESCHREIBUNG
Verweistag
Textverweis auf die Datei. Dies kann beliebige ASCII-Textzeichen mit Ausnahme des Gleichheitszeichens (=) enthalten. Das System muss dieses Tag nach der Installation reproduzieren können.
Verwenden Sie <HASH> als Präfix des Dateinamens. Dies führt dazu, dass das Tag der Hash der Datei in ASCII-Zeichenfolgenform ist.
Dateipfad und -name
Der Dateiname, einschließlich der zu analysierenden Erweiterung und des relativen Pfads zur Datei. Jeder Dateityp, der mit SignTool signiert werden kann, kann einem Katalog hinzugefügt werden. Beispielsweise können Dateinamen mit den folgenden Erweiterungen einem Katalog hinzugefügt werden: .exe, .cab, .cat, .ocx, .dll und .stl.
ALTSIPID
SIP-GUID, die für hashing anstelle des Standard-SIP basierend auf dem Dateityp verwendet werden soll. Dieser Eintrag ist optional. Wenn dieser Eintrag weggelassen wird, wird der Member mit dem Standard-SIP gehasht. Wenn kein standardmäßig installiertes SIP gefunden wird, wird das flat-SIP verwendet.
guid
Textdarstellung einer GUID.
ATTRx
Optional. Attribut oder Anweisung über die Datei oder den Inhalt. Es kann eine beliebige Anzahl von Attributen geben, einschließlich keines.
type
Definiert, welcher Attributtyp im Format 0x00000000 (Text) hinzugefügt wird. Diese Option kann eine bitweise OR-Kombination aus null oder mehr der folgenden Werte sein:
  • 0x10000000 authentifizierte Attribut (signiert, im Hash enthalten).
  • 0x20000000 Nicht authentifiziertes Attribut (nicht signiert, nicht im Hash enthalten, nicht überprüfbar).
  • 0x01000000 Attribut wird nicht in SHA1-Einträge in einem CatalogVersion 2-Katalog repliziert.
  • 0x00010000 Attribut wird im Klartext dargestellt. Es wird keine Konvertierung durchgeführt.
  • 0x00020000 Attribut wird in der Base64-Codierung dargestellt. Dies wird verwendet, um Binärdaten darzustellen.
  • 0x00000001 Attribut ist ein Name-Wert-Paar. Verwenden Sie die oid-Option für den Namen. Dieses Attribut ist langsam; Verwenden Sie daher diese Option sparsam.
  • 0x00000002 Attribut wird von einem Objektbezeichner (Object Identifier, OID) referenziert.

oid
Die Textdarstellung des Verweisschlüssels des Attributs. Es handelt sich um eine OID in Form einer Textzeichenfolge in gepunkteter Quad-Notation (z. B. a.b.c.d) oder einem TextName.
value
Die Textdarstellung des Werts des Attributs. Der Typ der verwendeten Textdarstellung hängt vom Wert der Typoption ab. Die EOL-Zeichen bestimmen die Länge.
<HASH>
Hashen der angegebenen Datei.

 

Die generierte Katalogdatei ist nicht signiert. Wenn es vor der Übertragung signiert werden soll, wird es mit SignTool signiert.