2010-06-09 13 views
6

Gibt es eine Möglichkeit, programmgesteuert festzustellen, ob ein .xls Makros enthält, ohne es tatsächlich in Excel zu öffnen?Programmgesteuertes Ermitteln, ob eine Excel-Datei (.xls) Makros enthält

Gibt es auch irgendwelche Methoden zu prüfen, welches Zertifikat (einschließlich Timestamp Cert) diese Makros mit signiert sind? Wieder ohne Excel.

Ich frage mich insbesondere, ob es irgendwelche Zeichenfolgen gibt, die immer in den Rohdaten einer Excel-Datei angezeigt werden, wenn Makros vorhanden sind.

+0

Ist dies eine xls oder xlsx-Datei? –

+0

Dies wäre für eine XLS-Datei –

Antwort

1

Ja, können Sie die .xls-Datei als ein öffnen Zusammengesetzte Dokumentdatei und überprüfen, ob es einen VBA-Ordner und Streams mit VBA-Code enthält.

Beispielcode ist in diesem Artikel Codeproject zur Verfügung:

Another OLE Doc Viewer but with editing facility

Die Zertifikatsinformationen in der DocumentSummaryInformation Strom gespeichert. Wenn Sie die Informationen von dort lesen möchten, sollten Sie in die Dateiformatspezifikationen von Microsoft erhältlich graben:

[MS-OSHARED]: Office Common Data Types and Objects Structure Specification

[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification

+0

Danke, das ist sogar besser als ich erwartet hatte, ich hatte keine Ahnung, dass die Dateiformate öffentlich verfügbar waren! –

0

Eine xls-Datei ein Makro enthält eine Zeichenfolge suchen etwas enthalten sollte, wie

Keyboard Shortcut: 

Sie nicht wissen, ob dies ist eine todsichere Lösung obwohl

+0

Nein, das hat nicht für mich funktioniert. –

Verwandte Themen