Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1.NET Assemblies und Metadaten René Löschl. 2 Inhalt Begriffe Eigenschaften von Metadaten Vorteile von Metadaten Typische Metadaten Zugriff und Verwaltung.

Ähnliche Präsentationen


Präsentation zum Thema: "1.NET Assemblies und Metadaten René Löschl. 2 Inhalt Begriffe Eigenschaften von Metadaten Vorteile von Metadaten Typische Metadaten Zugriff und Verwaltung."—  Präsentation transkript:

1 1.NET Assemblies und Metadaten René Löschl

2 2 Inhalt Begriffe Eigenschaften von Metadaten Vorteile von Metadaten Typische Metadaten Zugriff und Verwaltung Struktur von Assemblies Eigenschaften von Assemblies

3 3 Begriffe Metadaten Metadaten-Token Modul Manifest RVA Assembly managed Code

4 4 Eigenschaften von Metadaten werden in selber Datei wie Programm Code gespeichert werden über Metadaten-Tokens angesprochen Metadaten werden in Tabellen gespeichert Drei Arten von Tabellen 1. Definitionstabellen 2. Referenztabellen 3. Manifesttabellen

5 5 Vorteile von Metadaten Sprachunabhängigkeit einfache Versionsverwaltung einfache Datenübertragung Einfache Nationalisierung Sicherheit Metadaten und unmanaged APIs

6 6 0x00 Module0x0B Constant0x14 Event0x1D FieldRVA0x27 Export ed Type 0x01 TypeRef0x0c CustomAttribute0x15 Property Map 0x20 Assembly0x28 Manif est Resou rce 0x02 TypeDef0x0D FieldMarshal0x17 Property0x21 AssemplyPr ocessor 0x29 Nested Class 0x04 Field0x0E DeclSecurity0x18 MethodS emantics 0x22 Assembly OS 0x06 Method0x0F ClassLayout0x19 MethodI mpl 0x23 AssemblyR ef 0x08 Param0x10 FieldLayout0x1A ModuleR ef 0x24 AssemblyR ef- Processor 0x09 InterfaceI mpl 0x11 StandAloneSig0x1B TypeSpec 0x25 AssemblyR ef- OS 0x0A MemberRe f 0x12 EventMap0x1C ImplMap0x26 Fie Komplette Liste der Metadatentabellen

7 7 Einige Metadatentabellen CodeTabellennameSpalte n Beschreibung 0x00Module5Diese Tabelle enthält nur eine Zeile, die den Namen, die Beschreibung und das GUID speichert, das mit dem Modul verbunden wird. 0x04Field3Diese Tabelle definiert die Attribute für ein Feld, seinen Namen und seine Signatur. 0x06Method6Diese Tabelle enthält für jede im Modul definierte Methode einen Eintrag. In den Spalten werden Informationen und der Startpunkt des Codes gespeichert. 0x09InterfaceImplHier wird festgehalten, welche Interfaces durch das Modul beschrieben werden. 0x20Assembly6 0x26File3Assemblies können andere Dateien wie Dokumentationen oder Konfigurationen mit.file referenzieren. Diese Tabelle enthält alle.file Einträge. HashAlgIdMajorVersionFlags PublicKeyNameCulture

8 8 Prüfung von Metadaten Fehlerklassen: 1. Error 2. Warning 3. CLS Prüfungsregeln: 1. keine Tabelle zwei gleiche Zeilen 2. Prüfen der Bitmasken auf Richtigkeit 3. Etc.

9 9 Zugriff und Verwaltung Reflection API COM API Schwierigkeit besteht darin, die logische Darstellung von Metadaten auf ihre physikalische Repräsentation abzubilden!

10 10 Physical Dump Hello World

11 11 Struktur von Assemblies im Windows kompatiblen PE-Fileformat

12 12 Betrachtung von Assemblies Dumpbin PEDump ildasm

13 13 Dump eines Assemblies (1/2)

14 14 Dump eines Assemblies (2/2)

15 15 Physical Dump Hello World

16 16 Eigenschaften von Assemblies einziges Modul darf einen Eintrag in der Assembly- Tabelle Assembly fasst Module zu logischer Einheit zusammen nur wenige Bytes von x86 Code enthalten Metadaten

17 17 Fin Danke für Eure Aufmerksamkeit…


Herunterladen ppt "1.NET Assemblies und Metadaten René Löschl. 2 Inhalt Begriffe Eigenschaften von Metadaten Vorteile von Metadaten Typische Metadaten Zugriff und Verwaltung."

Ähnliche Präsentationen


Google-Anzeigen