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 | 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. |
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:
|
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.