commit 269b8a31baa183a41e0420e09ce0ff78004d6cbe Author: fzzinchemical Date: Wed Jul 2 13:08:03 2025 +0200 update to local git repo diff --git a/Gerichtsplan KW 18.md b/Gerichtsplan KW 18.md new file mode 100644 index 0000000..0681266 --- /dev/null +++ b/Gerichtsplan KW 18.md @@ -0,0 +1,9 @@ +[Tarte aux asperges vertes et fromages de chèvre](https://www.marmiton.org/recettes/recette_tarte-aux-asperges-vertes-et-fromage-de-chevre_30758.aspx) +[Curry de poulet indien au yaourt](https://www.cuisineaz.com/recettes/curry-de-poulet-indien-au-yaourt-54510.aspx) +- [x] 2 Pizzas +2 Burgers +2 Indian Curry Chicken Rice +2 Flamme Quiche + +Portions min: 9 +Portions max: 12 diff --git a/Notes.md b/Notes.md new file mode 100644 index 0000000..cb5779f --- /dev/null +++ b/Notes.md @@ -0,0 +1,89 @@ +Wert wird an eine Stelle im RAM eingetragen. + +A laden wir den Wert ein +B laden wir die Ursprungsadresse +1 +Jump to Write Address (PC) +Wert aus A eintragen (OUTPUT) +Jump back Ursprungsadresse + 1 (PC) +unload a + b + +Um zu schreiben brauchen wir: +- WE (Flag?) +- Adresse +- Lesen oder Schreiben (Flag?) + +Adresse scheint man über den PC zu steuern + +# Fehlersuche +Programm: `04 02 0f 12` +Verhalten: +- 02 wird in `REG A` geladen +- in `ADDR 3` wird `02` eingeladen +- Verhalten entspricht den Vorstellungen (Code `4410`) + +# Test `5C10` +- Programm: `04 02 0f 06` +- 02 wird in `REG A` geladen +- in `ADDR 3` wird `02` eingeladen +- Springt anschließend zu `ADDR 06` + +Es sollte zu erst der Sprung stattfinden und anschließend geschrieben werden. Sowie zurückgesprungen werden zur ursprünglichen Adresse + +Idee: vorher den Jump erzwingen und anschließend schreiben +Idee: Jump back flag, welches den Wert aus REG B in den PC nach der Operation lädt + +`5c50` `WE_PC = 1` geändert +**Mit `WE_PC = 1` wird zu erst gesprungen und anschließend geschrieben, leider an die falsche Adresse.** + +load B +jump addr +write MEM, A +jump back + +ROM ADDR 12 +1. MOV B,PTR +2. JMP \ +3. MEMW +4. JMPB + +REG A: Wert, den wir am Ziel eintragen wollen +REG B: Ursprüngliche Adresse +12 ff 0c + +Die letzte Adresse wird ebenfalls als CMD interpretiert, eine spätere Modifikation könnte daher von Interesse sein. + +20 Ergebnis A +22 Speicher A + +z: +Init: Set B = 1 and A = EXIB +if equal --> a:, else b: + +b: +Write Counter to VAR D +(REG A, current Counter) +REG B, SUM +A = SUM +Overload local Set REG B with new SUM +Overload result in a: to new SUM +Set REG A to VAR D +SET B to 1 +SUB +Jump to z: + +a: +set A to result +print +halt + +zwischenregister mit Instructions alle 2 Takte hinzugefügt, WMEM +- springt +- aber schreibt nicht mehr + +# Instructions +- NOP (> PC + 1 > MBR) +- MBR +- (MBR (> PC)) +- PC + 1 +- PC + 1 (> MBR) +- \ No newline at end of file diff --git a/PROMAN.md b/PROMAN.md new file mode 100644 index 0000000..87b79a4 --- /dev/null +++ b/PROMAN.md @@ -0,0 +1,316 @@ + +# 27. +Im Zuge der Abwicklung eines Projektes wird regelmäßig eine Projektorganisation ausgestaltet. Was kennzeichnet eine Projektorganisation und welche Konfliktfelder können sich in diesem Zusammenhang innerhalb der Unternehmensorganisation ergeben? +Kennzeichnungen: +- Einmaliges, nicht wiederholtes Vorhaben. +- Projektaufgabe erfordert interdisziplinäre Zusammenarbeit. +- Zeitliche Befristung mit definiertem Projektanfang und Projektende. +- Neuartige Aufgabenstellung. +- Komplexe Wechselbeziehungen zwischen den Projektbestandteilen. +Konflikte: +- Freistellung von Projektmitgliedern von ihren Linienaufgaben. +- Disziplinarische versus fachliche Weisungsrechte auf Seiten der Projektleitung und Linienvorgesetzen. + +# 28. +Die Abwicklung von Projekten wird in der Regel im Rahmen des Projektmanagements dargestellt. Bitte legen Sie dar, was das Projektmanagement typischerweise beinhaltet. + Projektname und Projektbeschreibung +- Projektmanager und dessen Kompetenzen +- Kosten-Nutzen-Analyse +- Projektziel +- Projektergebnis +- Ressourcenfreigabe +- Projektrisiken +- Freigabe des Auftraggebers + +# 29. +Im Rahmen des Projektmanagements wird regelmäßig zwischen dem Lastenheft und Pflichtenheft eines Projektes unterschieden. Was kennzeichnet diese beiden Dokumente? +Pflichtenheft: +Beschreibt in konkreter Form, wie der [Auftragnehmer](https://de.wikipedia.org/wiki/Auftragnehmer "Auftragnehmer") die [Anforderungen](https://de.wikipedia.org/wiki/Anforderung_\(Heuristik\) "Anforderung (Heuristik)") des [Auftraggebers](https://de.wikipedia.org/wiki/Auftraggeber "Auftraggeber") zu lösen gedenkt – das sogenannte _wie und womit_. +Lastenheft: +Beschreibt die Gesamtheit der [Anforderungen](https://de.wikipedia.org/wiki/Anforderung_\(Heuristik\) "Anforderung (Heuristik)") des [Auftraggebers](https://de.wikipedia.org/wiki/Auftraggeber "Auftraggeber") an die Lieferungen und Leistungen eines [Auftragnehmers](https://de.wikipedia.org/wiki/Auftragnehmer "Auftragnehmer"). +# 30. +Mit der Projektkalkulation sind mehrere Funktionen verbunden. Bitte legen Sie dar, was in einer Projektkalkulation abgebildet wird und wie sich eine Angebots- von einer Durchführungskalkulation unterscheidet. +Projektkalkulation: +- Personalkosten +- Rohstoffkosten +- Bauteile- und Komponentenkosten +- Unterauftragnehmer- und Dienstleistungskosten + +| **Aspekt** | **Angebotskalkulation** | **Durchführungskalkulation** | +| ---------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| **Zweck** | Kalkulation zur Angebotserstellung und Preisfindung | Kalkulation zur Steuerung der tatsächlichen Projektkosten | +| **Zeitpunkt der Erstellung** | Vor der Auftragsvergabe | Während und nach der Projektdurchführung | +| **Datenbasis** | Erfahrungswerte, Standardwerte, Schätzungen | Reale Kosten, Ist-Daten aus der Projektdurchführung | +| **Flexibilität** | Eher statisch, da fixiertes Angebot | Dynamisch, Anpassungen an Projektverlauf möglich | +| **Detaillierungsgrad** | Oft grob, basiert auf Annahmen | Sehr detailliert, basierend auf realen Zahlen | +| **Verwendungszweck** | Entscheidungsgrundlage für Auftraggeber und Kalkulationsbasis für Angebotspreis | Kostenkontrolle, Budgetanpassung und Wirtschaftlichkeitsprüfung | + +# 31. +Bei langfristigen Projekten wird in der Regel zu mehreren Zeitpunkten eine sogenannte Cost-to-Complete-Rechnung erstellt. Bitte legen Sie dar, was die Aufgabe bzw. Funktion einer solchen Rechnung ist und welche Herausforderungen sich im Zuge ihrer Erstellung ergeben können. +Funktion: Projektrisiken frühzeitig erkennen, um Gegensteuerungsmaßnahmen treffen zu können. + +Herausforderungen: +- Abweichungen, die nicht am Stichtag erkennbar sind +- Projektrisiken, die nicht bei Kosten ermittelt werden können (bspw. nicht vorhersehbare Bugs) +- Gegensteuerungsmaßnahmen helfen mögl. nur bedingt bis nicht. + +# 32. +Welche Funktion hat ein Projektstrukturplan innerhalb der Projektabwicklung? Welches sind die typischen Elemente eines Projektstrukturplanes? +Funktion: +- Abbildung aller zu erledigenden Aufgaben +- Arbeitspakete + - Startdatum + - Dauer + - Verknüpfung + - Verantwortlichkeiten + +# 33. +Im Rahmen der Projektabwicklung wird in der Regel auch eine Instanz zum Projektcontrolling etabliert. Bitte legen Sie dar, welche Aufgaben das Projektcontrolling typischerweise übernimmt. + Management: + - eindeutiger, erreichbarer und abgestimmter Ziele auf Basis für aalle Projektaktivitäten + - der Risiken + - der Projektmitarbeiter, Infrastruktur und Organisation + - der Interessen aller direkt und indirekt am Proj. bet. Personen + - des nachhaltigen Wertbeitrags der Projekte + - der Projektaktivitäten im Zeitableuf + +# 34. +Im Rahmen des Projektmanagements werden regelmäßig Projektrisiken betrachtet. Welche Aufgaben übernehmen hierbei das Projektcontrolling und Projektmanagement? +Anforderungen Risikomanagement: +- Systematische Ausprägung +- Nachvollziehbarkeit +- Permanentes Vorgehen +- Risikostrategie als Basis + +# 35. +In Bezug auf die Auseinandersetzung mit Projektrisiken lassen sich unterschiedliche Risiken berücksichtigen. Welche Risiken können sich innerhalb eines Projektes zeigen? +- Insolvenz +- Mitarbeiterkündigung +- Keine Ressourcen +- Kein realistisches Ziel (Erfindung der Teleportation) + +# 36. +Welche Aufgabe kommt dem Change-Request-Management innerhalb des Projektmanagements zu? Aus welchem Grund erhält das Management von Change-Requests in Projekten eine hohe Bedeutung? +Funktion: Jede vom Auftraggeber adressierte Änderung wird im ersten Schritt gegen die Spezifikation und das Pflichtenheft des Projektauftrages geprüft. + +Hohe Bedeutung: +- Eindeutige Abgrenzung des einzelnen Change Requests von grundlegenden Änderungen im Projektleistungsumfang. +- Einschätzung, in welchem Umfang ein Change Request die originäre Leistungsverpflichtung des Projektvertrages beeinflusst. +- Prüfung und Abstimmung der für den einzelnen Change Request benötigten und im Projekt verfügbaren Kapazität. +- Prüfung und Vereinbarung bezüglich der Auswirkungen des einzelnen Change Requests auf Meilensteine und hiermit verbundener Umsätze +- Planung von Test- und Abnahmeprozessen zum einzelnen Change Request. + +# 37. +Im Rahmen der Abrechnung von Projekten kommt der vertraglichen Vereinbarung von Projektmeilensteinen eine hohe Bedeutung zu. Bitte legen Sie dar, worin sich diese Bedeutung begründet. + +Meilensteine sind: +- Arbeitsergebnis, das für sich geschlossen besteht +- Teilziel des Projektes, das erreicht wird +- Zeitpunkt einer Teilabnahme +- Zeitpunkt eines Projekt-Reviews + +Mit diesen werden in der Projektplanung Vorhaben untergegliedert um einzelne Phasen voneinander zu trennen. + + +# 38. +Innerhalb der Projektabwicklung werden häufig Teilabnahmen bzw. Endabnahmen mit Restpunkten ausgestaltet. Worin begründet sich dieses Vorgehen und welche Probleme können hiermit verbunden sein? + +Teil- und Endabnahmen sind wichtige Meilensteine in der Projektabwicklung, um die Qualität der erbrachten Leistungen zu prüfen und den Fortschritt offiziell zu bestätigen. Die Gründe für dieses Vorgehen sind: + +1. **Frühzeitige Qualitätssicherung:** Durch Teilabnahmen werden Fehler oder Abweichungen früh erkannt, was Nachbesserungen erleichtert und spätere Korrekturen vermeidet. + +2. **Freigabe von Zahlungen:** Viele Verträge knüpfen Zahlungen an erfolgreich abgenommene Leistungen, um die Liquidität des Auftragnehmers sicherzustellen. + +3. **Reduzierung des Projektrisikos:** Falls Probleme auftreten, können sie schrittweise behoben werden, anstatt erst am Projektende große Mängel zu entdecken. + +4. **Planungssicherheit für beide Parteien:** Der Auftraggeber erhält Teilergebnisse zur Nutzung oder Weiterverarbeitung, während der Auftragnehmer eine Bestätigung über erbrachte Leistungen bekommt. + +5. **Optimierung der Ressourcenplanung:** Falls Mängel festgestellt werden, können rechtzeitig Korrekturmaßnahmen ergriffen werden, ohne dass das gesamte Projekt verzögert wird. + + +#### **Probleme im Zusammenhang mit Teil- und Endabnahmen mit Restpunkten** + +Trotz ihrer Vorteile bringen Teilabnahmen und Endabnahmen mit Restpunkten auch Herausforderungen mit sich: + +- **Unklare Abnahmekriterien:** Wenn nicht genau definiert ist, welche Anforderungen für eine Abnahme erfüllt sein müssen, kann es zu Konflikten zwischen Auftraggeber und Auftragnehmer kommen. +- **Verzögerungen durch Nachbesserungen:** Falls viele Restpunkte offenbleiben, kann sich der Projektabschluss erheblich verzögern. +- **Unvollständige Dokumentation:** Bei Teilabnahmen kann es passieren, dass nicht alle festgestellten Mängel sauber dokumentiert werden, sodass sie später übersehen oder strittig werden. +- **Haftungsfragen und Garantiefristen:** Unklarheiten über die Verantwortung für Restmängel können zu rechtlichen Auseinandersetzungen führen, insbesondere wenn zwischenzeitlich Nutzung oder Änderungen an der erbrachten Leistung erfolgen. +- **Eingeschränkte Nutzung der Teilleistungen:** Falls wesentliche Bestandteile noch fehlen oder nicht voll funktionsfähig sind, kann die Nutzung der bereits abgenommenen Teile eingeschränkt sein. + + +# 39. +Welche Funktion hat ein Projekthandbuch? Welche typischen Bestandteile finden sich in einem Projekthandbuch? + +Ein **Projekthandbuch** ist ein zentrales Dokument im Projektmanagement, das alle relevanten Informationen zu einem Projekt strukturiert zusammenfasst. Es dient als **Orientierungshilfe und Kommunikationsmittel** für das Projektteam sowie für Stakeholder und stellt sicher, dass alle Beteiligten ein gemeinsames Verständnis der Ziele, Abläufe und Verantwortlichkeiten haben. + +Die wichtigsten Funktionen des Projekthandbuchs sind: + +1. **Dokumentation der Projektorganisation:** Definition von Rollen, Verantwortlichkeiten und Kommunikationswegen. +2. **Transparenz und Nachvollziehbarkeit:** Einheitliche und klare Darstellung aller Projektvorgaben. +3. **Steuerung und Kontrolle:** Basis für die Überwachung des Projektfortschritts. +4. **Qualitätssicherung:** Festlegung von Standards und Methoden für das Projektmanagement. +5. **Risikomanagement:** Identifikation und Dokumentation potenzieller Risiken und Maßnahmen zu deren Minimierung. +#### **Typische Bestandteile eines Projekthandbuchs** + +Je nach Projekt und Organisation kann der Umfang des Projekthandbuchs variieren, aber typische Inhalte sind: + +1. **Allgemeine Projektinformationen** + - Projektname, Projektnummer, Version des Handbuchs + - Projektbeschreibung und Zielsetzung + - Auftraggeber und Stakeholder +2. **Projektorganisation** + - Projektstruktur (Organigramm, Rollen, Verantwortlichkeiten) + - Benennung des Projektleiters und der Teammitglieder + - Kommunikations- und Eskalationswege +3. **Projektplanung** + - Meilensteinplan und Projektphasen + - Zeit- und Ressourcenplanung + - Budget und Kostenkalkulation +4. **Methoden und Vorgehensweisen** + - Projektmanagement-Methodik (z. B. klassisch, agil, hybrid) + - Vorgehensmodelle und Standards (z. B. PRINCE2, PMBOK, Scrum) + - Dokumentationsvorgaben +5. **Risikomanagement** + - Identifikation potenzieller Risiken + - Maßnahmen zur Risikominimierung + - Verantwortlichkeiten für das Risikomanagement +6. **Qualitätsmanagement** + - Qualitätsanforderungen und -standards + - Prozesse zur Qualitätssicherung + - Prüf- und Abnahmeverfahren +7. **Änderungsmanagement (Change Management)** + - Verfahren für Änderungsanträge + - Bewertung und Genehmigungsprozess für Änderungen +8. **Kommunikation und Berichterstattung** + - Regelmäßige Meetings und Berichtsformate + - Kommunikationsplan für interne und externe Stakeholder +- **Abschluss und Lessons Learned** + - Kriterien für den Projektabschluss + - Dokumentation der Erfahrungen für zukünftige Projekte + +# 40. +Welche Rolle bzw. Aufgaben nimmt das Projektcontrolling ein? Bitte erläutern Sie auch, worin sich die Einrichtung eines Projektcontrollings begründet. + +Das Projektcontrolling umfasst verschiedene Aufgaben, die sich über den gesamten Projektverlauf erstrecken: + +1. **Planung und Zieldefinition** + - Erarbeitung und Überprüfung der Projektziele + - Erstellung von Kosten-, Zeit- und Ressourcenplänen + - Definition von Messgrößen für die Erfolgskontrolle +2. **Überwachung und Steuerung** + - Laufende Überprüfung von Budget, Zeitplänen und Qualität + - Identifikation und Analyse von Abweichungen + - Einleitung von Korrekturmaßnahmen zur Zielerreichung +3. **Risikomanagement** + - Identifikation potenzieller Risiken + - Entwicklung und Umsetzung von Maßnahmen zur Risikominimierung +4. **Berichterstattung und Kommunikation** + - Erstellung von Statusberichten für Stakeholder + - Bereitstellung von Entscheidungsgrundlagen für das Management + - Unterstützung bei der Dokumentation und Nachverfolgung von Änderungen +5. **Erfolgskontrolle und Lessons Learned** + - Bewertung des Projekterfolgs anhand definierter Kennzahlen + - Analyse von Verbesserungspotenzialen für zukünftige Projekte + + +# 41. +Im Rahmen der Projektplanung bzw. des Projektcontrollings erfolgt u.a. die Ausgestaltung einer Projektstruktur mit einer zugehörigen Kostenträgerstruktur. Hier besteht grundsätzlich das Erfordernis einer Balancefindung zwischen einer detaillierten Aufgliederung des Projektes und andererseits der Handhabbarkeit dieser Kostenträgerstruktur im Rahmen von Zwischenkalkulationen bzw. Cost-to-Complete-Rechnungen. Bitte zeigen Sie mögliche Problembereiche in diesem Zusammenhang auf. + +1. **Zu hohe Detaillierung** → Hoher Verwaltungsaufwand, unübersichtliche Datenflut. + ✅ **Lösung:** Hierarchische Struktur, sinnvolle Aggregationsebenen. + +2. **Zu grobe Struktur** → Fehlende Kostentransparenz, ungenaue CTC-Rechnungen. + ✅ **Lösung:** Arbeitspakete definieren, Schlüssel-Kostenträger festlegen. + +3. **Gemeinkosten schwer zuzuordnen** → Verzerrte Kostenanalyse. + ✅ **Lösung:** Klare Umlageschlüssel, nachvollziehbare Zuordnungsmodelle. + +4. **Aufwendige Aktualisierung** → Fehlende Konsistenz, hoher Pflegeaufwand. + ✅ **Lösung:** Automatisierung, regelmäßige Reviews, klare Verantwortlichkeiten. + +5. **Systembrüche** → Inkonsistente Daten, fehlerhafte Berichte. + ✅ **Lösung:** Integration von Finanz- und Projektcontrolling, einheitliche Datenstandards. + +# 42. +Im Rahmen der Projektkalkulation besteht grundsätzlich die Möglichkeit zur Erstellung einer Kalkulation auf Basis eines Preisstandes mit der Definition von Preisgleitformeln. Was liegt dieser Methodik zugrunde und welche Vorteile können sich hieraus für die Seite des Auftraggebers und des Auftragnehmers des Projektes ergeben? + +📌 **Grundprinzip:** +- Kalkulation basiert auf einem festen Preisstand. +- Preisgleitformeln passen Kosten an Inflation oder Marktveränderungen an. +- Formel berücksichtigt Material-, Lohn- und sonstige Preissteigerungen. + + +✅ **Vorteile für den Auftraggeber:** +- **Budgetkontrolle**: Keine überhöhten Risikozuschläge. +- **Transparenz**: Klare, nachvollziehbare Preisänderungen. +- **Bessere Angebote**: Geringere Sicherheitsaufschläge der Auftragnehmer. + +✅ **Vorteile für den Auftragnehmer:** +- **Kostensicherheit**: Schutz vor Preissteigerungen. +- **Wettbewerbsfähigkeit**: Attraktivere Angebote möglich. +- **Fairness**: Klare Regeln zur Preisanpassung, Vermeidung von Verlusten. + +# 43. +Bei der Ausgestaltung eines Projektvertrages kann es im Interesse beider Vertragsparteien liegen, einen Festpreis zu vereinbaren. Welche Gründe sprechen aus Ihrer Sicht hierfür? + +📌 **Planungssicherheit für beide Parteien** +- Auftraggeber: Klare Budgetkontrolle, keine unerwarteten Mehrkosten. +- Auftragnehmer: Sicherer Umsatz, klare Kalkulationsbasis. + +📌 **Risikominimierung** +- Auftraggeber: Keine Kostensteigerungen durch Nachträge oder Verzögerungen. +- Auftragnehmer: Klare Vorgaben, weniger Verhandlungen über Zusatzkosten. + +📌 **Einfachere Vertragsabwicklung** +- Weniger Nachverhandlungen über Kostenanpassungen. +- Reduzierter Verwaltungsaufwand für Projektcontrolling. + +📌 **Motivation für effiziente Umsetzung** +- Auftragnehmer hat Anreiz, Kosten und Zeit im Griff zu behalten. +- Schnellere Fertigstellung kann die Marge erhöhen. + +📌 **Attraktivität für öffentliche und private Auftraggeber** +- Klare Budgetierung erleichtert Genehmigungen und Finanzierungsentscheidungen. +- Transparenz und Verlässlichkeit stärken das Vertrauen zwischen den Partnern. + +# 44. +Welche Probleme lassen sich im Zusammenhang mit Verzögerungen innerhalb einer Projektabwicklung aufzeigen? Was kann aus Ihrer Sicht im Rahmen des Projektmanagements und Projektcontrollings getan werden, um solche Verzögerungen zu vermeiden bzw. minimieren? + +📌 **Kostensteigerung** +- Höhere Personalkosten durch längere Projektlaufzeit. +- Vertragsstrafen oder Mehrkosten für Ressourcen und Material. + +📌 **Qualitätsrisiken** +- Zeitdruck kann zu Fehlern und reduzierter Qualität führen. +- Hektische Nachbesserungen erhöhen das Risiko von Mängeln. + +📌 **Unzufriedenheit bei Stakeholdern** +- Kunde verliert Vertrauen in das Projektteam. +- Negative Auswirkungen auf zukünftige Aufträge und Reputation. + +📌 **Ressourcenkonflikte** +- Verzögerungen verschieben Ressourcen und blockieren andere Projekte. +- Personal und Material sind möglicherweise nicht mehr verfügbar. + +### **Maßnahmen zur Vermeidung bzw. Minimierung von Verzögerungen** + +✅ **Sorgfältige Projektplanung** +- Realistische Zeitpläne mit Pufferzeiten einplanen. +- Frühzeitige Identifikation kritischer Pfade (z. B. mit der **CPM-Methode**). + +✅ **Effektives Risikomanagement** +- Frühzeitige Analyse potenzieller Risiken. +- Regelmäßige Updates und Anpassungen der Strategie. + +✅ **Kontinuierliches Monitoring & Controlling** +- Regelmäßige Soll-Ist-Vergleiche zur Früherkennung von Verzögerungen. +- Nutzung von Projektmanagement-Software zur automatisierten Überwachung. + +✅ **Klare Kommunikation & Koordination** +- Regelmäßige Meetings mit allen Beteiligten. +- Offene Eskalationswege für Probleme und schnelle Entscheidungsfindung. + +✅ **Agile Methoden nutzen** +- Iterative Planung, um flexibel auf Verzögerungen zu reagieren. +- Kontinuierliche Feedback-Schleifen zur schnellen Anpassung. \ No newline at end of file diff --git a/Praktikum/Atlas Elektronik.md b/Praktikum/Atlas Elektronik.md new file mode 100755 index 0000000..b3d61fa --- /dev/null +++ b/Praktikum/Atlas Elektronik.md @@ -0,0 +1,13 @@ +#Praktikum +- Student im vierten Semester Informatik Software und Systemtechnik an der HSB +- Multilingual aufgewachsen, Französisch und Deutsch als Mutter bzw Vatersprache +- Technologiebegeisterte und Risikofreundlicher Mensch + + +- Wieso Atlas Elektronik? + - Entwicklung von Bauteilen unter strikten Vorgaben. + - Bislang nur Selbständig mit Arduino oder ESP32 Mikrokontrollern gearbeitet. Austesten, ob das ein Berufsweg ist den ich einschlagen möchte. Angewandt auf einen Extremfall. + - entwickeln von Produkten für zivile und militärische Zwecke + - besonders die militärischen Zwecke sind interessant, weil das einen einblick in hochmoderne Sensortechnik geben würde + +**Bewerbung abgeschickt!** diff --git a/Praktikum/Forvia.md b/Praktikum/Forvia.md new file mode 100755 index 0000000..4279755 --- /dev/null +++ b/Praktikum/Forvia.md @@ -0,0 +1,21 @@ +#Praktikum +Es gibt plätze für Duale Studenten, aber keine Ahnung wie es mit Praktika aussieht... +Ein Anruf sollte frühstmöglich gemacht werden: + +Kontakt Hannover: +[ausbildung.seating@faurecia.com](mailto:ausbildung.seating@faurecia.com) + + +## Anfrage +Hallo, + +ich erkundige mich, ob es die Möglichkeit für ein studentisches Praktikum im Raum Hannover gibt, idealerweise im Bereich der Technischen Informatik oder Ingenieursinformatik mit Fokus auf Produktentwicklung. Auf Ihrer Karriereseite bin ich auf eine Bewerbung für den Dualen Studiengang in diesem Bereich gestoßen (https://jobs.faurecia.com/careers?location=Hannover&pid=563087397034838). Mein CV ist im Anhang beigefügt. + +Das Praktikum würde voraussichtlich im Oktober 2024 beginnen und eine Dauer von etwa zwanzig Wochen haben. + +Ich danke Ihnen im Voraus für Ihre Zeit und eine Rückmeldung. + +Vielen Dank! + +## Nachweis +![[Pasted image 20240404125457.png]] \ No newline at end of file diff --git a/Praktikum/Hella.md b/Praktikum/Hella.md new file mode 100755 index 0000000..54b4c35 --- /dev/null +++ b/Praktikum/Hella.md @@ -0,0 +1,49 @@ + #Praktikum + **STUDENT INTERNSHIP (M/W/D) - befristet für 1 Jahr** + +Standort Bremen, Germany + +**Pacesetting. Passionate. Together.** HELLA ist ein börsennotierter, international aufgestellter Automobilzulieferer, der unter der Dachmarke FORVIA agiert. Innerhalb dieses faktischen Konzerns steht HELLA für leistungsstarke Lichttechnik sowie Fahrzeugelektronik. Zugleich deckt das Unternehmen mit seiner Business Group Lifecycle Solutions ein breites Service- und Produktportfolio für das Ersatzteil- und Werkstattgeschäft sowie für Hersteller von Spezialfahrzeugen ab. HELLA ist mit rund 36.000 Mitarbeiterinnen und Mitarbeitern an über 125 Standorten weltweit aktiv und hat im Geschäftsjahr 2021/2022 einen Umsatz in Höhe von 6,3 Milliarden Euro erzielt. + +**IHRE AUFGABEN** + +Sie unterstützen im Bereich der Elektronikentwicklung von Sensoren am Standort Bremen in den Disziplinen des Systems- und Hardware Engineering. + +Die Erstellung einer µC basierten „Quick-Prototyping“ Plattform zur Evaluierung neuer Sensoranwendungen ist der Kern ihrer Tätigkeit. Zum Einsatz kommt ein ESP32 Development Board, für das Sie neben der Hardwareimplementierung die erforderliche Software in C++ erstellen. + +Für Sensoranwendungen erweitern Sie die „Quick-Prototyping“ Plattform um einen sensorspezifischen Teil wie z.B. CO2-, Druck- oder Beschleunigungssensoren. + +Sie bauen Prototypen mit Hilfe des 3D-Druckverfahrens und nehmen diese in Betrieb, inkl. Auswertung der Messergebnisse und Dokumentation. + +Testequipments und -vorrichtungen gehören ebenfalls zu Ihrem Aufgabenumfang. Darunter fallen z.B. Hardware-Aufbauten, Erstellen von Kabelbäumen sowie die Auslegung und Beauftragung von mechanischen Vorrichtungen. inkl. Auswertung der Messergebnisse und Dokumentation. + +Sie stimmen sich selbstständig mit Entwicklungsingenieuren ab, führen Literaturrecherchen durch, bewerten unterschiedliche Konzepte und bringen für uns neue – im Studium erlerne – Methoden ein. + +Startdatum: 01.05.2024 + + +**IHRE QUALIFIKATIONEN** + +Sie studieren Elektrotechnik, Mechatronik oder vergleichbare Studienfächer an einer Bremer Hochschule. + +Sie haben bereits erste Erfahrung im Umgang mit µC basierten Entwicklungskits z.B. Arduino gesammelt und verfügen über grundlegende Programmierkenntnisse in C++ + +Sie haben Interesse am Aufbau von elektronischen Schaltungen inklusive der Verarbeitung von SMD Bauteilen (Löten, ESD). + +Mit Sensoranwendungen – idealerweise CO2 Sensorik – haben sie erste Erfahrungen gewonnen. + +Kenntnisse über Kommunikationsprotokolle wie SPI, I²C und CAN sowie Grundlagen in HTML, CSS und JavaScript wären von Vorteil. + +Sie bringen gute Office-Kenntnisse mit (MS Excel, Word, PPT, Outlook, Project). Grundkenntnisse im Umgang mit Matlab und LabView sind von Vorteil. + +Neben der Fähigkeit zum eigenständigen sowie lösungsorientiertem Arbeiten, bringen Sie Einsatzfreude, Kontaktfähigkeit und Teamgeist mit. + +Hervorragende Deutsch- und gute Englisch-Kenntnisse runden Ihr Profil ab. + + +Nutzen Sie die Gelegenheit und entfalten Sie Ihr Potenzial in einem weltweit agierenden Unternehmen, das Ihnen beste Voraussetzungen für Ihren persönlichen Karriereweg bietet. + +Bitte senden Sie uns Ihre Bewerbung über unser Karriereportal mit Angabe Ihrer Gehaltsvorstellung und der Kennziffer req14171. + + +**ONLINE BEWERBUNGSGESPRÄCH FREITAG 11 Uhr** \ No newline at end of file diff --git a/Praktikum/Pasted image 20240404125457.png b/Praktikum/Pasted image 20240404125457.png new file mode 100755 index 0000000..be14e86 Binary files /dev/null and b/Praktikum/Pasted image 20240404125457.png differ diff --git a/Praktikum/Siemens.md b/Praktikum/Siemens.md new file mode 100755 index 0000000..f27a512 --- /dev/null +++ b/Praktikum/Siemens.md @@ -0,0 +1,26 @@ +#Praktikum +# Hannover +Erledigt: +- Mail geschrieben an Corrina Bosse +- [Linkedin von Corrina Bosse](https://www.linkedin.com/in/corinna-bosse-a95162163/) +## E-Mail +```txt +Sehr geehrte Frau Bosse, + +mein Name ist Mathys Touzet und ich studiere derzeit Informatik mit Schwerpunkt Software- und Systemtechnik (früher Technische Informatik) in Bremen. Ich möchte mich erkundigen, ob die Möglichkeit besteht, ein Praktikum im Bereich der Angewandten Informatik bei Siemens im Raum Hannover zu absolvieren. Trotz meiner Recherche im Jobportal konnte ich keine entsprechenden Stellenangebote finden. + +Meine Interessensbereiche decken sich größtenteils mit dem Dualen-Studiengangsangebot Elektro- und Informationstechnik, für das Sie als Ansprechperson fungieren; Weswegen ich mich bei Ihnen melde. + +Ich wäre Ihnen sehr dankbar, wenn Sie mir mitteilen könnten, ob ein Praktikum mit einer Dauer von mindestens 20 Wochen bei Siemens in Hannover möglich wäre. Ich freue mich auf Ihre positive Rückmeldung. + +Mit freundlichen Grüßen, +-- +M.Touzet +``` + +# Bremen +Für Bremen ist die gleiche Person zuständig... +hätte ich nicht erwartet. Na, dann kann ich mal auf eine Antwort warten und dann nachfragen. + +___ +**Ein solches Praktika ist in Hannover nicht möglich.** \ No newline at end of file diff --git a/Praktikum/Wago.md b/Praktikum/Wago.md new file mode 100755 index 0000000..52b2481 --- /dev/null +++ b/Praktikum/Wago.md @@ -0,0 +1,50 @@ +#Praktikum +# Telefonat +Frau Nina Waltemathe +Telefonnummer: 0571/887-44243 +**kein Telefonat durchgeführt** + +## Fragen +Die Anforderungen sind relativ breit gefächert, gibt es irgendwelche Vorerfahrungen, die +Gibt es bereits ein angekündigtes Projekt für das Praktikum oder wird es überhaupt ein Projekt geben? + +Systems Engineering: +Anforderungsdefinition herleiten von Anforderungsprofile in vernünftige Sprache + +Punkt 2: Standardinnovationsmanagement +- Patente (Ableitung der USE-Cases anhand vorher erledigter Erbeit) +- Forschungsartikel (Auswertung) + + + +Design into Zero () +1. Effiziente vermarktung von Produkten +2. Design from Zero (Kopplung mit Modelierungssyst.) + 1. Überprüngung und kopplung von Elementrafunktion + 2. Triz (aufbau anhand wiedersprüchen) +3. gemeinsamer Datenraum (aufbau) (mögliche Standardisierung) +4. Verwaltung (Datenaustausch) +5. Lernmethoden (Extrahierung der Erkenntnisse und Verarbeitung) +Gute Füllung im Zeitrahmen ! +Digital Channel Management + +Systemmodelle: +RFP-Struktur +- Ansatz von Festo +An Frau Waltemathe eine Mail schreiben. + + +Projekt startet vor Semester garnicht +Projektvertrag noch nicht ausgeschlossen + + + +Lineares Geschäftsdenken soll nicht mehr bestehen. Zirkuläre Geschäftslogik + +## TODO +- [ ] Vertrag + - [ ] Anhang Studienordnung + - [ ] Studienbescheinigung (aktuell) + - [ ] Mitgliedsbescheinigung der Krankenkasse +- [ ] Antrag auf Parkmöglichkeit für den ersten Tag im Mitarbeiterportal +- [ ] \ No newline at end of file diff --git a/Praktikum/prelytics.eu.md b/Praktikum/prelytics.eu.md new file mode 100755 index 0000000..9cc91e5 --- /dev/null +++ b/Praktikum/prelytics.eu.md @@ -0,0 +1,12 @@ +#Praktikum +## Aufgaben +- Bilderkennung +- Semantische Segmentation +- Analyse verbundener Komponenten +- Erkunden neuer Technologien +## Profilanforderungen +- Erfahrung im Bereich Computer Vision und Natural Language Processing +- vertraut mit Git +- Erfahrung und Umgang mit Python +- Erfahrungen mit mind. einem der Frameworks: PyTorch, Tensorflow, OpenCV ... +- typische Sprachkenntnisse diff --git a/Semester 1/LINALG/Abbildungen/Pasted image 20230715123337.png b/Semester 1/LINALG/Abbildungen/Pasted image 20230715123337.png new file mode 100755 index 0000000..c3b3605 Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Pasted image 20230715123337.png differ diff --git a/Semester 1/LINALG/Abbildungen/Pasted image 20230715130100.png b/Semester 1/LINALG/Abbildungen/Pasted image 20230715130100.png new file mode 100755 index 0000000..a1ef9f7 Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Pasted image 20230715130100.png differ diff --git a/Semester 1/LINALG/Abbildungen/Pasted image 20230715130139.png b/Semester 1/LINALG/Abbildungen/Pasted image 20230715130139.png new file mode 100755 index 0000000..8e15446 Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Pasted image 20230715130139.png differ diff --git a/Semester 1/LINALG/Abbildungen/Pasted image 20230715130346.png b/Semester 1/LINALG/Abbildungen/Pasted image 20230715130346.png new file mode 100755 index 0000000..3c760bf Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Pasted image 20230715130346.png differ diff --git a/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-14 162823.png b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-14 162823.png new file mode 100755 index 0000000..82d5feb Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-14 162823.png differ diff --git a/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 115056.png b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 115056.png new file mode 100755 index 0000000..c08d970 Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 115056.png differ diff --git a/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 120529.png b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 120529.png new file mode 100755 index 0000000..9c811d1 Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 120529.png differ diff --git a/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 123157.png b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 123157.png new file mode 100755 index 0000000..1677277 Binary files /dev/null and b/Semester 1/LINALG/Abbildungen/Screenshot 2023-07-15 123157.png differ diff --git a/Semester 1/LINALG/LINALG.md b/Semester 1/LINALG/LINALG.md new file mode 100755 index 0000000..76eac6c --- /dev/null +++ b/Semester 1/LINALG/LINALG.md @@ -0,0 +1,306 @@ +- [[#Grundvorgang|Grundvorgang]] +- [[#Besprochene Themen|Besprochene Themen]] +- [[#Durchführung|Durchführung]] + - [[#Durchführung#Gleichungen|Gleichungen]] + - [[#Gleichungen#Lineare Gleichungen|Lineare Gleichungen]] + - [[#Gleichungen#Quadratische Ergänzung|Quadratische Ergänzung]] + - [[#Gleichungen#Kubische Gleichungen vom Typ $ax^3+bx^2+cx=0$|Kubische Gleichungen vom Typ $ax^3+bx^2+cx=0$]] + - [[#Gleichungen#Biquadratische Gleichungen $ax^4+bx^2+c=0$|Biquadratische Gleichungen $ax^4+bx^2+c=0$]] + - [[#Gleichungen#Gauß-Verfahren|Gauß-Verfahren]] + - [[#Gleichungen#Äquivalente Umformung|Äquivalente Umformung]] + - [[#Durchführung#Lösungsverhalten eines linearen Gleichungssystems|Lösungsverhalten eines linearen Gleichungssystems]] + - [[#Durchführung#Vektoralgebra|Vektoralgebra]] + - [[#Vektoralgebra#Definition|Definition]] + - [[#Vektoralgebra#Parallele, antiparallele und kollineare Vektoren|Parallele, antiparallele und kollineare Vektoren]] + - [[#Vektoralgebra#Vektoroperationen|Vektoroperationen]] + - [[#Vektoroperationen#Skalarprodukt|Skalarprodukt]] + - [[#Vektoroperationen#Winkel zwischen zwei Vektoren|Winkel zwischen zwei Vektoren]] + - [[#Vektoralgebra#Vektornormierung|Vektornormierung]] + - [[#Vektoralgebra#Vektorprojektion|Vektorprojektion]] + + +# Klausurvorbereitung +Ziel der Vorbereitung ist nicht die Vollständigkeit abzudecken, sondern eher alle Themen kurz anzusprechen und später erneut zu vertiefen. +## Grundvorgang +- Vorlesungen kurz ansehen und Aufgaben gruppiert machen + - Bei Bedarf mehr als 2-3 Aufgaben pro Thema abarbeiten (Solle mögl. sein, da das Aufgabenheft zur Verfügung steht) +- (Vertiefung) Lesen der einzelnen neuen Kapitel, welche nicht beim Abitur drankamen (am besten aus anderen Büchern) +- Beispielklausur noch einmal Durcharbeiten, dieses Mal aber mit einer Zeitlimitierung +## Besprochene Themen +Folgende Liste kann unvollständig sein. Behalten Sie dies im Hinterkopf. +- Gleichungen + - Linear + - Quadratische + - PQ + - 🔥Exponentielle und größere + - Kubische Gleichungen vom speziellen Typ + - Biquadratische Gleichungen +- Lineare Gleichungen + - Lineare Gleichungssysteme + - Einführendes Beispiel + - 🔥Gauß-Algorithmus + - Matrizendarstellung eines linearen Gleichungssystem + - Äquivalente Umformung eines lin. Gleichungssystems + - Beschreibung des Eliminationsverfahrens von Gauß + - Lösungsverhalten eines linearen Gleichungssystems + - Ein Anwendungsbeispiel: Berechnung eines elektrischen Netzwerkes +- 🔥Reele Matrizen + - Definition + - 🔥Transposition von Matrizen + - 🔥Spezielle Matrizen + - Diagonalmatrix + - Einheitsmatrix + - Dreiecksmatrix + - Symmetrische Matrix + - Gleichheit von Matrizen + - Rechenoperationen + - Addition/Subtraktion + - Multiplikation mit einem Skalar + - Multiplikation zweier Matrizen + - Falk-Schema +- 🔥Determinanten + - Zweireihige Determinanten + - Multiplikationstheorem + - Dreireihige Determinanten + - Regel von Sarrus + - Laplascescher Entwicklungssatz +- 🔥Lösungsverhalten quad. lin. Gleichungssystem + - Inhomogen lineares System + - Cramersche Regel +- 🔥Trigonomische Funktionen + - Grundbegriffe + - Definition + - Winkelmaße + - Drehsinn eines Winkels + - Darstellung der Sinusfunktion im Einheitskreis + - Darstellung der Kosinusfunktion im Einheitskreis + - Sinus- und Kosinusfunktion + - Tangens- und Kotangensfunktion + - Wichtige Beziehungen zwischen den trigonometrischen Funktionen + - Anwendung in der Schwingungslehre + - Harmonische Schwingungen (Sinus) + - Harmonische Schwingung eines Federpendels + - Darstellung von Schwingungen im Zeigerdiagramm +- 🔥Arkusfunktionen + - Das Problem der Umkehrung trigo. Funktionen + - Arkussinusfunktion + - Arkuskosinusfunktion + - Arkustangens- und Arkuskotangensfunktion + - Trigonometrische Gleichungen +- Exponentialfunktionen + - Grundbegriffe + - Definition und Eigenschaften einer Exponentialfunktion + - Spezielle, in den Anwendungen häufig auftretende Funktionstypen mit e-Funktion +- Logarithmusfunktionen + - Grundbegriffe + - Definition und Eigenschaften einer Logarithmusfunktion + - Exponential- und Logarithmusgleichungen +- 🔥Komplexe Zahlen und Funktionen + - Algebraische oder Kartesische Form + - Polarformen + - Trigonometrische Form + - Exponentialform + - Eulersche Form + - Umrechnung zwischen Darstellungsformen + - Addition und Subtraktion komplexer Zahlen + - Multiplikation kompl. Zahlen +- 🔥Radizieren + - Definition + - Fundamentalsatz der Algebra +## Durchführung +### Gleichungen +#### Lineare Gleichungen +- Einsetzungsverfahren +- Gleichsetzungsverfahren +- Additionsverfahren +#### Quadratische Ergänzung +Anhand der binomischen Formeln kann man eine quadratische Ergänzung durchführen. Es entsteht am Ende ein "quadriertes Binom". +Beispiel: +$$ +\begin{align} +f(x)&=3x^2+6x+7 = 0\\ +f(x)&=x^2+2x+\frac{7}{3} = 0 |-6\\ +f(x)&=(x+1)^2 = -6 +\end{align} +$$ +#### Kubische Gleichungen vom Typ $ax^3+bx^2+cx=0$ +Bei kubischen Gleichungen, in denen das absolute Glied fehlt, lässt sich durch Ausklammern eine lineare und eine quadratische Gleichung erhalten. +#### Biquadratische Gleichungen $ax^4+bx^2+c=0$ +Über Substitution kann man solche Gleichungen lösen. +Beispiel: +$$ +\begin{align} +x^4-10x^2+9=0 \\ +\text{Substitution } u&=x^2 \\ +u^2-10u+9=0&\Rightarrow u_{1}{2}=5\pm4&\Rightarrow &u_{1}=9,&u_{2}=1 \\ +\text{Rücksubstitution mittels } x^2=u: \\ +x^2=U_{1}&=9&\Rightarrow&x_{1/2}&=\pm{3} \\ +x^2=U_{2}&=9&\Rightarrow&x_{3/4}&=\pm{1} +\end{align} +$$ +Die resultierende Lösungsmenge soll natürlich anschließend dokumentiert werden, da die Form jedoch selbsterklärend ist wird diese hier nicht gegeben. +#### Gauß-Verfahren +Gegeben sind folgende Gleichungen: +$$ +\begin{align*} +I && -x+y+z =0\\ +II && -2y-z=5\\ +III &&6y+9z=3&&|3\cdot II+III\\ +\hline\\ +I && -x+y+z=0\\ +II && -2y-z=5\\ +III && 6z=18&\Leftrightarrow z=3\\ +\dots \\ +\hline\\ +x=-1 && y=-4 &&z=3 +\end{align*} +$$ +Diese Lösungsform kann ebenfalls als Matrize erscheinen und über Befehle, wie rref gelöst werden. +#### Äquivalente Umformung +Unter der "Äquivalenten Umformung" versteht man das Vorher besprochene Beispiel, in dem Gleichungen umgeformt werden um diese dann anschließend zu Lösen. +### Lösungsverhalten eines linearen Gleichungssystems +*inhomogene* Gleichungssysteme besitzen entweder genau eine Lösung, oder *unendlich* viele Lösungen oder aber *überhaupt* keine Lösungen. +Erkennbar sind solche GS anhand mehrerer Gleichungen mit z.B. dem Fakt dass eine Gleichung das vielfache einer anderen Gleichung sei. +Ein *homogenes* Gleichungssystem ist stets lösbar die Grundstruktur von diesem ist bekannt, da vorherige Beispiele immer homogen gewesen waren.![[Screenshot 2023-07-14 162823.png]] +Wenn ein *inhomogenes* Gleichungssystem vorliegt, wird anhand des Hinzufügens des Skalars $\lambda$ eine potentielle Lösung für das *inhomogene* GS mit unendlich vielen Lösungen erstellt. Eine Lösung würde wie folgt aussehen: +$$ +\begin{align} + x+y-2z=0&&\Rightarrow&& x=2\lambda&&\uparrow \\ + y+0z=0&&\Rightarrow&&y=0&&\uparrow \\ + 0z=0&&\Rightarrow&&z=\lambda&&(\lambda\in\mathbb{R}) +\end{align} +$$ +Das Anwendungsbeispiel kann man sich gut als Gruppe ansehen. +___ +### Vektoralgebra +#### Definition +"Während man unter einem *Skalar* eine Größe versteht, die sich eindeutig durch eine Angabe einer *Maßzahl* und einer *Maßeinheit* beschreiben lässt, benötigt man bei einer *vektoriellen* Größe zusätzlich noch angaben über die Richtung, in der sie wirkt." +#### Parallele, antiparallele und kollineare Vektoren +- Parallel: $\vec{a}\uparrow\uparrow\vec{b}$ +- Antiparallel: $\vec{a}\uparrow\downarrow\vec{b}$ +- Kollinear: $\lambda\cdot\vec{a}=\vec{b}$ +#### Vektoroperationen +Bei der Addition zweier Vektoren gelten sowohl das Kommutativ-, als auch das Assoziativgesetz. +Die Subtraktion erfolgt nach dem gleichen Prinzip, nur dass man den gegenVektor addiert. Man bildet den sogenannten *Differenzvektor*. +Die Multiplikation eines Vektors über einen Skalar erfolgt folgendermaßen: +$$ +\lambda\cdot\vec{a} = \left( +\begin{array}{c} +\lambda\cdot a_{x} \\ +\lambda \cdot a_{y} \\ +\lambda \cdot a_{z} +\end{array}\right) +$$ +Um eine Vektorlänge zu erhalten benutzt man folgenden Vorgang: +$$ +\mid\vec{a}\mid=\mid\vec{P_{1}P_{2}\dots P_{n}}\mid =\sqrt{P_{1}^2+P_{2}^2+\dots P_{n}} +$$ +##### Skalarprodukt +"Unter dem *Skalarprodukt* $\vec{a}\cdot\vec{b}$ zweier Vektoren wird das Produkt aus den Beträgen der beiden Vektoren und dem Kosinus des von den Vektoren eingeschlossenen Winkels $\varphi$ verstanden." +- Bei Orthogonalität ist das Skalarprodukt der Vektoren gleich **0** $\vec{a}\bot\vec{b}$ +- Sind zwei Vektoren parallel, so ist leifert das Skalarprodukt den Wert **1** +$$ +\vec{a}\cdot\vec{b}=\left( +\begin{array}\\ +a_{x} \\ +a_{y} \\ +a_{z} +\end{array} +\right) \cdot \left( +\begin{array} \\ +b_{x} \\ +b_{y} \\ +b_{z} +\end{array}\right) = a_{x}b_{x}+a_{y}b_{y}+a_{z}b_{z} +$$ + +##### Winkel zwischen zwei Vektoren +Mit folgender Formel lässt sich der Winkel $\varphi$ zweier Vektoren ermitteln. +$$ +\cos \varphi = \frac{\vec{a}\cdot\vec{b}}{\mid\vec{a}\mid\cdot \mid\vec{b}\mid} +$$ +ANWENDUNGSBEISPIEL: 2.5 vom 05.05.2023 +#### Vektornormierung +"Durch *Normierung* erhält man aus einem vom Nullvektor verschiedenen Vektor $\vec{a}$ einen *Einheitsvektor gleicher Richtung*" +$$\vec{e_{a}}=\frac{\vec{a}}{\mid\vec{a}\mid}$$ +#### Vektorprojektion +Bei der Projektion eines Vektors teilt man einen Vektor beispielsweise in eine Tangential- und eine Normalkomponente. + +"Durch Projektion des Vektors $\vec{b}$ auf den Vektor $\vec{a}$ entsteht der Vektor +$$ +\vec{b_{a}}=\left(\frac{\vec{a}\cdot\vec{b}}{\mid\vec{a}\mid^2} +\right)\vec{a} = (\vec{e_{a}}\cdot\vec{b})\vec{e_{a}} +$$ +Er wird als *Komponente* des Vektors $\vec{b}$ in Richtung des Vektors $\vec{a}$ bezeichnet." +#### Vektorprodukt zweier vektoren +"Unter dem Vektorprodukt $\vec{c}=\vec{a}\times\vec{b}$ zweier Vektoren versteht man den eindeutig bestimmten Vektor mit den folgenden Eigenschaften: +1. $\vec{c}$ ist sowohl $\vec{a}$ als auch $\vec{b}$ orthogonal: $\vec{c} \cdot\vec{a}=0$ und $\vec{c} \cdot\vec{b}=0$ +2. Der Betrag von $\vec{c}$ ist gleich dem Produkt aus den Beträgen der Vektoren $\vec{a}$ und $\vec{b}$ und dem Sinus des von ihnen eingeschlossenen Winkels $\varphi$: +$$ +\begin{align} +\mid\vec{c}\mid&=\mid\vec{a}\mid \cdot \mid\vec{b}\mid \cdot \sin \varphi & (0°\leq\varphi\leq 180°) +\end{align} +$$ +3. Die Vektoren $\vec{a},\vec{b},\vec{c}$ bilden in dieser Reihenfolge einen rechtshändiges System." + +**Berechnung eines Vektorproduktes aus den skalaren Vektorkomponenten der beteiligten Vektoren** +Das Vektorprodukt $\vec{a}\times\vec{b}$ zweier Vektoren lässt sich aus den skalaren Vektorkomponenten der beiden Vektoren wie folgt berechnen: +$$ +\vec{a}\times\vec{b}=\left( +\begin{array}\\ +a_{x} \\ +a_{y} \\ +a_{z} +\end{array}\right)\times +\left( +\begin{array}\\ +b_{x} \\ +b_{y} \\ +b_{z} +\end{array}\right) = \\ +\left(\begin{array}\\ +a_{y}b_{z} - a_{z}b_{y} \\ +a_{z}b_{x} - a_{x}b_{z} \\ +a_{x}b_{y} - a_{y}b_{x} +\end{array}\right) +$$ +##### Determinantendarstellung eines Vektorproduktes +![[Screenshot 2023-07-15 115056.png]] +Die eine dreireihige Determinante kann nach der *Regel von Sarrus* ermittelt werden. Diese wurde in der Abbildung zum Schluss verwendet. + +##### Spatprodukt +Unter dem Spatprodukt dreier Vektoren versteht man das skalare Produkt aus dem Vektor $\vec{a}$ und dem aus den Vektoren gebildeten Vektorprodukt Vektorprodukt $\vec{b}\times\vec{c}$ : +$$ +[\vec{a}\ \vec{b}\ \vec{c}] = \vec{a}\ \cdot\ \vec{b}\times\vec{c} +$$ +#### Geometrisch Deutung eines Spatproduktes +![[Screenshot 2023-07-15 120529.png]] + + + + + + + + +Hier sind grundlagen aus dem Abitur, welche nicht erwähnt werden. Darunter sind folgende Beispielthemen: +- Geradendarstellung +- Ebenendarstellung + +### Matrizen +#### Transponierung einer Matrix +![[Screenshot 2023-07-15 123157.png]] +Bei Matrizen kommen ansonsten keine neuen Themen dran, daher ist die Grundlage des Abis ausreichend. +#### Multiplaktion zweier Matrizen +![[Pasted image 20230715123337.png]] +Das ist das sogenannte Falk-Schema. + +### Determinanten +Beim Durchlesen bekam ich eine Krise, daher mache ich das vllt später. + +### Kriterien für die Lösbarkeit eines inhomogenen linearen Systems +![[Pasted image 20230715130139.png]] +### Kriterien für die Lösbarkeit eines homogenen linearen Systems +![[Pasted image 20230715130100.png]] +### Cramersche Regel +![[Pasted image 20230715130346.png]] diff --git a/Semester 2/RNETZE.md b/Semester 2/RNETZE.md new file mode 100755 index 0000000..2428d38 --- /dev/null +++ b/Semester 2/RNETZE.md @@ -0,0 +1,26 @@ +## CRC + +$$n = m + k$$ +$$n\geq 2^k -1$$ + +Bei einem L2 Frame, gibt es jeweils 6 Bereiche. +- ... +- MAC-Adr. +- MAC-Adr. +- Length/Type +- Data +- FCS (CRC32) +## Hamming +Verstreung von Prüfbits an bei Exponenten mit binärer Basis. +Gerade Parität: Die Prüfsumme ist eine gerade Zahl. + +## Datenübertragungen +Von einem Sender werden Daten an einen Empfänger versendet. Die Geschwindigkeit (Datendurchsatz) wird in bps (bits per second) gemessen. +Über einen tcp 3-Way-Handshake wird jeweils die Verbindung zwischen beiden Verbindungspartnern garantiert. + +syn $\rightarrow$ +$\leftarrow$ ack + +## Automatische Netzwerkkonfiguration +NDP +FF02: Multicast...............2! \ No newline at end of file diff --git a/Semester 2/WSTROM.md b/Semester 2/WSTROM.md new file mode 100755 index 0000000..fd9e511 --- /dev/null +++ b/Semester 2/WSTROM.md @@ -0,0 +1,6 @@ +![[Pasted image 20230920160437.png]] + +![[Pasted image 20230920161031.png]] + +![[Pasted image 20230920160624.png]] +![[Pasted image 20230920160750.png]]![[Pasted image 20230920161054.png]]![[Pasted image 20230920161139.png]] \ No newline at end of file diff --git a/Semester 3/BESYST/04_Blatt_Loesung.pdf b/Semester 3/BESYST/04_Blatt_Loesung.pdf new file mode 100755 index 0000000..9db4090 Binary files /dev/null and b/Semester 3/BESYST/04_Blatt_Loesung.pdf differ diff --git a/Semester 3/BESYST/05_Blatt_Loesung.pdf b/Semester 3/BESYST/05_Blatt_Loesung.pdf new file mode 100755 index 0000000..3994902 Binary files /dev/null and b/Semester 3/BESYST/05_Blatt_Loesung.pdf differ diff --git a/Semester 3/BESYST/10_Blatt_Loesung.pdf b/Semester 3/BESYST/10_Blatt_Loesung.pdf new file mode 100755 index 0000000..5adb33d Binary files /dev/null and b/Semester 3/BESYST/10_Blatt_Loesung.pdf differ diff --git a/Semester 3/BESYST/Antrag_mtouzet_5246838.pdf b/Semester 3/BESYST/Antrag_mtouzet_5246838.pdf new file mode 100755 index 0000000..e61383d Binary files /dev/null and b/Semester 3/BESYST/Antrag_mtouzet_5246838.pdf differ diff --git a/Semester 3/BESYST/Aufgaben.md b/Semester 3/BESYST/Aufgaben.md new file mode 100755 index 0000000..6308cd6 --- /dev/null +++ b/Semester 3/BESYST/Aufgaben.md @@ -0,0 +1,46 @@ +# Übungsblatt 1 + + +
    +
  1. Worin besteht der Unterschied zwischen System- und Benutzermodus? Erläutern Sie, inwiefern die Tatsache, zwei unterschiedliche Modi zu haben, beim Entwurf eines Betriebssystems hilfreich ist.
  2. +
  3. Befehle, die den Zugriff auf Ein-/Ausgabegerate betreffen, sind in der Regel privilegiert, können also nur im Systemmodus ausgeführt werden, aber nicht im Benutzermodus. Geben Sie einen Grund dafür an, warum diese Anweisungen privilegiert sind.
  4. +
  5. Welche der folgenden Befehle (bzw. Aktivitäten) sollten nur im Systemmodus erlaubt sein? Geben Sie ggf. eine kurze Begründung an.
  6. +
  7. Für einen Programmierer sieht ein Systemaufruf genauso aus wie der Aufruf einer Bibliotheksfunktion. Ist es für den Programmierer wichtig zu wissen, wann eine Bibliotheksfunktion einen Systemaufruf ausführt? Falls ja, unter welchen Umständen und warum?
  8. +
  9. Moderne Betriebssysteme entkoppeln den (logischen) Adressraum eines Prozesses vom physischen Adressraum des Hauptspeichers. Geben Sie (mindestens) zwei Vorteile dieses Vorgehens an.
  10. +
+ +- Beim Systemmodus wird direkt auf die Hardware zugegriffen und commandiert, während beim Benutzermodus eine Abstraktionsschicht vorhanden ist, welche auf Softwareebene arbeitet. + +- Ein und Ausgabegeräte befinden sich nicht auf der Software-Ebene, somit können diese nicht durch eine reine Anwendung des Benutzermodusses verwendet werden. Es werden Driver benötigt um an die Ein- und Ausgabegeräte zu kommen. + + + I. Sperren aller Unterbrechungen, (Benutzermodus) + II. Lesen der aktuellen Uhrzeit, (Benutzermodus) + III. Setzen der aktuellen Uhrzeit, (Systemmodus) + IV. Ändern der Speicherabbildungs-Tabellen. (Systemmodus) + +- Hardware verhält sich nicht wie reine Software, daher kann beim falschen Anwenden von den genannten Bibliotheksfunktionen die Hardware zunichtegehen. Es sollte somit klar sein, dass alle Schritte gut überlegt wurden bevor man die Software deployed. + +- KP + +# Übungsblatt 2 +a) Bereit, Berechnet, Blockiert +b) ![[Pasted image 20231101115012.png]] +c) + a) IO Anforderung + b) Dispatcher entzieht Prozessor +d) +mehrere Threads pro Prozess (1) +privater Thread (2) +- Offene Dateien (1) +- Tabelle zur Abbildung von logischen auf physische Adressen (1) +- Priorität für den CPU-Scheduler (2) +- Datenregister des Prozessors (2) +- Programmcode (1) +- Befehlszähler (1) +- Kellerzeiger (1) +- Lokale Variable einer Funktion bzw. Methode (1) +e) KP +f) KP + +## Java Implementierung diff --git a/Semester 3/BESYST/BESYST.md b/Semester 3/BESYST/BESYST.md new file mode 100755 index 0000000..3cdf71e --- /dev/null +++ b/Semester 3/BESYST/BESYST.md @@ -0,0 +1,16 @@ +# Lehrinhalte +Lehrinhalte gegeben aus dem Modulhandbuch: +- Einführung: Aufgabenstellung, Zielsetzung, Historischer Überblick, Arten des Dialogbetriebs +- Kommunikation und Synchronisation: Prozesse, Threads, Semaphoren, Monitore, Message Passing, Remote Procedure Call +- Deadlocks +- Ressourcenverwaltung: Prozess- und Betriebsmittelsteuerung, Scheduling-Algorithmen, Swapping und Buddy-System, Paging-Prinzip, Paging-Algorithmen, Paging-Modellierung und Designprobleme, Segmentierung +- Dateisysteme: Benutzersicht, Implementierung, Sicherheit und Schutz +# Betriebssysteme +Was ist ein Betriebssystem? +Ein Betriebssystem ist die Erweiterung der Hardware und ihre Abstraktion, welche Betriebsmittel verwaltet. + +Was versteht man unter Veredelung der Hardware? +Die Hardware muss billig schnell und zuverlässig sein. Dadurch wird diese auf das notwendige beschränkt und schwierig zu Programmieren. + +Das Betriebssystem stellt komplexe Funktionen bereit. Wieso? +Es wird die Programmierung erheblich vereinfacht, weil kein zusätzlicher Boilerplate benötigt wird. diff --git a/Semester 3/BESYST/Klausurvorbereitung.md b/Semester 3/BESYST/Klausurvorbereitung.md new file mode 100755 index 0000000..c4d9ffd --- /dev/null +++ b/Semester 3/BESYST/Klausurvorbereitung.md @@ -0,0 +1,7 @@ +- Einführung: Aufgabenstellung, Zielsetzung, Historischer Überblick, Arten des Dialogbetriebs +- Kommunikation und Synchronisation: Prozesse, Threads, Semaphoren, Monitore, Message Passing, Remote +Procedure Call +- Deadlocks +- Ressourcenverwaltung: Prozess- und Betriebsmittelsteuerung, Scheduling-Algorithmen, Swapping und Buddy- +- System, Paging-Prinzip, Paging-Algorithmen, Paging-Modellierung und Designprobleme, Segmentierung +- Dateisysteme: Benutzersicht, Implementierung, Sicherheit und Schutz \ No newline at end of file diff --git a/Semester 3/ELMESS/2007QuasiDoneBABYYYYYY.xopp b/Semester 3/ELMESS/2007QuasiDoneBABYYYYYY.xopp new file mode 100755 index 0000000..ea022d1 Binary files /dev/null and b/Semester 3/ELMESS/2007QuasiDoneBABYYYYYY.xopp differ diff --git a/Semester 3/ELMESS/2024-01-29-Note-12-32.xopp b/Semester 3/ELMESS/2024-01-29-Note-12-32.xopp new file mode 100755 index 0000000..37e7e33 Binary files /dev/null and b/Semester 3/ELMESS/2024-01-29-Note-12-32.xopp differ diff --git a/Semester 3/ELMESS/2024-02-01-Note-17-04.xopp b/Semester 3/ELMESS/2024-02-01-Note-17-04.xopp new file mode 100755 index 0000000..881d8cb Binary files /dev/null and b/Semester 3/ELMESS/2024-02-01-Note-17-04.xopp differ diff --git a/Semester 3/ELMESS/2024-02-08-Note-17-27.xopp b/Semester 3/ELMESS/2024-02-08-Note-17-27.xopp new file mode 100755 index 0000000..85b87ac Binary files /dev/null and b/Semester 3/ELMESS/2024-02-08-Note-17-27.xopp differ diff --git a/Semester 3/ELMESS/2024-02-08-Note-17-27_annotated.pdf b/Semester 3/ELMESS/2024-02-08-Note-17-27_annotated.pdf new file mode 100755 index 0000000..9f4caa4 Binary files /dev/null and b/Semester 3/ELMESS/2024-02-08-Note-17-27_annotated.pdf differ diff --git a/Semester 3/ELMESS/Aufgaben.md b/Semester 3/ELMESS/Aufgaben.md new file mode 100755 index 0000000..b2551bd --- /dev/null +++ b/Semester 3/ELMESS/Aufgaben.md @@ -0,0 +1,61 @@ +## Grundlagen, Einheiten und Ausgleichskurven – Teil 1 +### A1) +$$ +\begin{align} +a)\\ +\omega &= 120 \frac{U}{min} = 2 Hz \\ +M &= 20Nm\\ +P &= M \cdot \omega = 4\pi Hz \frac{1}{s} \cdot 20Nm = \pi \cdot 80W\\ +E_p &= 3600s \cdot P = 288 \pi kJs\\ +b)\\ +\text{falsch}\\ +\end{align} +$$ +### A2 +a) Herz $\frac{1}{s}$ +b) Früher: 1 Meter Platinstab als Maßeinheit für den Meter, heute Lichtgeschwindigkeit. Früher zu ungenau augrund der verformbarkeit des Platins +c) Elementarladung eines Elektrons $e$, Avogadro-Konstante $N_a$ +d) Dies ist in SI Grundeinheiten +$$ +[m = \frac{c}{\Delta v}]\\ +[kg = \frac {h \Delta v}{c²}] +\rightarrow[\rho = \frac{kg}{m²}=\frac{\frac{h \Delta v}{c²}}{(\frac{c}{\Delta v})²}=\frac{h\Delta v^3}{c⁴}] +$$ +### A3 +a) Einheiten mit den Naturkonstanten +$$ +[J = \frac{h}{c²}] +[V = \frac{W}{A}= \frac{h\cdot\Delta v\cdot e}{c²}] +[H=\frac{kg\cdot m²}{A²\cdot s²}=\frac{h\cdot\Delta v}{c^4}] +$$ +$$ +\begin{align} +m &= 8000 kg\\ +h &= 80m\\ +E &= m\cdot g\cdot h = 6284kJ\\ +E_{el} &= \frac{E}{3600s} = 1.794kWh\\ +\end{align} +$$ +### A4 +$$ +\begin{align} +q_v=10.8\frac{m³}{h}\\ +\Delta p = 200\ \text{mbar}\\ +a)\\ +P = 10.8\frac{m³}{h}\cdot 200mbar +P = 600W +E_{elek}= 36kWh +\end{align} + +$$ + + +## Grundlagen, Einheiten und Ausgleichskurven – Teil 2 +a) Welchen Wert zeigt ein Drehspulinstrument bzw. ein Digitalmultimeter im "DC"-Modus an, wenn die Spannung +𝑢 𝑡 = 5V ⋅ sin 4𝜋𝑡 anliegt? Hinweis: Integration über eine Periode, also z. B. von einer Nullstelle zur nächsten. +b) Beim AS-i - Bus (Aktuator-Sensor-Interface) werden Signale in Form von Strompulsen der Form i 𝑥 = 𝐼0 sin2 𝑥 +übertragen. Welchen Strom-Mittelwert hat ein solcher Puls? Hinweis: Erst mit Hilfe der Additionstheoreme zeigen, +dass sin2 𝑥 = 1 +2 − 1 +2 cos 2𝑥. + diff --git a/Semester 3/ELMESS/DieRechnung.pdf b/Semester 3/ELMESS/DieRechnung.pdf new file mode 100755 index 0000000..748a61e Binary files /dev/null and b/Semester 3/ELMESS/DieRechnung.pdf differ diff --git a/Semester 3/ELMESS/ELMESS-Berechnungen-OPV.pdf b/Semester 3/ELMESS/ELMESS-Berechnungen-OPV.pdf new file mode 100755 index 0000000..a7be627 Binary files /dev/null and b/Semester 3/ELMESS/ELMESS-Berechnungen-OPV.pdf differ diff --git a/Semester 3/ELMESS/ELMESS-Berechnungen-OV.xopp b/Semester 3/ELMESS/ELMESS-Berechnungen-OV.xopp new file mode 100755 index 0000000..b1484b4 Binary files /dev/null and b/Semester 3/ELMESS/ELMESS-Berechnungen-OV.xopp differ diff --git a/Semester 3/ELMESS/ELMESS-Berechnungen-OV2.xopp b/Semester 3/ELMESS/ELMESS-Berechnungen-OV2.xopp new file mode 100755 index 0000000..1c08fbf Binary files /dev/null and b/Semester 3/ELMESS/ELMESS-Berechnungen-OV2.xopp differ diff --git a/Semester 3/ELMESS/Kochrezepte.md b/Semester 3/ELMESS/Kochrezepte.md new file mode 100755 index 0000000..63d64ea --- /dev/null +++ b/Semester 3/ELMESS/Kochrezepte.md @@ -0,0 +1,32 @@ +## Berechnungen Operationsverstärker +- $I_p = I_n = 0$ +- $U_n = U_p$ mit $U_n - U_p = 0$ und umgekehrt +- $I_p = I_n = 0$ +- Maschen aufstellen +- Knoten aufstellen +- Gleichung nach $U_a$ umstellen +- Lösen durch Einsetzen der vorher bestimmten Gleichungen +## Berechnung der Abweichung +### Eine Abweichung +- Bestimme den Mittelwert + - $\overline{x}=\frac{1}{N}\sum_{i=1}^{N}x_i$ +- Bestimme die statistische Abweichung + - $S_x=\sqrt{\frac{1}{N-1}\sum_{i=1}^{N}(x_i-\overline{x})²}$ +- Bestimme die Streuung + - $\Delta x=\frac{1}{\sqrt{N}}\cdot t_{N,\text{Sicherheit}\ \%}\cdot S_x$ +- Wende das Fehlerfortpflanzungsgesetz an mit der vorgegebenen Unsicherheit und der berechneten Unsicherheit + - $\hat{x} = \overline{x}\pm\Delta x$ + - $\Delta X=\sqrt{\sum_{i=1}^{N_{\text{Unsicherheit}}} \Delta x_i²}$ +### mehrere Abweichungen +- Leite Partiell nach den Unsicherheiten ab + - $\Delta f_{x_i} = \frac{\partial f}{\partial x_i}\cdot \Delta x_i$ +- Wende das Fehlerfortpflanzungsgesetz an + - $X = \overline{x}\pm\Delta X$ + - $\Delta X=\sqrt{\sum_{i=1}^{N_{\text{Unsicherheit}}} \Delta f_{x_i}²}$ +## Bildung Ausgleichs-Gerade +- Formel Ausgleichs-Gerade: $y(x)=\overline{y}+\frac{S_{xy}}{S_x²}(x-\overline{x})$ +- Bestimme die Mittelwerte für x und für y +- Bestimme die statistische Abweichung für $S_x²$ +- Bestimme die statistische Abweichung für $S_{x,y}$ + - $S_{x,y}=\frac{1}{N-1}\sum_{i=1}^{N}((x_i-\overline{x})\cdot(y_i -\overline{y}))$ +- In Gleichung einsetzen \ No newline at end of file diff --git a/Semester 3/ELMESS/Kochrezepte.pdf b/Semester 3/ELMESS/Kochrezepte.pdf new file mode 100755 index 0000000..e9c2205 Binary files /dev/null and b/Semester 3/ELMESS/Kochrezepte.pdf differ diff --git a/Semester 3/ELMESS/Labor_04.md b/Semester 3/ELMESS/Labor_04.md new file mode 100755 index 0000000..091a35b --- /dev/null +++ b/Semester 3/ELMESS/Labor_04.md @@ -0,0 +1,45 @@ +5.3 Zeitkonstanten, Least Squares Parameteridentifikation +´´´matlab +scss +% Import necessary libraries +import numpy as np +from matplotlib import pyplot as plt +from scipy.optimize import curve_fit + +% Load data from file +data = np.loadtxt('data.csv', delimiter=',') + +% Define functions for plotting +def plot_time_series(x, y): +fig, ax = plt.subplots() + ax.plot(x, y) + ax.set_xlabel('Time (s)') + ax.set_ylabel('Temperature (°C)') + ax.grid(True) + return fig, ax + +% Define functions for fitting the curves +def fit_curve(x, y, t0, T0, Tb): + A = np.exp(-Tb * x / T0) + B = np.log(1 + (A / (1 - A))) + return A * np.exp(B * x / T0) + +def fit_saturation(x, y, t0, T0, Tb): + def saturation(x, t0, T0, Tb): + return T0 + (Tb - T0) * np.exp(-x / t0) + return curve_fit(saturation, x, y, p0=[t0, T0, Tb])[0] + +% Fit curves to data +fig1, ax1 = plot_time_series(data[:, 0], data[:, 1]) +ax1.plot(fit_curve(data[:, 0], data[:, 1], t0=30, T0=25, Tb=10)) +fig2, ax2 = plot_time_series(data[:, 0], data[:, 2]) +ax2.plot(fit_saturation(data[:, 0], data[:, 2], t0=30, T0=25, Tb=10)) + +% Calculate difference between time constants +T_diff = np.abs(fit_curve(data[:, 0], data[:, 2], t0=30, T0=25, Tb=10)[0] - fit_saturation(data[:, 0], data[:, 2], t0=30, T0=25, Tb=10)[0]) + +% Print result +print('The difference between the time constants of the two sensors is:', T_diff) +´´´ +5.4 Parameter B des NTC +EASY STUFF!!! \ No newline at end of file diff --git a/Semester 3/ELMESS/Untitled.md b/Semester 3/ELMESS/Untitled.md new file mode 100755 index 0000000..e69de29 diff --git a/Semester 3/ELMESS/Vorlesung.md b/Semester 3/ELMESS/Vorlesung.md new file mode 100755 index 0000000..3dbdc7c --- /dev/null +++ b/Semester 3/ELMESS/Vorlesung.md @@ -0,0 +1,41 @@ +**Am 22.12 findet die Vorlesung in Person statt, dort wird dann die Klausurvorbereitung durchgeführt.** +# Einführung +- Einführung in Mat Lab selbst durchnehmen und erlernen, sowohl als installieren +- Gastvorlesung finden in dem Modul ebenfalls statt +- Labor wahrscheinlich einmal alle 3 Wochen + +## Einleitung in die Messungen +- Distanzmessungen, Wärmemessungen, etc... +- Unterschiedliche Messgeräte (Kameras, Laser, etc...) +- In der Medizintechnik wird enorm viel gemessen +- Aufhebung, Interpretation und Umsetzung von Daten + +## Was wird gemessen? +- Untersuchen und Beweisen (I +II) +- Prozessbezogenes Messen (III) + +## Messen definition (?) +- **Messen heißt vergleichen** +- Messen ist das vergleichen von einer bekannten Größe mit einer vertrauten Sachlage in einer bekannten Einheit (SI, cga, usw...) +- Bei Messungen gehen pot. Informationen verloren, welche im Nachhinein ebenfalls betrachtet werden müssen + +## OSZ (Folie: "Messen heißt vergleichen - Kette der Rückführung") +- je größer die Messgröße steigt, umso größer wird die Ungenauigkeit +Folgendes gilt bei einer RC-Schaltung (gilt nur bei den gegebenen Werten): +Es wurde an die Tafel eine begrenzte Funktion mit der Grenze 90% aufgezeichnet. Bei $x = \tau$ sind 63% und bei $t_{10} = 10\%$ +$$ +\begin{align} +t_{10} &= 10µs \pm 0.2µs(\Delta t_1) \\ +t_{90} &= 80µs \pm 0.5µs(\Delta t_2)\\\\ +t_r &= t_{90}-t{10} = 70µs\pm0.54µs\\ +\Delta t_r &= \sqrt{\Delta t_1^2 + \Delta t_2^2}\\ +\Rightarrow \Delta t_r &= 0.54µs +\end{align} +$$ +# Vorlesung 03 +- Wiederholung der Grundlagen zu GELEK2/WSTROM + - Komplexe Rechnungen von Kondensator und Spule +- Bode-Diagramm +- Hochpass-/Tiefpassfilter und Anwendungsbeispiel +- Es wird bei Parallelschaltungen konsequent mit der Impedanz gerechnet, weil sich dies so eingegliedert hat, trotz der Vereinfachung der Rechnungen durch das Einsetzen der Admittanz...(das ist btw. ein dummes Argument, weil man durch den Wechsel nichts neues Lernen müsste, die möglichen Fehler reduzieren würde und allg. weniger Zeit braucht) +- Widerstand kann bei bestimmten Frequenzen durchbrennen, weil dieser eine bestimmte Leistung nicht korrekt aufnehmen kann. \ No newline at end of file diff --git a/Semester 3/HMINF/Aufgaben.md b/Semester 3/HMINF/Aufgaben.md new file mode 100755 index 0000000..c61dfa0 --- /dev/null +++ b/Semester 3/HMINF/Aufgaben.md @@ -0,0 +1,11 @@ +Fourrier-Reihen: +https://people.math.carleton.ca/~angelo/calculus/Exercises-Fourier-Series.pdf + +Fixpunktiteration: +https://www3.nd.edu/~zxu2/acms40390F15/Lec-2.2.pdf + +Extrema: +Mathematik für Informatiker +https://mo.mathematik.uni-stuttgart.de/tests/klausuren.html + +Lagrange Interpolation \ No newline at end of file diff --git a/Semester 3/HMINF/HMINF Kochrezepte.md b/Semester 3/HMINF/HMINF Kochrezepte.md new file mode 100755 index 0000000..ce150c3 --- /dev/null +++ b/Semester 3/HMINF/HMINF Kochrezepte.md @@ -0,0 +1,99 @@ +Kochrezepte erstellt (erstmal) anhand der Klausuraufgaben. (Bis Aufgabe 3) +**ACHTUNG: Die Vorgehensweise einiger dieser Kochrezepte entsprechen nur einem Pfad. Es ist durchaus möglich, dass eigentlich zur bearbeitung der Aufgaben eine Baumstruktur vorliegt. :(** +## Bestimmung des Taylorpolynoms +### Polynom einer Mehrparameterfunktion +Kochrezept für das Aufstellen eines Taylor-Polynoms 2.Grades einer Multiparameterfunktion mit 2 Parametern. +1. $f(x_0,y_0)$ bestimmen +2. 1. Ableitungmenge der Funktion $f(x,y)$ bestimmen +3. Nabla-Operator anhand $f'(x_0,y_0)$ bestimmen +4. 2. Ableitungsmenge der Funktion $f(x,y)$ bestimmen +5. Hesse-Form ($\underline{\underline{H}}_f$) anhand der Ableitungsmengen und $x_0, y_0$ bestimmen +6. Eintragen in den Taylor-Polynom +$$T_{n,(x_0,y_0)}(x,y) = f(x_0,y_0)+\nabla^T +\left(\begin{array}{r} +x-x_0\\ +y-y_0 +\end{array}\right)+\frac{1}{2!} +\left(\begin{array}{r} +x-x_0\\ +y-y_0 +\end{array}\right)^T +\underline{\underline{H}}_f +\left(\begin{array}{r} +x-x_0\\ +y-y_0 +\end{array}\right)^T$$ + +## Ermittlung der Lage und Art relativer Extremwerte von Funktionen + +1. Notwendige Bedingung + 1. 1. Ableitungsmenge bilden + 2. $\nabla \neq \begin{pmatrix}0\\0\end{pmatrix}$ + 3. Nullsetzen der 1. Ableitungen und die Lösungsmengen von $x, y$ bestimmen + 4. mögliche Extremastellen anhand der Kombinationen von $x$ und $y$ ermitteln +2. Hinreichende Bedingung + 1. Aufstellen der Hesse-Form + 2. Einsetzen der möglichen Extremastellen und anhand $h_{f11}$ und der Determinanten die Definitheit bestimmen + 1. $h_{f11} > 0, \text{det}\ \underline{\underline{H}}_f > 0$ pos. definit rel. Minimum + 2. $h_{f11} > 0, \text{det}\ \underline{\underline{H}}_f < 0$ indefinit, Sattelpunkt + 3. $h_{f11} < 0, \text{det}\ \underline{\underline{H}}_f < 0$ indefinit, Sattelpunkt + 4. $h_{f11} < 0, \text{det}\ \underline{\underline{H}}_f > 0$ neg. definit, rel. Maximum +## Gleichungslösung +### Fixpunktinteration +1. Funktion nach $x$ Lösen => $g(x)$ +2. 1. Ableitung bilden und Steigung auswerten +3. Grenzwertbetrachtung +4. $|g'(x)|=L$ +5. Aufstellen der Iterationsvorschrift +6. Ermitteln der Iterationsfolge +7. Fehlerabschätzung +$$|x_n-\tilde{x}| = \frac{L}{1-L}|x_n-x_{n-1}|$$ +## Integrationsregeln +### Potenzregel +$$\int x^ndx = \frac{1}{n+1}x^{n+1}$$ +### Faktorregel +$$\int c \cdot f(x)dx = c \cdot \int f(x)dx$$ +### Summenregel +$$\int (f(x)+g(x))dx = \int f(x)dx + \int g(x)dx$$ +### Partielle Integration +$$\int f'(x)g(x)dx = f(x)g(x)-\int f(x)g'(x)$$ +### Integration durch Substitution +$$\int f(x)dx = \int f(\varphi(u)\cdot \varphi'(u)du$$ +## Fourrier-Reihen +$$s_n(x) = \frac{a_0}{2}+\sum_{k=1}^{\infty}(a_k\cdot \cos(k\omega x) + b_k\cdot \sin(k\omega x))$$ +$$a_0 = \frac{2}{T}\int f(x)dx$$ +$$a_k = \frac{2}{T}\int f(x)\cdot \sin(k\omega x)dx$$ +$$b_k = \frac{2}{T}\int f(x)\cdot \sin(k\omega x)dx$$ +- Bestimmen, ob die Funktion gerade oder ungerade ist + - Wenn Fkt. gerade, dann ist $b_k = 0$ + - Wenn Fkt. ungerade, dann ist $a_k = 0$ + - Wenn beides nicht zutrifft müssen $a_k$ und $b_k$ bestimmt werden +- Bestimmung von $\omega, a_0$ +- Bestimmung von $a_k$ und/oder $b_k$ +- In die Formel einsetzen +## Kleinste Quadrate Methode +Benötigte Formeln: +$$ +\begin{align} +\underline{\underline{G}}^T\underline{\underline{G}}\underline a = \underline{\underline{G}}^T\underline y && F = (\underline{y}- \underline{\underline{G}}\underline{a})^T(\underline{y}- \underline{\underline{G}}\underline{a}) \\ \underline{\underline{G}}\underline{a} = \underline{y} +&& \underline{a} = \underline{(\underline{G}}^T\underline{\underline{G}})^{-1}\underline{\underline{G}}^T\underline{y} +\end{align} +$$ +- Überprüfung auf lineare Gleichung $\nabla_{\underline{a}}F(\underline{a}) = \underline{0}$ +- Aufstellen von $\underline{\underline{G}}$ bspl. $\begin{pmatrix}1 &x_0\\1&x_1\end{pmatrix}$ +- Quadrieren und Umkehren von $\underline{\underline{G}}$ +- Gleichung nach $\underline{a}$ lösen und in Geradengleichung $a_0+a_1x$ einsetzen +## Matrizenoperationen + +### Inverse Matrix +$$A^{⁻1} = \begin{pmatrix} +a & b\\ +c & d +\end{pmatrix}^{-1} += +\frac{1}{\text{det}\ A}\cdot +\begin{pmatrix} +d & -b\\ +-c & a +\end{pmatrix} +$$ \ No newline at end of file diff --git a/Semester 3/HMINF/HMINF Kochrezepte.pdf b/Semester 3/HMINF/HMINF Kochrezepte.pdf new file mode 100755 index 0000000..c8693bf Binary files /dev/null and b/Semester 3/HMINF/HMINF Kochrezepte.pdf differ diff --git a/Semester 3/HMINF/Untitled.md b/Semester 3/HMINF/Untitled.md new file mode 100755 index 0000000..e69de29 diff --git a/Semester 3/HMINF/Vorlesung.md b/Semester 3/HMINF/Vorlesung.md new file mode 100755 index 0000000..f6e21b5 --- /dev/null +++ b/Semester 3/HMINF/Vorlesung.md @@ -0,0 +1,28 @@ +1. Differentialrechnung für Funktionen mehrerer Variablen + 1. Einführung + 2. Eigenschaften des $\mathbb{R}^n$ + 1. Definition 7-1 + 2. Definition 7-2 + 3. Definition 7-3 + 3. Folgen im $\mathbb{R}^n$ + 1. Definition 7-4 + 2. Satz 7-1 + 3. Satz 7-2 + 4. Satz 7-3 + 5. Definition 7-5 + 6. Satz 7-4 + 4. Stetigkeit von Funktionen mehrerer Variablen + 1. Definition 7-6 + 2. Satz 7-5 + 3. Satz 7-6 + 5. Richtungsableitung, partielle Ableitung + 1. Definition 7-7 + 2. Definition 7-8 + 3. Satz 7-7 + 4. Definition 7-9 + 5. Definition 7-10 + 6. Definition 7-11 + 7. Satz 7-8 + 8. Satz 7-9 + 9. Satz 7-10 +Bearbeitungsstand: 17.10.2023 \ No newline at end of file diff --git a/Semester 3/SWTECH/Abbildungen/Pasted image 20231102101622.png b/Semester 3/SWTECH/Abbildungen/Pasted image 20231102101622.png new file mode 100755 index 0000000..1bdcc8e Binary files /dev/null and b/Semester 3/SWTECH/Abbildungen/Pasted image 20231102101622.png differ diff --git a/Semester 3/SWTECH/Abbildungen/Pasted image 20231102105704.png b/Semester 3/SWTECH/Abbildungen/Pasted image 20231102105704.png new file mode 100755 index 0000000..203ac35 Binary files /dev/null and b/Semester 3/SWTECH/Abbildungen/Pasted image 20231102105704.png differ diff --git a/Semester 3/SWTECH/Abbildungen/Pasted image 20231102115045.png b/Semester 3/SWTECH/Abbildungen/Pasted image 20231102115045.png new file mode 100755 index 0000000..573ae94 Binary files /dev/null and b/Semester 3/SWTECH/Abbildungen/Pasted image 20231102115045.png differ diff --git a/Semester 3/SWTECH/SWTECH Aufgaben 1.md b/Semester 3/SWTECH/SWTECH Aufgaben 1.md new file mode 100755 index 0000000..52e6761 --- /dev/null +++ b/Semester 3/SWTECH/SWTECH Aufgaben 1.md @@ -0,0 +1,53 @@ +- Was waren die Auslöser der Software-Krise 1968? + - Verfügbare Methoden und Techniken sind der steigenden Komplexität der Softwaresysteme nicht gewachsen + - Es gab (und gibt) Defizite bei der Entwicklung im Team + - Regeln, Normen nicht existent, nicht bekannt oder ignoriert +- Zu welchen Konsequenzen kann eine fehlerhafte Software führen? + - Konventionalstrafen für zu späte und/oder fehlerhafte Software + - Kosten für Fehlersuche und Behebung + - Schaden für das Unternehmens-lmage + - Rechtliche Konsequenzen, Z.B. Schadenersatz + - Sachschäden + - Personenschäden +- Was lernen wir daraus? + - Fehlerbehandlung + - Software ist nicht Hardware + - Sicherheit + - Fehlertoleranz + - Verifikation + - Validierung + - Risikomanagement +- Welche Aktivitäten gehören zum fachlichen, technischen und methodischen Bereich der Softwaretechnik? + - Problem- und Systemanalyse + - Anforderungsspezifikation + - Systementwurf + - Softwarearchitektur + - Implementierung + - Integration und Test + - Qualitätssicherung + - Installation und Betrieb + - Wartung und Weiterentwicklung +- Welche Qualifikationen benötigt ein Software-Ingenieur? + - Primär + - Vorstellungskraft + - klares, strukturiertes Denken und Handeln + - Kommunikationsfähigkeit + - Teamfähigkeit + - Sekundär + - Techniken Ermittlung/Verwaltung von Anforderungen + - Programmiertechniken + - Entwurfsprinzipien + - Erstellung und Nutzung von Modellen/Spez. auf versch. Abstraktionsebenen + - Weniger wichtig sind: + - erlernte Programmiersprachen + - benutzte Betriebssysteme + - besuchte Kurse +- Warum gehört Dokumentation zur Software? + - Ist grundsätzlich wichtig, will trotzdem keiner machen +- Welche sind die wichtigsten Eigenschaften der Software? +- Was ist ein Softwaresystem? + - Documentation + - Software + Hardware + - Interfaces, die die Software mit der Hardware verbinden +- Nennen Sie ein paar Beispiele von Softwaresystemen und schätzen Sie ihre Komplexität ein + - Windows 10: Extremst groß, gleiche Codebase seit Vista \ No newline at end of file diff --git a/Semester 3/SWTECH/Vorlesung.md b/Semester 3/SWTECH/Vorlesung.md new file mode 100755 index 0000000..4994108 --- /dev/null +++ b/Semester 3/SWTECH/Vorlesung.md @@ -0,0 +1,288 @@ + +**Klausurtermine Mi: 07.02.2024, 28.03.2024, 9 Uhr, Raum 032a-c** +"Ich möchte nicht sehen was Sie nicht können, Ich möchte sehen was Sie können." +Vorlesung des 15. 16. fällt aus. +# Inhaltsverzeichnis +- [[#Klausur|Klausur]] +- [[#Labor|Labor]] +- [[#Inhalt|Inhalt]] +- [[#Software|Software]] +- [[#Softwaresystem|Softwaresystem]] +- [[#Keine Ahnung wohin damit|Keine Ahnung wohin damit]] +- [[#Entwicklungsprozess|Entwicklungsprozess]] + - [[#Entwicklungsprozess#Begriffe und Grundlegendes|Begriffe und Grundlegendes]] + - [[#Begriffe und Grundlegendes#Projektphasen|Projektphasen]] + - [[#Entwicklungsprozess#Aktivitäten / Phasen|Aktivitäten / Phasen]] + - [[#Aktivitäten / Phasen#Überblick|Überblick]] + - [[#Aktivitäten / Phasen#Entwurf|Entwurf]] + - [[#Entwurf#Grobentwurf|Grobentwurf]] + - [[#Entwurf#Feinentwurf|Feinentwurf]] + - [[#Aktivitäten / Phasen#Implementierung|Implementierung]] + - [[#Aktivitäten / Phasen#Phasenübergreifende Aspekte|Phasenübergreifende Aspekte]] + - [[#Phasenübergreifende Aspekte#Projektmanagement|Projektmanagement]] + - [[#Phasenübergreifende Aspekte#Projekt und Konfigurationsmanagement|Projekt und Konfigurationsmanagement]] +- [[#Vorgehensmodell|Vorgehensmodell]] +- [[#Wasserfallmodell / Phasen und Ergebnisse|Wasserfallmodell / Phasen und Ergebnisse]] +- [[#Wasserfall-Verbesserung|Wasserfall-Verbesserung]] + - [[#Wasserfall-Verbesserung#Iterativ / Inkrementell / Evolutionär|Iterativ / Inkrementell / Evolutionär]] + - [[#Projekt und Konfigurationsmanagement#Probleme:|Probleme:]] + - [[#Wasserfall-Verbesserung#Spiral-Modell|Spiral-Modell]] + - [[#Wasserfall-Verbesserung#Prototyping zur Unterstützung der Iteration|Prototyping zur Unterstützung der Iteration]] + - [[#Phasenübergreifende Aspekte#Experimentelle Prototypen|Experimentelle Prototypen]] + - [[#Phasenübergreifende Aspekte#Horizontal- vs. Vertikale Prototypen|Horizontal- vs. Vertikale Prototypen]] + - [[#Wasserfall-Verbesserung#Rational Unified Process (RUP)|Rational Unified Process (RUP)]] +- [[#Agile Vorgehensmodelle|Agile Vorgehensmodelle]] +- [[#Das V-Modell|Das V-Modell]] + +# Vorlesungseinführung +[Discord Channel](discord.gg/AGQsZGwY2) , Aulis bleibt klassische Platform +Labor ist verpflichetend und wird bewertet (Raum 236 als Diskussionsraum) +Folien, die in den Vorlesungen nicht behandelt wurden müssen privat bearbeitet werden. + +## Klausur +- Klausur ist bei mind. 50% bestanden, allerdings wird Zeitdruck in der Klausur simuliert ("Klausur ist sportlich"') +- 1 bei 90% "Ich gehe aber sowieso davon aus, dass Sie die 10% nicht bekommen.".(Big OOOF) +- DIN A4 doppelseitig beschrieben (Handschriftlich) als Formelsammlung kann mitgenommen werden. +- Strategie + Konzentration sind Schlüssel +- 20% Theorie, Kompetenzstufe 6 +## Labor +- **Laborraum: I233** +- **Laboraufgaben am Labortag bis 23:55** +- Laboraufgaben sind skalierbar (wenn jemand austeigen sollte, werden die Aufgaben geringer) +- vergabe von Teamnoten und Kennzeichnung von Eigenleistung, bei bedarf kann die Benotung als Einzelperson erfolgen + +## Inhalt +- Paradigmenvergleiche bei Programmiersprachen für unterschiedliche Kontexte. +- UML macht einen Comeback und muss gründlich durchegenommen werden anhand der UML Folien und von Beispielsweise bearbeitung von [UML Glasklar]() +- Literatur von vor 5 Jahren schon teilweise obsolet und daher nur als Grundlagen verwenden +- IEEE, ACM, GI, INCOSE, GfSE + +# Vorlesung 01 (Einführung) +## Software +- Software altert teilweise schneller als Hardware +- "Wir machen etwas, was an den Rest passen muss" +- Wohin gehen die Wissensschnittstellen, welche Grenzen haben diese? +## Softwaresystem +- Software+ Hardware +- Software defakto überall +- Immer Architektur, durch bewusstes Design oder ausversehen entstanden +- Sinnvolle Architektur ist wichtig + +## Keine Ahnung wohin damit +- UML ist nicht Mittel zum Zweck, sondern ein Tool um strukturellen Kontext +___ +# Vorlesung 02 (Entwicklungsprozess) +- Wenn die Techniken der Softwareentwicklung nicht beherscht sind, dann ist jegliche Bewertung von Zeitaufwand, Personal etc nicht möglich. +- Abschluss der 1. Vorlesungsfolien +## Entwicklungsprozess +### Begriffe und Grundlegendes +- Prozess: Vorgehensweise zur Erstellung des Produkts +- Produkt: Resultat des Prozesses +- Projekt: Das gesamte Vorhaben als (Phasen-) Abfolge zum Erstellen des Produkts +#### Projektphasen +- Studien- und Planungsabschnitt (Vorstudie, Konzeption, Definition & Planung) +- Realisierungsabschnitt (Entwicklung, HW Fertigung) +- Betriebsabschnitt (Betrieb & Wartung, Entsorgung) +### Aktivitäten / Phasen +#### Überblick + +#### Entwurf +- erstellen eines Systems, welches die Anforderungsanalyse entspricht +- Entwurf Abhängig von dem was gebraucht wird und welche Qualitätsmerkmale gefragt werden +##### Grobentwurf +- Lines & Boxes +- Kapselung notw. DIesnte +- Testen auf Anforderungen +##### Feinentwurf +- Wie wird konkret realisiert? +- Unit-test ist teil der Implementierung +#### Implementierung +- Entwurf dient als Grundlage +- Programming in the small vs. Programming in the large (Ground up und Top down) +- Integrations und Systemtest + +#### Phasenübergreifende Aspekte +##### Projektmanagement +##### Projekt und Konfigurationsmanagement +- urspr. Lösen der steigenden Produktkomplexität + + +___ +# Vorlesung 03 (Vorgehensmodelle) +## Vorgehensmodell +- Ziel: Geplant zu qual.hochw. Produkt +- Arbeits- aufteilung und vorgang +- 4Ws machen ihren come-back bei der Aufbereitung +## Wasserfallmodell / Phasen und Ergebnisse +- früher: stagewise model + - weiterentwicklung u.a. durch Royce +- Für das Verständnis des zusammenhangs und der Funktion von bspw. SCRUM ist das Verstehen von dem Modell wichtig +- Pflichtenheft vorhanden +- Wenn sauber bearbeitet wurde entstehen zwei Dokumente (Pflichtenheft und Anf.Spez.) +- sukzessive Entwicklung von Software, praktisch aber nicht wirklich umsetzbar + - Kunde kann Lastenheft innerhalb der Bearbeitungszeit überarbeiten etc. +- "Wartungsdefinition nicht so gut definiert" +- vollst. Durchführung der Phasen nicht immer sinnvoll +## Wasserfall-Verbesserung +- verbesserung durch interativ, inkrementelle Wiederholungen +### Iterativ / Inkrementell / Evolutionär +- Iterativ: Wiederholen +- Inkrement: Vergrößern +- Evolutionär: +- Kosten können nach jeder Iteration überprüft werden +- Agile hat nicht iterativ, inkrementelles Vorgehen **nicht** erfunden +###### Probleme: +- Prozess nicht wirklcih sichtbar +- schlechte Strukturierung kann enstehen +- Vertraglich gebunden +- "Safe ist grausam (zu komplex und nicht unbedingt agil)" +- Für reine Softwaresysteme +### Spiral-Modell +1. Analyse +2. Evaluierung +3. Realisierung +4. Planung +- Entwickeln mehrerer Prototypen $\rightarrow$ treibung durch Prototypentwicklung +### Prototyping zur Unterstützung der Iteration +- keine ad-hoc Vorgehensweise +##### Experimentelle Prototypen +- Nachweis der Machbarkeit +##### Horizontal- vs. Vertikale Prototypen +Horizontal: real. nur einer spez. Ebene +Vertikal: +### Rational Unified Process (RUP) +- Initial 1998 von Kruchten vorgestellt +- basiert auf UML +- "Zu kompliziert für reale Welt" +- RUP wird nicht abgefragt, trotzdem interessant +## Agile Vorgehensmodelle +- inkr. Ansatz aus vielen kleinen Iterationen +- **neu**: Am Ende jeder Iteration folgt ein Reviews und ggf. Re-Evaluation von Projektprioritäten +- "Agile kann man sich nicht nennen, Agile muss man sein" (cringe) +### Agiles entwickeln mit Scrum +![[Pasted image 20231102101622.png]] +### Das V-Modell +- defakto aus Militär +- Absolut viele unterschiedlichen Modelle (wie auf wiki. zu lesen) +- entgegensetzen von Implementation und Testens +![[Pasted image 20231102105704.png]] + +- Benutzen eines Hybridmodelles hier sinnvoll, weil Anforderungsänderungen hier teilweise sehr teuer werden können. + +# Vorlesung 04 (Anforderungsanalyse) + +## Definition +Definiert nach IEE als die dok. Darstellung einer Beschaffenheit oder Fähigkeit, die von einem Benutzer oder Lösung eines Problems oder Erreichung eines Ziels benötigt wird oder die ein System oder Systemteil erfüllen oder besitzen muss, um einen Vertrag, eine Norm, eine Spezifikation oder andere, formell vorgegebene Dokumente zu erfüllen. + +## Anforderungsanalyse - Grundlagen +- Pflichtenheft ist ein Vertragsdokument + +## Lasten-/Pflichtenheft +- Lastenheft besch. Anf. aus Kundensicht +- Pflichtenheft besch. Anf. aus Lieferantensicht + - Vertragsgrundlage + - von allen am Projekt Beteiligten akzeptiert + +## Arten von Anforderungen +![[Pasted image 20231102115045.png]] +## Eigenschaft einer Anforderung +### Inhalt +![[Pasted image 20231102115639.png]] +### Behandlung +![[Pasted image 20231102115326.png]] + +## Schritte +### 3. Schritt +- Benutzer des Systems +- Rollen der Benutzer +### Akteure in UML +- Rolle, welche ein Benutzer im System spielt +- Beeinflusst Sys. +## 4. Schritt +- Fortschrittsequenz der Geschäftsprozesse +### 5. Schritt +- Anwendungsfälle deklarieren (Use-Cases) +- Anwendung von UML2 als gängige Notation +### 6. Schritt +- Anwendungsfälle zerlegen Geschäftsprozesse in Portionen, welche aus Sicht des Anwenders sinnvoll ist. +- Reihenfolge kann sich später ändern, daher ist eine Festlegung der Reihenfolge am Anfang unwichtig +### 7. Schritt +- Ausarbeitung der Anwendungsfälle (ins Detail gehend) +- Die Analyse kann als UML-, Text-, Diagrammentwurf beispielsweise erstellt werden (Schablonen ebenfalls) +Präsentiert wird dann Folie 44,45 und 46, welche eine Beispielschablone für die Bearbeitung des 7. Schrittes ist.klk +___ +# Vorlesung 05 (Entwurf) +- festl. Architektur des Sys. +## Allgemeines +## Entwurfskriterien +- Kopplung: + - Maß für ene interne Beschaffenheit eines Entwurfs + - Koplung über eine Schnittstelle + - Ziel: lose/geringe Kopplung + - Fehlerbehebung ohne größeren Aufwand +- Kohäsion: + - Maß für die (funktionale) Bindung der Elemente innerhalb eines Bausteins + - Kohäsion bewertet den inneren Zusammenhalt + - Ziel: starke/hohe Kohäsion + - benötigte Infos und Ops zur Lösung in einem Baustei vorhanden +- Zulänglichkeit: + - Maß für Erfüllung der Anforderungen + - Ziel: überschaubare, einsichtige Zulänglichkeit +- Vollständigkeit + - Maß für vollständige Umsetzung der Anforderungen + - Ziel: Vollständigkeit in Bezug zur Aufgabe +- EInfachheit + - Maß für die Umsetzung von hinreichender Funktionalität mit angemessener Schnittstelle des Bausteins + - Ziel: KIS - keep it simple +## Entwurfsprinzipien +- Grundsatz, dem man seinem Handeln zugrunde legt +- Noch unabhängig von konkreten Methoden und Techniken +- Modelltypen + - deskriptiv + - präskriptiv +## Sichtweisen/Vorgehensweisen zum Entwurf +- Orientierung ist egal +## Heuristiken +- Aus Projektumfeld + - Anforderungen Hinterfragen + - Betrachtung Use-Cases + - Nach Feedback suchen +- Für den Entwurf + - KIS + - auf "richtige" Detailebene bleiben + - nicht übergeneralisieren + - so lokal wie möglich entwickeln +Off Topic stuff: +- Basiswissen-Softwaretest-Modul laut Matevska ein gutes Modul +- Informatik ist Denglisch at its peak + +___ +# Vorlesung 8 +- Paper-Reviews können blind betrachtet werden um vorurteile etc beiseite zu schieben +- Review-sitzung soll zieloreintiert durchgezogen werden +- Nachbearbeitung kann zu wiederholung des Reviews führen +- Je komplexer die thematik, umso besser muss man in der Materie sein + +- systematisches Vorgehen und kein ad hoc (spezifizierter Test und nicht über den Tellerrand schauend) +- Eigang von Unit lvl. aber auch komplex lvl. + +Testfälle: +- Bei Tests Versionen etc. mit angeben (der Stubs beispielsweise) +- Reproduzierbarkeit des Tests ist eine grundlage für das gute Testen +- Womit wurde getestet? + - Beispiel Compilereinstellungen sind wichtig anzugeben weil unterschiedliche Ergebnisse rauskommen können +- Auf Testfälle kommt man anhand der Anforderungsdefinitionen, Systemspez. und allg. Richtlinien +Äquivalenzklassenbildung +- Auswahl an Eingabeparameter, bei denen eine keine unterschiedlichen Ausgaben herauskommen + +___ +# Vorlesung 9 +Whitebox Test Folie 48-50 Prüfungsrelevant + +# Vorlesung 10 Implementierung +- Dokumentation um zu Wissen was innerhalb geschieht + +Compiler, Interpreter, Precompiler und Linker +Imperativ => Herrschen, Beherschen + +OOP: Vererbung segen und Fluch diff --git a/Semester 4/DABANK/DABANK-Vorlesung.md b/Semester 4/DABANK/DABANK-Vorlesung.md new file mode 100755 index 0000000..3231b42 --- /dev/null +++ b/Semester 4/DABANK/DABANK-Vorlesung.md @@ -0,0 +1,203 @@ +# Klausurtalk +## Themen +- Beschreibung ER-Diagramm +- Diagramm ist gegeben: generierung der Tabellen +- Normalform ermitteln und konvertierung einer Tabelle in die Normlform des n-ten grades. +# Organisatorisches +## Überblick +- Entwurf von Datenbanken und +- Bewertung von DB +- SQL +- Anwendung identifizieren und bewerten +- Im Labor wird **SQLite** verwendet +## Orga +- Labor ist ein kleiner Übungszettel +- Klausur und elektronische Prüfung + - Elektronische Prüf.: mit SQL-Statements + - Klausur: Alle Themenblöcke, praktische Aufgaben und Multiple Choice +- Prüfungstermine + - 08.07 - 13 Uhr - 032a-c + - 16.09 - 9 Uhr - 122 +## Motivation und Grundlagen +## Grundlagen +- Terminologie +- Datenmodelle und Sprachen +- Datenabstraktion und Datenunabhängigkeit +DB: System zur dauerhaften Speicherung und Verw. großer Datenmengen +Datenbank gemanaged durch ein Databank-Management-System +### Anforderungen +- Daten sollen (schnell) zugänglich sein +- Daten sollen verändert werden sollen +- Einzelne Fakten müssen verknüpft werden +- Gleichzeitiges Lesen und Schreiben möglich +- Daten sollen konsistent bleiben +- kein verlust von Daten +- schutz vor unberchtigten Zugriff +## Herausforderungen der Datenverwaltung +### Redundanz und Inkonsistenz +- Inkonsistenz: nicht alle Kopien eines Faktums wurden geändert (existenz widersprüchlicher Daten) +- Ziel: Red. und Ink. vermeiden +### Verknüpfungen ermöglichen +- deutlicher Mehrwert (Knowledge Discovery und Data Mining) +- Zielsetzung: Alle Daten im Sys. lassen sich flexibel temporär und unbefristet miteinander verknüpfen +### Integritätsverletzung +- Änderungen können zu unerlaubten Zuständen führen +- Oft Verkn. zwischen Daten erforderlich, um Integritätsverl. zu entdecken +- Zielsetzung: Integritätsreglen formulieren und Verletzung nich zulassen +### Mandanten und Sicherheit +- Veränderungsrechte +- Granularität: Informationsteil auf den sich der Zugan bezieht, z.B. ganzes Ibjetk, gewisse Eigenschaften des Objektes +- Zielsetzung: Lese- und Schreibrecht flexibel und in geeigneter Form +### Mehrbenutzerprinzip +- Viele Anwender greifen zugleich auf Daten zu +- Keine Kontrolle: unerwünschte Anomalien ("lost update")... +- Effizienter Mehrbenutzerbetrieb ohne Anomalien +### Umgang mit Fehlern / Datenverlust +- Verlust von Daten kann Unternehmen existenzbedrohend sein +- Backups +- Ziel: Garantien gegen Datenverlust auch im Fehlerfall +### Effizienz +- Große Datenmengen erfordern effiziente Algorithmen +### Hohe Entwicklungskosten + +## Warum Datenbanksysteme +- Unkontrollierte Redundanz vermeiden +- Daten lassen sich flexibel miteinander verknüpfen +- Def. Integritätsreglen können definiert werden +### Hauptgründe gegen DBS +- Hohe Anfangsinvestition (Personal, Lizenzen...) und möglicherweise zusätzlicher Hardware-Bedarf +- Overhead für SIcherheit, Mehrbenutzerkontrolle & -rechte, Recovery, Integritätskontrolle +### DBS möglicherweise nicht nötig, wenn +- EInfache Datenbank mit wenigen Daten und Anwendung +- Kein Mehrbenutzerbetrieb +### DBS nicht geeignet +- Zwingende Echtzeitanforderungen, die DBMS nicht garantieren können +- Daten können aufgrund ihrer Kompl. nicht modelliert werden + + +# Grundlagen +## Grundlegende Definitionen +Daten: Fakten (Faktum), die gespeichert werden +Information: Daten + Bedeutung +Wissen: Information + Anwendung + + +Mini-Welt: Jener Teil der realen Welt der uns für unsere Anwendungsfälle interessiert +Daten (Erweiterung der Definition): Bekannte Fakten übe rdie Mini-Welt die gespeichert werden können +Metadaten: Informationen über die Struktur einer Datenbank +Datenbanksystem: DBMS+DB+Metadaten+Schnittstellen + + +## Datenmodell +- "Infrastruktur" zur modellierung des Mini-Welt-Ausschnittes der realen Welt: +- Datendefinitionssprache (DDL, data definition lang.) + - Schema: Struktur der Datenobj. und Beziehungen... +- Datenmanipulationssprache(DML, data manipulation lang.) + +## Transaktionen +ACID -Eigenschaften + - Atomarität + - Konsistenzerhaltung + - Isolation + - Dauerhaftigkeit +## Einordnung der Datenmodelle +- Konzeptionelle Datenmodelle (high-lvl) +- Logische Datenmodelle +- Physische Datenmodelle (low-lvl) +___ +- Satzorierntierte Datenmodelle +- Relationales Modell +- Objektorientiertes und objekt-relationales Modell + +## Datenbankbenutzer +Unterscheidung in: +- Endbenutzer +- Datenbankdesigner +- Anwendungsprogrammierer +- Datenbankadministratoren +Naive Benutzer; umfasst den Großteil der Endbenutzer +Fortgeschrittene Benutzer: analystenm Wissenschaftler und Ingenieure ,die vertraut mit den Fähigkeiten... + +## ANSI/SPARC Drei-Ebene-Architektur +unterstützung von: +- unterschiedliche Sichten auf die Daten (views) +- Datenunabhängigkeit +Definiert ein Datenbankschema auf drei Ebenen: +- Physische Ebene: +- Logische Ebene: +- Externe Sicht: + +## Datenunabhängigkeit +Maß für die Isolation zwischen Anwendungsprogrammen und Daten. +Unabhängigkeiten: +- logische +- physische +## Erweiterung der DBS Darstellung +Auswendig lernen hehe ("Eine der Abildungen, die man sich gut einprägen sollte.") +## OLTP vs. OLAP +Online Transaction Processing vs. Online Analytical Processing +**TODO** Abbildung einfügen + +# Entity Relationship Diagramme +nächste Woche: Relationale Algebra +__viel gerede, weniger Kontent__ +- ER-Diagramm ist konzeptionell +## Entwurfsprozess +"lang, fehlerbehaftet und keiner hält sich dran" Draheim 15.04.24 9:13 +TODO balancierte Bäume wiederholen +- Zwei Ebenen + - DBMS spezifisch + - Design von Anwendungsprogrammen + - Implementierung von Transaktionen + - Physisches Design + - DBMS Unabhängig + - Funktionale Analyse + - Konzeptionelles Design + - Anforderungsanalyse +- Performanz wird nicht betrachtet +### Das ER-Modell +- hohes Abstraktionsniveau + - Kunde soll das ebenfalls verstehen können + +- Entität mit Rechteck +- Attribut mit Pille +- Beziehung mit Raute +## Entitäten und Attribute +![Entität-Relations-Diagramm](ER-Auto.png) + +## Beziehungen +![Relationsdiagramm](Relationen.png) +## Generalisierung +____ +# Das Relationale Modell +## Schema, Relation und Datenbank +- Mengen, ihre Operatoren und meist ausgedruckt als Teilmenge eines kartesischen Produktes +$\text{sch}(R) = [A_1, A_2, ... , A_n]$ ist Schema der Relation +### Attribute und Domäne +- Eine Domäne ist eine Menge von atomaren Werten + - zu jeder Domäne gehört ein Datentyp inkl. Format +- Eine Instanz ist eine Menge von Tupeln aus einer Domäne +### Zusammenhang von Rel. und der Datenbank +- Datenbank ist Menge von Relationen + +## Integritätsbedingungen +- ... sind EInschränkungen auf den Daten, die alle Instanzen der DB erfüllen müssen +- Dre Klassen von Bedingungen + - Schlüssel + - Domänenintegrität + - garantie, dass alle Attribut-werte aus der entspr. Dom. stammen und des Primäschlüssel nicht null ist + - Referentielle Integrität + - Attrib. in Schema der Re., die Prim.Sch. einer anderen Rel. sind, werden Fremdschlüssel genannt +## Vom E/R-Modell zum relationalen Modell +- Alg. übersetzt ein konzept. ER Diag. in ein rel. Schema +- Übersetzung in 6 Schritte + - Unab. Entitätstypen + - Existenzbas. Entitätstypen + - Beziehungstyp. + - Mehrwertige Attribute + - N-wertige Beziehungstyp. + - Spez. .... +- Aus jeder Entität eine Tabelle und auch bei Relationen +- +Abschluss der relationalen Modelltheorie. +___ diff --git a/Semester 4/DABANK/Diagramme/.$Abteilung.drawio.bkp b/Semester 4/DABANK/Diagramme/.$Abteilung.drawio.bkp new file mode 100755 index 0000000..1830b70 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$Abteilung.drawio.bkp @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/.$Bestellung.drawio.bkp b/Semester 4/DABANK/Diagramme/.$Bestellung.drawio.bkp new file mode 100755 index 0000000..095ce75 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$Bestellung.drawio.bkp @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/.$Flugplatz.drawio.bkp b/Semester 4/DABANK/Diagramme/.$Flugplatz.drawio.bkp new file mode 100755 index 0000000..8defdff --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$Flugplatz.drawio.bkp @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/.$GroberAufbau.drawio.bkp b/Semester 4/DABANK/Diagramme/.$GroberAufbau.drawio.bkp new file mode 100755 index 0000000..4666233 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$GroberAufbau.drawio.bkp @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/.$Museum.drawio.bkp b/Semester 4/DABANK/Diagramme/.$Museum.drawio.bkp new file mode 100755 index 0000000..57771f5 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$Museum.drawio.bkp @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/.$Untitled Diagram.drawio.bkp b/Semester 4/DABANK/Diagramme/.$Untitled Diagram.drawio.bkp new file mode 100755 index 0000000..a392539 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$Untitled Diagram.drawio.bkp @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/.$grundlageDB.drawio.bkp b/Semester 4/DABANK/Diagramme/.$grundlageDB.drawio.bkp new file mode 100755 index 0000000..66858ad --- /dev/null +++ b/Semester 4/DABANK/Diagramme/.$grundlageDB.drawio.bkp @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/Abteilung.drawio b/Semester 4/DABANK/Diagramme/Abteilung.drawio new file mode 100755 index 0000000..e8397e8 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/Abteilung.drawio @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/Bestellung.drawio b/Semester 4/DABANK/Diagramme/Bestellung.drawio new file mode 100755 index 0000000..3af43c6 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/Bestellung.drawio @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/Flugplatz.drawio b/Semester 4/DABANK/Diagramme/Flugplatz.drawio new file mode 100755 index 0000000..9c4de77 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/Flugplatz.drawio @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/GroberAufbau.drawio b/Semester 4/DABANK/Diagramme/GroberAufbau.drawio new file mode 100755 index 0000000..36370cd --- /dev/null +++ b/Semester 4/DABANK/Diagramme/GroberAufbau.drawio @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/Museum.drawio b/Semester 4/DABANK/Diagramme/Museum.drawio new file mode 100755 index 0000000..04ba378 --- /dev/null +++ b/Semester 4/DABANK/Diagramme/Museum.drawio @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/Rechnung.drawio b/Semester 4/DABANK/Diagramme/Rechnung.drawio new file mode 100755 index 0000000..c48303b --- /dev/null +++ b/Semester 4/DABANK/Diagramme/Rechnung.drawio @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/Diagramme/grundlageDB.drawio b/Semester 4/DABANK/Diagramme/grundlageDB.drawio new file mode 100755 index 0000000..28f4feb --- /dev/null +++ b/Semester 4/DABANK/Diagramme/grundlageDB.drawio @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DABANK/ER-Auto.png b/Semester 4/DABANK/ER-Auto.png new file mode 100755 index 0000000..72fbcbf Binary files /dev/null and b/Semester 4/DABANK/ER-Auto.png differ diff --git a/Semester 4/DABANK/Flugplatz.png b/Semester 4/DABANK/Flugplatz.png new file mode 100755 index 0000000..f1374fa Binary files /dev/null and b/Semester 4/DABANK/Flugplatz.png differ diff --git a/Semester 4/DABANK/GroberAufbau.png b/Semester 4/DABANK/GroberAufbau.png new file mode 100755 index 0000000..43f6139 Binary files /dev/null and b/Semester 4/DABANK/GroberAufbau.png differ diff --git a/Semester 4/DABANK/Museum.png b/Semester 4/DABANK/Museum.png new file mode 100755 index 0000000..1292a55 Binary files /dev/null and b/Semester 4/DABANK/Museum.png differ diff --git a/Semester 4/DABANK/Relationen.png b/Semester 4/DABANK/Relationen.png new file mode 100755 index 0000000..678105e Binary files /dev/null and b/Semester 4/DABANK/Relationen.png differ diff --git a/Semester 4/DIGIT/Labor_01/Schaltung.circ b/Semester 4/DIGIT/Labor_01/Schaltung.circ new file mode 100755 index 0000000..bf803bf --- /dev/null +++ b/Semester 4/DIGIT/Labor_01/Schaltung.circ @@ -0,0 +1,174 @@ + + + This file is intended to be loaded by Logisim-evolution v3.8.0(https://github.com/logisim-evolution/). + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DIGIT/Labor_01/Schaltung.tex b/Semester 4/DIGIT/Labor_01/Schaltung.tex new file mode 100755 index 0000000..d4455e1 --- /dev/null +++ b/Semester 4/DIGIT/Labor_01/Schaltung.tex @@ -0,0 +1,180 @@ +% Important: If latex complains about unicode characters, +% please use "\usepackage[utf8x]{inputenc}" in your preamble +% You can change the size of the picture by putting it into the construct: +% 1) \resizebox{10cm}{!}{"below picture"} to scale horizontally to 10 cm +% 2) \resizebox{!}{15cm}{"below picture"} to scale vertically to 15 cm +% 3) \resizebox{10cm}{15cm}{"below picture"} a combination of above two +% It is not recomended to use the scale option of the tikzpicture environment. +\begin{tikzpicture}[x=1pt,y=-1pt,line cap=rect] +\def\logisimfontA#1{\fontfamily{cmr}{#1}} % Replaced by logisim, original font was "SansSerif" +\definecolor{custcol_b2_b2_b2}{RGB}{178, 178, 178} +\definecolor{custcol_0_0_0}{RGB}{0, 0, 0} +\definecolor{custcol_ff_ff_ff}{RGB}{255, 255, 255} +\definecolor{custcol_80_80_80}{RGB}{128, 128, 128} +\draw [line width=3.0pt, custcol_0_0_0 ] (84.0,805.0) -- (84.0,855.0) -- (64.0,855.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (294.0,685.0) -- (574.0,685.0) -- (574.0,765.0) -- (524.0,765.0) -- (524.0,805.0) -- (534.0,805.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (244.0,815.0) -- (244.0,835.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (114.0,815.0) -- (114.0,835.0) -- (244.0,835.0) -- (364.0,835.0) -- (364.0,855.0) -- (344.0,855.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (264.0,235.0) -- (254.0,235.0) -- (254.0,315.0) -- (264.0,315.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (444.0,15.0) -- (464.0,15.0) -- (464.0,145.0) -- (164.0,145.0) -- (164.0,235.0) -- (214.0,235.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (264.0,495.0) -- (164.0,495.0) -- (164.0,415.0) -- (264.0,415.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (314.0,215.0) -- (334.0,215.0) -- (334.0,235.0) -- (364.0,235.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (314.0,395.0) -- (334.0,395.0) -- (334.0,415.0) -- (374.0,415.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (314.0,475.0) -- (334.0,475.0) -- (334.0,455.0) -- (374.0,455.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (314.0,295.0) -- (334.0,295.0) -- (334.0,275.0) -- (364.0,275.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (264.0,375.0) -- (24.0,375.0) -- (24.0,45.0) -- (164.0,45.0) -- (164.0,15.0) -- (144.0,15.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (244.0,235.0) -- (254.0,235.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (164.0,235.0) -- (164.0,415.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (384.0,805.0) -- (374.0,805.0) -- (374.0,765.0) -- (504.0,765.0) -- (504.0,705.0) -- (154.0,705.0) -- (154.0,555.0) -- (194.0,555.0) -- (194.0,195.0) -- (264.0,195.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (304.0,15.0) -- (324.0,15.0) -- (324.0,75.0) -- (94.0,75.0) -- (94.0,275.0) -- (264.0,275.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (84.0,855.0) -- (214.0,855.0) -- (214.0,805.0) ; +\fill [line width=3.0pt, custcol_0_0_0] (294.0,685.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (154.0,705.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (164.0,415.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (84.0,855.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (254.0,235.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (164.0,235.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (244.0,835.0) ellipse (5.0 and 5.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,270.0) -- (313.0,270.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,270.0) -- (314.0,319.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,320.0) -- (265.0,320.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,320.0) -- (264.0,271.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (284.0,284.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (314.0,295.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,275.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,315.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,450.0) -- (313.0,450.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,450.0) -- (314.0,499.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,500.0) -- (265.0,500.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,500.0) -- (264.0,451.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (284.0,464.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (314.0,475.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,455.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,495.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (229.0,752.0) {k\_0};} +\draw [line width=2.0pt, custcol_0_0_0 ] (224.0,755.0) -- (263.0,755.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,755.0) -- (264.0,814.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,815.0) -- (225.0,815.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (224.0,815.0) -- (224.0,756.0) ; +\fill [line width=2.0pt, custcol_0_0_0] (244.0,815.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_80_80_80, anchor=base west] at (240.0,812.0) {R};} +\fill [line width=2.0pt, custcol_0_0_0] (244.0,755.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_80_80_80, anchor=base west] at (240.0,770.0) {S};} +\draw [line width=3.0pt, custcol_0_0_0 ] (424.0,435.0) -- (464.0,435.0) -- (464.0,615.0) -- (214.0,615.0) -- (214.0,765.0) -- (223.0,765.0) ; +\fill [line width=3.0pt, custcol_0_0_0] (214.0,765.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (228.0,769.0) {D};} +\draw [line width=2.0pt, custcol_0_0_0 ] (225.0,801.0) -- (232.0,805.0) -- (225.0,809.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (214.0,805.0) -- (223.0,805.0) ; +\fill [line width=2.0pt, custcol_0_0_0] (214.0,805.0) ellipse (2.0 and 2.0 ); +\draw [line width=3.0pt, custcol_0_0_0 ] (265.0,765.0) -- (274.0,765.0) -- (294.0,765.0) -- (294.0,685.0) -- (294.0,555.0) -- (224.0,555.0) -- (224.0,455.0) -- (264.0,455.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (251.0,769.0) {Q};} +\fill [line width=3.0pt, custcol_0_0_0] (274.0,765.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0] (269.0,805.0) ellipse (5.0 and 5.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (274.0,805.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (364.0,230.0) -- (413.0,230.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (414.0,230.0) -- (414.0,279.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (414.0,280.0) -- (365.0,280.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (364.0,280.0) -- (364.0,231.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (380.0,244.0) {≥1};} +\fill [line width=2.0pt, custcol_0_0_0] (414.0,255.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (364.0,235.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (364.0,275.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (374.0,410.0) -- (423.0,410.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (424.0,410.0) -- (424.0,459.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (424.0,460.0) -- (375.0,460.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (374.0,460.0) -- (374.0,411.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (390.0,424.0) {≥1};} +\fill [line width=2.0pt, custcol_0_0_0] (424.0,435.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (374.0,415.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (374.0,455.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,370.0) -- (313.0,370.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,370.0) -- (314.0,419.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,420.0) -- (265.0,420.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,420.0) -- (264.0,371.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (284.0,384.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (314.0,395.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,375.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,415.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,190.0) -- (313.0,190.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,190.0) -- (314.0,239.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (314.0,240.0) -- (265.0,240.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (264.0,240.0) -- (264.0,191.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (284.0,204.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (314.0,215.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,195.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (264.0,235.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (214.0,226.0) -- (233.0,226.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (234.0,226.0) -- (234.0,243.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (234.0,244.0) -- (215.0,244.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (214.0,244.0) -- (214.0,227.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (220.0,241.0) {1};} +\draw [line width=2.0pt, custcol_0_0_0] (238.0,234.0) ellipse (4.5 and 4.5 ); +\fill [line width=1.0pt, custcol_0_0_0] (244.0,235.0) ellipse (2.0 and 2.0 ); +\fill [line width=1.0pt, custcol_0_0_0] (214.0,235.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (99.0,752.0) {k\_1};} +\draw [line width=2.0pt, custcol_0_0_0 ] (94.0,755.0) -- (133.0,755.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (134.0,755.0) -- (134.0,814.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (134.0,815.0) -- (95.0,815.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (94.0,815.0) -- (94.0,756.0) ; +\fill [line width=2.0pt, custcol_0_0_0] (114.0,815.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_80_80_80, anchor=base west] at (110.0,812.0) {R};} +\fill [line width=2.0pt, custcol_0_0_0] (114.0,755.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_80_80_80, anchor=base west] at (110.0,770.0) {S};} +\draw [line width=3.0pt, custcol_0_0_0 ] (414.0,255.0) -- (494.0,255.0) -- (494.0,645.0) -- (84.0,645.0) -- (84.0,765.0) -- (93.0,765.0) ; +\fill [line width=3.0pt, custcol_0_0_0] (84.0,765.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (98.0,769.0) {D};} +\draw [line width=2.0pt, custcol_0_0_0 ] (95.0,801.0) -- (102.0,805.0) -- (95.0,809.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (84.0,805.0) -- (93.0,805.0) ; +\fill [line width=2.0pt, custcol_0_0_0] (84.0,805.0) ellipse (2.0 and 2.0 ); +\draw [line width=3.0pt, custcol_0_0_0 ] (135.0,765.0) -- (144.0,765.0) -- (154.0,765.0) -- (154.0,705.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (121.0,769.0) {Q};} +\fill [line width=3.0pt, custcol_0_0_0] (144.0,765.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0] (139.0,805.0) ellipse (5.0 and 5.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (144.0,805.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0] (394.0,805.0) ellipse (9.0 and 9.0 ); +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (406.0,812.0) {fahrtOG\_o};} +\fill [line width=1.0pt, custcol_0_0_0] (384.0,805.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0] (544.0,805.0) ellipse (9.0 and 9.0 ); +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (556.0,812.0) {fahrtEG\_o};} +\fill [line width=1.0pt, custcol_0_0_0] (534.0,805.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (286.0,7.0) -- (303.0,7.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (304.0,7.0) -- (304.0,24.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (304.0,25.0) -- (287.0,25.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (286.0,25.0) -- (286.0,8.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (287.0,21.0) {x1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (175.0,22.0) {wunschOG\_i};} +\fill [line width=2.0pt, custcol_0_0_0] (304.0,15.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (426.0,7.0) -- (443.0,7.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (444.0,7.0) -- (444.0,24.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (444.0,25.0) -- (427.0,25.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (426.0,25.0) -- (426.0,8.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (427.0,21.0) {x1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (368.0,22.0) {inOG\_i};} +\fill [line width=2.0pt, custcol_0_0_0] (444.0,15.0) ellipse (2.0 and 2.0 ); +\fill [line width=1.0pt, custcol_b2_b2_b2 ] (44.0,845.0) -- (61.0,845.0) -- (64.0,848.0) -- (64.0,865.0) -- (47.0,865.0) -- (44.0,862.0) -- cycle; +\fill [line width=1.0pt, custcol_ff_ff_ff ] (44.0,845.0) rectangle (61.0,862.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (44.0,845.0) -- (60.0,845.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (61.0,845.0) -- (61.0,861.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (44.0,862.0) -- (44.0,846.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (45.0,862.0) -- (61.0,862.0) -- (64.0,865.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (44.0,845.0) -- (61.0,845.0) -- (64.0,848.0) -- (64.0,865.0) -- (47.0,865.0) -- (44.0,862.0) -- cycle; +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (5.0,862.0) {clk\_i};} +\fill [line width=1.0pt, custcol_0_0_0] (64.0,855.0) ellipse (2.0 and 2.0 ); +\fill [line width=1.0pt, custcol_b2_b2_b2 ] (324.0,845.0) -- (341.0,845.0) -- (344.0,848.0) -- (344.0,865.0) -- (327.0,865.0) -- (324.0,862.0) -- cycle; +\fill [line width=1.0pt, custcol_ff_ff_ff ] (324.0,845.0) rectangle (341.0,862.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (324.0,845.0) -- (340.0,845.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (341.0,845.0) -- (341.0,861.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (324.0,862.0) -- (324.0,846.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (325.0,862.0) -- (341.0,862.0) -- (344.0,865.0) ; +\draw [line width=1.0pt, custcol_0_0_0 ] (324.0,845.0) -- (341.0,845.0) -- (344.0,848.0) -- (344.0,865.0) -- (327.0,865.0) -- (324.0,862.0) -- cycle; +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (262.0,862.0) {reset\_i};} +\fill [line width=1.0pt, custcol_0_0_0] (344.0,855.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (126.0,7.0) -- (143.0,7.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (144.0,7.0) -- (144.0,24.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (144.0,25.0) -- (127.0,25.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (126.0,25.0) -- (126.0,8.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (127.0,21.0) {x1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (19.0,22.0) {wunschEG\_i};} +\fill [line width=2.0pt, custcol_0_0_0] (144.0,15.0) ellipse (2.0 and 2.0 ); +\end{tikzpicture} + diff --git a/Semester 4/DIGIT/Labor_01/ZUSchaltwerk.circ b/Semester 4/DIGIT/Labor_01/ZUSchaltwerk.circ new file mode 100755 index 0000000..6d59231 --- /dev/null +++ b/Semester 4/DIGIT/Labor_01/ZUSchaltwerk.circ @@ -0,0 +1,132 @@ + + + This file is intended to be loaded by Logisim-evolution v3.8.0(https://github.com/logisim-evolution/). + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 4/DIGIT/Labor_01/ZUSchaltwerk.tex b/Semester 4/DIGIT/Labor_01/ZUSchaltwerk.tex new file mode 100755 index 0000000..3ced221 --- /dev/null +++ b/Semester 4/DIGIT/Labor_01/ZUSchaltwerk.tex @@ -0,0 +1,112 @@ +% Important: If latex complains about unicode characters, +% please use "\usepackage[utf8x]{inputenc}" in your preamble +% You can change the size of the picture by putting it into the construct: +% 1) \resizebox{10cm}{!}{"below picture"} to scale horizontally to 10 cm +% 2) \resizebox{!}{15cm}{"below picture"} to scale vertically to 15 cm +% 3) \resizebox{10cm}{15cm}{"below picture"} a combination of above two +% It is not recomended to use the scale option of the tikzpicture environment. +\begin{tikzpicture}[x=1pt,y=-1pt,line cap=rect] +\def\logisimfontA#1{\fontfamily{cmr}{#1}} % Replaced by logisim, original font was "SansSerif" +\definecolor{custcol_0_0_0}{RGB}{0, 0, 0} +\definecolor{custcol_ff_ff_ff}{RGB}{255, 255, 255} +\draw [line width=3.0pt, custcol_0_0_0 ] (410.0,435.0) -- (470.0,435.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (250.0,455.0) -- (210.0,455.0) -- (210.0,555.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (400.0,255.0) -- (480.0,255.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (250.0,235.0) -- (240.0,235.0) -- (240.0,315.0) -- (250.0,315.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (430.0,15.0) -- (450.0,15.0) -- (450.0,145.0) -- (150.0,145.0) -- (150.0,235.0) -- (200.0,235.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (250.0,415.0) -- (150.0,415.0) -- (150.0,495.0) -- (250.0,495.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (300.0,215.0) -- (320.0,215.0) -- (320.0,235.0) -- (350.0,235.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (300.0,295.0) -- (320.0,295.0) -- (320.0,275.0) -- (350.0,275.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (300.0,395.0) -- (320.0,395.0) -- (320.0,415.0) -- (360.0,415.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (300.0,475.0) -- (320.0,475.0) -- (320.0,455.0) -- (360.0,455.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (250.0,375.0) -- (10.0,375.0) -- (10.0,45.0) -- (150.0,45.0) -- (150.0,15.0) -- (130.0,15.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (230.0,235.0) -- (240.0,235.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (150.0,235.0) -- (150.0,415.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (180.0,555.0) -- (180.0,195.0) -- (250.0,195.0) ; +\draw [line width=3.0pt, custcol_0_0_0 ] (290.0,15.0) -- (310.0,15.0) -- (310.0,75.0) -- (80.0,75.0) -- (80.0,275.0) -- (250.0,275.0) ; +\fill [line width=3.0pt, custcol_0_0_0] (240.0,235.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (150.0,235.0) ellipse (5.0 and 5.0 ); +\fill [line width=3.0pt, custcol_0_0_0] (150.0,415.0) ellipse (5.0 and 5.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (112.0,7.0) -- (129.0,7.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (130.0,7.0) -- (130.0,24.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (130.0,25.0) -- (113.0,25.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (112.0,25.0) -- (112.0,8.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (113.0,21.0) {x1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (5.0,22.0) {wunschEG\_i};} +\fill [line width=2.0pt, custcol_0_0_0] (130.0,15.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (272.0,7.0) -- (289.0,7.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (290.0,7.0) -- (290.0,24.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (290.0,25.0) -- (273.0,25.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (272.0,25.0) -- (272.0,8.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (273.0,21.0) {x1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (161.0,22.0) {wunschOG\_i};} +\fill [line width=2.0pt, custcol_0_0_0] (290.0,15.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (412.0,7.0) -- (429.0,7.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (430.0,7.0) -- (430.0,24.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (430.0,25.0) -- (413.0,25.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (412.0,25.0) -- (412.0,8.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (413.0,21.0) {x1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (354.0,22.0) {inOG\_i};} +\fill [line width=2.0pt, custcol_0_0_0] (430.0,15.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (200.0,226.0) -- (219.0,226.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (220.0,226.0) -- (220.0,243.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (220.0,244.0) -- (201.0,244.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (200.0,244.0) -- (200.0,227.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (206.0,241.0) {1};} +\draw [line width=2.0pt, custcol_0_0_0] (224.0,234.0) ellipse (4.5 and 4.5 ); +\fill [line width=1.0pt, custcol_0_0_0] (230.0,235.0) ellipse (2.0 and 2.0 ); +\fill [line width=1.0pt, custcol_0_0_0] (200.0,235.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,190.0) -- (299.0,190.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,190.0) -- (300.0,239.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,240.0) -- (251.0,240.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,240.0) -- (250.0,191.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (270.0,204.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (300.0,215.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,195.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,235.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,270.0) -- (299.0,270.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,270.0) -- (300.0,319.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,320.0) -- (251.0,320.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,320.0) -- (250.0,271.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (270.0,284.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (300.0,295.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,275.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,315.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,370.0) -- (299.0,370.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,370.0) -- (300.0,419.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,420.0) -- (251.0,420.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,420.0) -- (250.0,371.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (270.0,384.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (300.0,395.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,375.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,415.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,450.0) -- (299.0,450.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,450.0) -- (300.0,499.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (300.0,500.0) -- (251.0,500.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (250.0,500.0) -- (250.0,451.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (270.0,464.0) {\&};} +\fill [line width=2.0pt, custcol_0_0_0] (300.0,475.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,455.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (250.0,495.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (350.0,230.0) -- (399.0,230.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (400.0,230.0) -- (400.0,279.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (400.0,280.0) -- (351.0,280.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (350.0,280.0) -- (350.0,231.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (366.0,244.0) {≥1};} +\fill [line width=2.0pt, custcol_0_0_0] (400.0,255.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (350.0,235.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (350.0,275.0) ellipse (2.0 and 2.0 ); +\draw [line width=2.0pt, custcol_0_0_0 ] (360.0,410.0) -- (409.0,410.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (410.0,410.0) -- (410.0,459.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (410.0,460.0) -- (361.0,460.0) ; +\draw [line width=2.0pt, custcol_0_0_0 ] (360.0,460.0) -- (360.0,411.0) ; +\logisimfontA{\fontsize{12pt}{12pt}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (376.0,424.0) {≥1};} +\fill [line width=2.0pt, custcol_0_0_0] (410.0,435.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (360.0,415.0) ellipse (2.0 and 2.0 ); +\fill [line width=2.0pt, custcol_0_0_0] (360.0,455.0) ellipse (2.0 and 2.0 ); +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (215.0,556.0) {k\_0'};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (142.0,556.0) {k\_1'};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (441.0,249.0) {k\_1};} +\logisimfontA{\fontsize{16pt}{16pt}\fontseries{bx}\selectfont\node[inner sep=0, outer sep=0, custcol_0_0_0, anchor=base west] at (440.0,425.0) {k\_0};} +\end{tikzpicture} + diff --git a/Semester 4/DIGIT/Labor_03/Labor 03.md b/Semester 4/DIGIT/Labor_03/Labor 03.md new file mode 100755 index 0000000..08af521 --- /dev/null +++ b/Semester 4/DIGIT/Labor_03/Labor 03.md @@ -0,0 +1,23 @@ +# Anforderungen +- Hasenallee und Falkenstraße +- Eingangssignale: + - Takt, + - Autoanforderung (1 = Auto wartet an Falkenstraße, 0 = sonst.), + - Systemstart ( 1 = die Stromversorgung ist vor weniger als zwei Sekunden eingeschaltet worden, 0 = sonst.) +- Autoanforderung 1 solange mindestens ein Auto auf mindestens einer Seite der Falkenstraße steht oder wartet. +- Wenn Auto wendet und wegfährt keine Autoanforderung mehr +- Ausgabesignale Ampel: + - Lampen wenn an auf 1, sonst 0 + - 3 Lampen pro Straße +- Bei Systemstart alle rote Signale aktiv +- Ausgangsvektor (100 100) wird 'R' genannt und ist unser Startzustand +- Eingangssignal Autoanforderung wird 'a' genannt +- Ausgangsvektor (001 100) wird 'G' genannt + - bleibt G solange keine Autoanforderung (a = 1) eingeht +- Wenn Ausgangsvektor G ist und a = 1, dann geht die Ampel an der Falkenstraße im wechsel an und wieder aus +# Lösungshinweise +- Verwendung von 4 Flipflops +- Die vier Teilzustände für eine einzelne der beiden Straßen werden mit zwei Flipflops kodiert +- Gesamtzustand wird mir zwei Flipflop-paaren kodiert +- eines der beiden Flipflops leuchtet bei rot, das andere bei gelb +- Verwendung des Tasters für den Takt \ No newline at end of file diff --git a/Semester 4/ITSARCH/010 Passwortsicherheit.pdf b/Semester 4/ITSARCH/010 Passwortsicherheit.pdf new file mode 100755 index 0000000..4b20fc1 Binary files /dev/null and b/Semester 4/ITSARCH/010 Passwortsicherheit.pdf differ diff --git a/Semester 4/ITSARCH/Dokumentation.md b/Semester 4/ITSARCH/Dokumentation.md new file mode 100755 index 0000000..98e7b2b --- /dev/null +++ b/Semester 4/ITSARCH/Dokumentation.md @@ -0,0 +1,11 @@ +# Idee +Plan ist es einen Dev-Board, der den Laboreinheiten entspricht im kleinformat zu erstellen. Damit sollen Labore vorbereitet werden, es soll eine Platform bieten, die in C und Assembler Programmiert werden kann. + +# Systemanforderungen +- System soll die Funktionalitäten der Laborsteckbretter replizieren + - Prozessor: 8051 (C51): hier AT89S52-24AU + - Ports sollen gleich belegt sein + - Anschlüsse für Logik-Analyser sollen zur Verfügung gestellt werden +- Direkt über USB-Anschluss steuerbar und programmierbar + - USB-to-Serial +- \ No newline at end of file diff --git a/Semester 4/ITSARCH/EAP-Typen.png b/Semester 4/ITSARCH/EAP-Typen.png new file mode 100755 index 0000000..0801992 Binary files /dev/null and b/Semester 4/ITSARCH/EAP-Typen.png differ diff --git a/Semester 4/ITSARCH/ITSARCH Vorlesung.md b/Semester 4/ITSARCH/ITSARCH Vorlesung.md new file mode 100755 index 0000000..bc27d11 --- /dev/null +++ b/Semester 4/ITSARCH/ITSARCH Vorlesung.md @@ -0,0 +1,19 @@ +# Hashing +## Hash-Algorithmen +- MD2 +- MD5 +- SHA-1 +- SHA-2 +- RIPEMD +- Whirlpool + +MAC = Beim Hashen wird ein Salt hinzugefügt, dies kann ein Key, RND, NONCE oder auch bspw. ein Timestamp sein. Es resultiert der MAC + +HMAC = Verfahren zuerst wie bei MAC, anschließend wird dieser erneut mit einem Salt gehashed. + +## Verschlüsselung +- Daten + Liegen als Datenblöcke vor (bspw. 128bit) + Verschlüsselung über einen zufälligen Schlüssel der einzelnen Blöcke + Ausgabe 128bit encrypted Blöcke + Ansatz zur Verkettung der Verschlüsselung durch encrypted Blöcke diff --git a/Semester 4/ITSARCH/Klausurvorbereitung ITSARCH.md b/Semester 4/ITSARCH/Klausurvorbereitung ITSARCH.md new file mode 100755 index 0000000..24be5bb --- /dev/null +++ b/Semester 4/ITSARCH/Klausurvorbereitung ITSARCH.md @@ -0,0 +1,992 @@ +#todo +# Themen +(Die Themen basieren lediglich auf den Begleitscript) +- Begleitscripte + - 802.1X_EAP_RADIUS_1.5 + - PWD_Dict_Portscan + - Exploits IDS + - Firewalling + - Hashfunktionen + - IPSEC + - IPTABLES + - Organisatorische IT-Sicherheit + - Passwortsicherheit + - SHA1 + - TLS +- Grundlagen der Sicherheit + - [x] Sicherheit und -Klassifikation + - Faktoren + - Applikationssicherheit + - Netzsicherheit + - [x] Sicherheitsaspekte + - Umgebungen + - Daten, Anwendungen und Backend-Systeme + - [ ] Ver- und Entschlüsselung + - Kryptografie + - Kryptoanalyse + - Ziel der Verschlüsselung + - Methoden der Verschlüsselung und -Verfahren + - [ ] Authentifizierung, Authorisierung und Accounting + - Authentifizierungs- und Schlüsselverteilprotokolle + - Authentifizierungsverfahren + - [ ] Überblick etablierter Methoden + - VLAN + - Tunneling + - VPN + - Firewalling + - IDS und IPS + - TLS/SSL + - TLS + - IPsec + - 802.1X + - EAP + - RADIUS + - Active Directory + - Public Key Infrastructure (PKI) + +# Sicherheit und -Klassifikation +## Faktoren der Sicherheit +Eselsbrücke: **Z**wischen **V**ier **O**bstbäumen **A**lles **A**n **I**nsekten +(Nein, Eselsbrücken sind nicht meine Stärken) +- Zugangssteuerung/Zugriffskontrolle + - mechanismus, welches den Zugang von Benutzern limitiert + - limitiert wird der Nutzer durch die für Ihn verfügbaren Objekte (Rechner, Server... oder auch Softwaredienste) + - limitierung anhand bspw. Benutzerauthentifizierung + - bekannteste Modelle: + - PAP (Password Authentification Protocol) + - CHAP (Challenge Handshake Protocol) + - EAP (Extensible Authentication Protocol) +- Vertraulichkeit + - Geheimhalten von Informationen vor Unberechtigten + - Erreichbar durch bspw. Kommunikationsverschlüsselung innerhalb eines Netzwerkes + - Verschlüsselung kann erfolgen über: + - Layer-2 mit sicheren Schlüsselaustausch + - Layer-3 unter verwendung von VPN-Techniken +- Originalität + - Signierung einer Nachricht durch den Anwender führt zu generierung eines Hash-Wertes, welche anschließend mit dem privaten Schlüssel des Anwenders verschlüsselt wird. + - Durch Überprüfung des öffentlichen Schlüssels kann ermittelt werden, ob die Nachricht verändert worden ist. + - Angreifer/Lauscher verändert durch Modifikation der Nachricht den resultierenden Hash-Wert. +- Autorisierung + - Nach authentifizierung eines Benutzers erfolgt die Authorisierung + - Zuordnung eines Profils dem Benutzer + - legt Rechte und ausführbare Funktionen fest + - Anwender bekommt eine sog. Rolle +- Authentifizierung + - Überprüfung, ob Pakete auch tatsächlich vom gewünschten Sender kommen +- Integrität + - Zur Überprüfung der Integrität werden bspw. Hashes verwendet. + - Hash stellt digitalen Fingerabdruck einer Nachricht dar, der mit versandt wird. Bei Manipulation verändert sich der Hash-Wert und man erkennt diese somit. + +## Applikationssicherheit +Genannt werden lediglich IT- und Applikationsplatformen mit welchen Dienste und Produkte den Endbenutzer\*innen angeboten werden. +## Netzsicherheit +**Vermittlungsnetz** +- bildet die Plattform aller in der mobilen Kommunikationswelt stattfindenden Anwendungen und Dienste +- Unterscheidung in: + - Zugangs- + - Kernnetz +- Kernnetz beinhaltet: + - grundlegende Vermittlungsfunktionalitäten + - Teilnehmerdatenbank + - Informationen zur + - Authentifikation + - Autorisierung + - Abrechnung +- Unterschiedliche Technologien für das Zugangsnetz: + - GSM + - GPRS + - UMTS + - WiMAX + - Bluetooth + - Wireless-LAN + - usw. + +# Sicherheitsaspekte +- Klassifizierung der Gefahren bei nutzung mobiler Kommunikationsmittel +- Kenntnis über Existenz und ihrer Ausprägung entscheidend für Abwehr +## Umgebungen +- Bei Mobilkommunikation sind drei Sicherheitsabschnitte zu betrachten: + - Aufenthaltsort + - Übertragungsweg + - Sicherheit im Unternehmen +### Clients +- unterschiedliche Sicherheitsmaßnahmen +- zum großteil abhängig vom Betreiber + - Firewall unbekannt usw. +### Unternehmen +- Firmennetz durch bspw. VPN oder PKI "geschützt" +### Person +- Angreifer konzentriert sich auf eine Person und gelangt über bspw. *social engineering* zugriff zu Daten +- Profiling reicht aus um sich eventuellen zugriff auf die Hardware zu verschaffen +### Umfeld +- Umfeld meist weniger geschützt und daher erreichbarer +- äußerer Zustand verwertbar +- durchdachtes Konzept über folgende Punkte reicht aus um Sicherheitsstandard bei Firmennetz aufzustellen: + - Netzbaufbau + - Verteilung bzw. Verwendung von AP, Router, Firewalls und Virenscannern +### Reisen +- sog. "Wasserstelle in der Savanne" +- verwendung eines öffentlichen Verkehrmittels (Schnellzug, Flugzeug) deutet auf Zustand des Opfers und Wert der Informationen +- Schulterblick, standard Spionage +- Physikalischer Zugriff bei bspw. Toilettengang des Opfers +### Zufall +- "God is dead, and we killed him" +## Daten, Anwendungen und Backend-Systeme +### Daten +- Zugriff auf unterschiedlichste soziografische Informationen kann ein Angreiffer an folgendes herankommen: + - Kreditkarten + - Bankkonte + - Werpapierdepots + - persönliche Identifikationsnummern + - Transaktionsnummern +- Unmittelbare geldwert Vorteile (sowohl bei Unternehmen, als auch Privatpersonen) +### Anwendungen +- Angreifer kann versuchen direkten Zugriff auf Applikation zu erhalten + - teuere Applikation oder enthält sensible Daten +- interessant, wenn man selbst die Applikation verwenden will oder in der Vergangenheit dies tat +- verkauf der gewonnenen Daten meist uninteressant, wegen des Entdeckungsrisikos +- Mit Daten könne man sich dennoch bspw. Selbstständig machen und hätte eine gute Startposition +- Nachladen von bspw. Trojanern, wenn ein Backdoor installiert wurde +### Backend-Systeme +- versorgung an Penetrationstools bei populären OS'en kein Problem durch gleichgesinnte +- angriff ebenfalls auf spezielle Software spezialisiert (Office-Produkte usw.) + - können Angreifern direkten zugriff auf Datenbank geben +- Mailing-Server beispielsweise unregelmäßig gelöscht und nicht Entschlüsselt + - für Angreifer eine Goldgrube an Diskussionen und bspw. Entwicklungskontext bei Produkten etc. +## Ver- und Entschlüsselung +### Kryptografie +- Wissenschaft von Methoden der Verschlüsselung und Entschlüsselung von Daten +### Kryptoanalyse +- befasst sich mit der unbefugten Entschlüsselung von Daten +- verwendung eines "simplen" Kanal-Modells zur kommunikation zweier Partner (erweiterbar auf mehrere Kommunikationspartner) +- unterscheidung in folgende Störfaktoren: + - Zufällige Störungen + - Systematische Störungen (physikalisch Bedingt) + - Passive Beeinträchtigungen (z.B. Abhören) + - Aktive Beeinflussungen (z.B. Verfälschung, Vernichtung, Abfangen) +- brechen des Kryptosystems sowohl für Anwender, wie auch Angreifer interessant + - Nachweis von Schwachstellen im System +- unterteilung der Kryptsysteme in zwei Kategorien: + - absolut sichere (theoretisch sicher) + - praktisch sicher +- Verfahren ist absolut Sicher, wenn unbeschränkte Ressourcen wie Rechenzeit unf Speicherplatz das Verfahren nicht brechen können +- Alle sicheren Verahren haben eine Gemeinsamkeit: + - Sie sind sicher unter dem Einsatz von begrenzten Ressourcen +- starke Kryptosysteme weisen folgendes auf: + - mathematische Gleichungen, mit denen sich das System beschreiben lässt, sind so komplex, ass sie mit analytischen Methoden nicht behandelt werden können. D.h., das System kann nicht gebrochen werden. + - Bei der Verwendung von einfacheren Methoden wird die Komplexität des Lösungssystems so groß, dass zu viel Rechenzeit und SPeicherplatz benötigt und damit die Kosten zu hoch werden. +- Unterscheidung in vier kryptoanalytische Ansätze: + - **"Ciphertext-only"-Attack** + - Dem Kryptoanalytiker liegt bereits Chiffretext vor + - **"Known-Plaintext"-Attack** + - + - **"Chosen-Plaintext"-Attack** + - **"Chosen-Ciphertext"-Attack** + +## Überblick etablierter Methoden +### 802.1X EAP & RADIUS +- Entwickelt um Sicherheitslücken zu schließen + - fehlendes Schlüsselmanag. + - fehlende Benutzerauthentifikation und -authentisierung + - token, smartcards, zertificates + - fehlende möglichkeit der zentr. Auth. und Autorisierung +#### Prinzip +- implementiert Zugangssteuerung an der Stelle, an der ein Benutzer in des Netzw. eintreten möchte + - Wird Port genannt +- portbasierte Authentisierung kommt zum Tragen +- Entwicklung des Extensible Authentication Protocol (EAP) um im Zusammenspiel mit Auth.-Server, Sicherheitsniveau zu erhöhen +- 802.1X basiert auf EAP + - in 802.11 sind EAP-Nachrichten keine Management- oder Steuer-Frames +- 802.1X wird ebenfalls für 802.11b-Netzwerke verw. +- In 802.1X Semantik, somit WLAN AP ein Port. + - User muss sich authentisieren, um über Port Zugang zu erhalten +- **Authentisierung folgt Assoziation!** +- Supplicant (Antragsteller, Client oder auch Peer): + - erbittet Zugang zu Netzwerk + - Programm auf Client +- Authenticator: + - Auth.-Anfragen durch Supplicant werden an den Auth.-Server weitergeleitet + - Übernimmt Portverwaltung + - besitzt volle Kontrolle über Ports + - kann einen oder mehrere Supplicants verwalten und parallel Kommunizieren +- Auth.-Server: + - Nimmt Anfrage entgegen und prüft + - teilt dem Auth. seine Entscheidung mit + - kann mehrere Auth. bedienen + - entscheidet über Rechte + - Bei WPA ist der Auth.-Server ein RADIUS-Server + - IEEE 802.1X benötigt Auth.-Server + +#### EAP +- Erweitert PPP (Point to Point Prot.) +- problemlose erw. auf LAN- und WLAN-Verbindungen +- Primär getrieben durch Anf. bez. Auth. und Verschl./Schl.-Management für TKIP (Temporal Key Integrity Prot.) (802.11i und WPA) und der WLAN-Stand. IEE 82.11a/b/h/g und 802.1X mit EAP in herkömmlichen Ethernet-Netzwerken Einzug gefunden +- Idee hinter EAP + - allgemeines Rahmenwerk für mult. Auth.-Methoden + - Benutzer kann sich untersch. Authentisieren +- EAP ist ein schlankes Protokoll, das i.d.R auf Layer 2 des ISO/OSI-Modells operiert, daran aber nicht gebunden +- Besteht aus + - Auth.-Requests und -Responses + - hat eigene Mechanismen zur Fehlerkorrektur und Flusssteuerun +- eigentliche Idee: Auth.-Algorithmus zw. Supplicant und Auth.-Server +- EAP-Pakete werden in EAPoL (EAP over LAN) gekapselt + - nötig um im Netzwerk zu transportieren +- EAPoL-Pakete enthalten + - informationen zu dynamischen WEP-Keys + - WEP-IVs, + - Replay Countern usw. +- EAPoL empfiehlt die Verw. von Schlüsseln, die während der EAP-Auth. generiert werden. Das Format Req. und Resp. wird in der nächsten Abbildung dargestellt. + +| Code | Identifier | Length 1 | Length 2 | Type | Type-Data | +| ------ | ---------- | -------- | -------- | ------ | ---------- | +| 1 Byte | 1 Byte | 1 Byte | 1 Byte | 1 Byte | var. Länge | +#### Aufbau EAP Pakete und Nachrichtentypen +- Type Code 01 (Identity): + - initiale Anforderung + - bezeichnet als Request/Identity + - optional mit Routing Informationen + - kann Benutzereingabe auffordern + - Richtung Supplicant $\rightarrow$ Authenticator +- Type Code 02 (Notification): + - Nachricht von Authenticator zum Benutzer + - dient zur Übermittlung von Informationen und Benachrichtigungen aus Auth.-System (kaum durch Hersteller beansprucht) + - EAPOL-Keyframe ermöglicht Kommunikation und dynamische Aktualisierung von Schlüsseln bei erf. Authentisierung +#### Protokollfamilie und Methoden bzw. Typen +- EAP-Prot. ist unsicher + - Übertragung von Nutzerdaten und Passwörter in Klartext + - Auth.-Prozess findet unverschlüsselt statt + - Authenicator braucht sich nicht zu Auth. + - keine unterstützung dynamischer Schlüssel +- EAP-Methoden bilden Satz von Regeln zur Auth. von Benutzern und Maschine + - Trade off zwischen Komplexität und Sicherheit +![[EAP-Typen.png]] +#### EAP Authentisierungsprozess im Allgemeinen +1. Client wählt sich bei einem NAS ein, der als RADIUS-Client fungiert + 1. Der Client generiert ein Access-Request-Paket (AR) und sendet diesen an den NAS +2. Über UDP sendet der NAS die AR-Nachricht an den RADIUS-Server + 1. Verbindung zw. NAS und RADIUS-Server ist per Shared Secret symmetrisch verschlüsselt + 2. Paket beinhaltet: + - Benutzernamen, + - Passwort, + - ggf. zusätzliche Attripute (Port, IP-Adresse...) +3. RADIUS-Server durchsucht eigene Repo. + 1. Wenn kein Eintrag gefunden wird, so wird ein Standardprofil geladen oder eine Access-Reject Nachricht geht zurück zum NAS + 2. Wenn Eintrag gefunden wird, sendet der Server eine Access-Accept-Nachricht zurück mit zusätzlichen Konfigurationsdaten +4. Die RADIUS-Accept-Nachricht enthält eine Liste von Attribut-Wertepaaren (AVP), die die Sitzungsparameter wie Diensttyp, Protokollart, zugewiesene IP-Adresse, Access Lists und statische Routen beschreibt. +5. Der Client überprüft, ob das Response-Paket zu einem noch ausstehenden Request gehört, indem er die Identifier abgleicht. Findet er keinen passenden Request, verwirft er das Response-Paket. Ansonsten berechnet der Client denselben MD5-Hash wie der Server für den Response-Authenticator. Wenn das Ergebnis mit dem Wert im Response-Paket übereinstimmt, ist das Paket verifiziert. +6. Die Authentifizierung der Kommunikation zwischen Client und Server erfolgt über ein gemeinsames Geheimnis (Shared Secret), das niemals über das Netzwerk gesendet wird. Zusätzlich werden alle Kennwörter verschlüsselt übertragen, um sie zu schützen. Die Authentifizierung des NAS am RADIUS-Server erfolgt mit einem MD5-Hash, der aus dem Paketinhalt, einer zufälligen Zahl vom RADIUS-Server und dem gemeinsamen Geheimnis berechnet wird. +#### RADIUS +- Authentisierungsprozess mit PAP + - Benutzer will sich einwählen und übermittelt seine Daten in Klartext + - Access-Request-Paket wird vom NAS erstellt und an den Server gesendet. Enthält den Code 1 und eine generierte ID, um Pakete zu differenzieren + - In den Attributen sind Benutername und Passwort hinterlegt + - Passwort wird zuvor in zwei Byte-Blöcke zerlegt, und mittels XOR und einem Hash-Wert "chiffriert" + - ChiffreBlock1 = PasswortBlock1 XOR MD5(Authenticator + SharedSecret) + - ChiffreBlock2 = PasswortBlock2 XOR MD5(Authenticator + SharedSecret) + - Authenticator ist ein Zufallswert (RND) + - RADIUS Server sendet nach überprüfung vorher beschr. Daten oder auch nicht +- Beim NAS wird zunächst der Identifer überprüft. Es muss ein Request mit demselben Identifier vorliegen. Erst dann wird der Authenticator überprüft. +- Der NAS erstellt ebenfalls einen Hash-Wert aus den Request-Daten und dem Shared-Secret und vergleicht diese. Erst wenn Identifier und Authenticator erfolgreich geprüft sind, wird die Verbindung zum Benutzer aufgebaut. +![[Pasted image 20240704185247.png]] +Bei der CHAP-Variante (Challenge-Handshake Authentication Protocol) läuft die Authentifizierung wie folgt ab: + +1. Der NAS generiert einen Zufallswert (Challenge-Value) und sendet diesen an den Client. +2. Der Client hasht den Challenge-Value und antwortet mit einem CHAP-Response, der CHAP-ID und dem CHAP-Benutzernamen. +3. Der NAS sendet ein Access-Request-Paket an den RADIUS-Server. Dieses Paket enthält den CHAP-Benutzernamen als User-Name, die CHAP-ID und den CHAP-Response als CHAP-Password. Der ursprüngliche Challenge-Value befindet sich entweder im CHAP-Challenge-Attribut-Feld oder im Authenticator-Feld des Headers. +4. Der RADIUS-Server hasht den Challenge-Value, die CHAP-ID und das auf dem Server gespeicherte Benutzerpasswort. +5. Das Ergebnis wird mit dem CHAP-Password-Attribut verglichen. +6. Bei Übereinstimmung wird der Benutzer authentisiert. + ![[Pasted image 20240704185748.png]] + +#### EAP-MD5 +EAP-MD5 (RFC 2284 bzw. RFC 3748) ist ein konventionelles Challenge-Response-Verfahren zur Authentifizierung von Benutzern und Maschinen. Der Ablauf im Groben: + +1. Der Supplicant startet mit einem „EAPoL-Start“-Paket und sendet dieses an eine Multicast-Adresse. +2. Der Authenticator (z.B. Access Point, 802.1X-Switch oder VPN-Server) erkennt den Authentisierungswunsch des Supplicants und signalisiert dies. Der Supplicant kann auf einen noch nicht freigeschalteten, kontrollierten Port zugreifen. +3. Der Authenticator fordert mittels einer EAP-Request/Identity-Nachricht die Identität des Supplicants an. +4. Der Supplicant antwortet mit einer EAP-Response/Identity-Nachricht und überträgt seine Identität. +5. Der Authenticator initiiert ein Challenge-Response-Verfahren mittels MD5 und leitet die Identität des Supplicants an den Authentifizierungsserver (i.d.R. RADIUS) weiter. +6. Der Authentifizierungsserver erzeugt eine Challenge basierend auf einer Zufallszahl (RND) und übermittelt diese über den Authenticator an den Supplicant. +7. Der Supplicant antwortet mit dem Keyed-Hash (Benutzerpasswort + RND). +8. Der Authenticator leitet den Keyed-Hash an den Authentifizierungsserver weiter, der den Keyed-Hash mit dem bekannten Benutzerpasswort des Supplicants berechnet und mit dem empfangenen Keyed-Hash vergleicht. +9. Bei Übereinstimmung wird der Supplicant authentisiert und erhält eine EAP-Success-Nachricht. Der kontrollierte Port wird für den Supplicant freigeschaltet. Andernfalls wird ein EAP-Failure-Paket gesendet und die Verbindung durch eine EAPOL-Logoff-Nachricht des Supplicants beendet. +![[Pasted image 20240704190109.png]] + +#### EAP-TTLS (Tunneled Transport Layer Security) + +Der Unterschied zwischen EAP-TLS und EAP-TTLS besteht in der Authentisierungsmethode: + +- **EAP-TLS**: + + - Der Supplicant sendet einen Request an den Authentifizierungsserver, während der Authenticator alle anderen Zugriffe blockiert. + - Es erfolgt eine gegenseitige Authentisierung von Supplicant und Authentifizierungsserver über den Authenticator. + - Der Supplicant wird authentisiert und erhält gegebenenfalls einen Schlüssel. +- **EAP-TTLS**: + + - Die Authentisierung erfolgt nur über den Authenticator. + - Der Supplicant sendet einen Request an den Authenticator, der alle anderen Zugriffe blockiert. + - Der Authenticator sendet das Zertifikat des Authentifizierungsservers an den Supplicant. + - Der Supplicant baut einen sicheren TLS-Tunnel zum Authentifizierungsserver auf und authentisiert sich selbst mittels eines Verfahrens, das auch unsicher sein kann. + - Die Authentisierungsmethode kann variieren und umfasst EAP-Methoden, MD5-Challenge, Token, One-Time-Passwörter, Klartext-Passwörter und Zertifikate. + +Im Gegensatz zu EAP-TLS benötigt EAP-TTLS lediglich das Zertifikat des Authentifizierungsservers und kein Client-Zertifikat, sodass sich der Client mittels Passwort authentisieren kann. Damit entfällt die Notwendigkeit eines Client-Zertifikates und einer Public Key Infrastructure (PKI). + +#### PEAP (Protected Extensible Authentication Protocol) + +- **Grundlagen**: + - PEAP ist eine Erweiterung von EAP-TLS. + - Verwendet TLS, um einen verschlüsselten Kanal zwischen Client und Authentifizierungsserver herzustellen. + - PEAP legt keine spezifische Authentisierungsmethode fest, bietet jedoch zusätzliche Sicherheit für andere EAP-Authentifizierungsprotokolle wie EAP-MSCHAPv2. + +- **Verwendung**: + - Häufig in WLAN-Authentifizierungsmethoden verwendet, jedoch nicht von VPN- oder RAS-Clients unterstützt. + - Bietet Schutz vor Wörterbuch-Angriffen und ermöglicht eine auf Passwörtern basierende Sicherheit für den Supplicant. + +- **Ähnlichkeit zu EAP-TTLS**: + - PEAP und EAP-TTLS sind sich sehr ähnlich, bieten gegenseitige Authentisierung und dynamisches Re-Keying. + - MS-CHAP bildet die Grundlage für die Authentisierung und erfordert ein gemeinsames Geheimnis im Client und RADIUS-Server. + +- **Mechanismus**: + - **Zwei-Stufen-Mechanismus**: + - **Stufe 1**: Aufbau einer sicheren Verbindung zwischen Client und Authentifizierungsserver, wobei nur der Server authentisiert wird (ähnlich zu EAP-TTLS). + - **Stufe 2**: Nutzung der sicheren Verbindung für eine vollständige EAP-Verhandlung, bei der die gegenseitige Authentisierung erfolgt. + +- **Zertifikate**: + - PEAP erfordert nur ein serverseitiges Zertifikat zur Authentisierung des Servers. + - Die Authentisierung des Clients erfolgt über ein anderes EAP-Verfahren, wie z.B. MS-CHAPv2, wobei die Kommunikation im PEAP-Tunnel gesichert abläuft. + +- **EAP-Typen für PEAP**: + - **EAP-MS-CHAPv2**: + - Verwendet Anmeldeinformationen (Benutzername und Kennwort) für die Benutzerauthentifizierung. + - Serverauthentifizierung erfolgt über ein Zertifikat im Zertifikatspeicher des Authentifizierungsservers. + - **EAP-TLS**: + - Authentifizierung von Benutzer/Host erfolgt über Zertifikate im Zertifikatspeicher der Client-Maschine oder eine Smartcard. + - Serverauthentifizierung erfolgt über ein Zertifikat im Zertifikatspeicher des Authentifizierungsservers. + +#### EAP-TTLS versus PEAP + +- **Ähnlichkeiten**: + - Beide sind Erweiterungen von EAP-TLS und nutzen TLS zur Einrichtung eines sicheren Kanals. + - Der Authentisierungsserver wird über TLS authentisiert, während der Client durch ein anderes getunneltes Authentisierungsprotokoll authentisiert wird. + - Beide beginnen mit dem Aufbau eines TLS-Tunnels (äußere Authentisierung) und nutzen diesen dann zur geschützten Durchführung der eigentlichen Authentisierung des Clients (innere Authentisierung). + +- **Unterschiede**: + - **EAP-TTLS**: + - Verwendet den verschlüsselten Kanal zum Austausch von AVP (Attribute Value Pairs) vom RADIUS-Server. + - Die innere Authentisierung kann mit verschiedenen Methoden wie MD5-Challenge, Token, One-Time-Passwörtern, Klartext-Passwörtern und Zertifikaten erfolgen. + - **PEAP**: + - Startet einen zweiten EAP-Austausch innerhalb des verschlüsselten Kanals. + - Phase 1 endet nicht mit einer EAP-Success-Nachricht, sondern initiiert eine zweite Stufe, die eine neue EAP-Sitzung beginnt, welche die verhandelten Schlüssel absichert. + - In Phase 2 erfolgt eine gewöhnliche EAP-Verhandlung, die ein Authentisierungsprotokoll auf höherer Ebene beinhalten kann. Die EAP-Nachrichten werden verschlüsselt übertragen. + - Im PEAP-Tunnel sind nur EAP-Methoden wie EAP-MS-CHAPv2, EAP-TLS oder EAP-GTC zulässig. + +### Exploits und Sicherheitslücken + +#### Grundlagen + +- **Sicherheitslücken**: Fast jede Software enthält Sicherheitslücken aufgrund der Komplexität großer Programme. +- **Exploits**: Diese sind gezielte Angriffe, die Sicherheitslücken ausnutzen, um IT-Systeme zu kompromittieren. Sie bestehen aus Befehlen, die die Lücken ausnutzen und Schadcode ausführen. +- **Lebenszyklus eines Exploits**: + 1. Sicherheitslücke ist unentdeckt. + 2. Sicherheitslücke wird entdeckt und eventuell von Angreifern genutzt. + 3. Sicherheitslücke wird öffentlich bekannt und ein Patch wird entwickelt. + 4. Zero-Day-Exploits sind Sicherheitslücken ohne verfügbaren Patch. + +#### Exploit-Entwicklung + +- **Exploiting-Frameworks**: Diese bieten Bibliotheken mit Shellcodes für die Entwicklung von Exploits. +- **Fuzzer**: Werkzeuge zur systematischen Suche nach Sicherheitslücken. + +#### Angriffstechniken + +- **Cross Site Scripting (XSS)**: Ermöglicht das Einschleusen von JavaScript in Webseiten, um Schadcode auszuführen. +- **Arbitrary Code Execution (ACE)**: Schadcode wird über Sicherheitslücken in Interpreteren wie PDF-Dokumenten oder Java-Dateien ausgeführt. +- **Remote Code Execution (RCE)**: Schadcode wird durch den Besuch präparierter Webseiten aus der Ferne aktiviert. +- **Drive-by Downloads**: Schadcode wird unbemerkt durch den Benutzer heruntergeladen und ausgeführt. + +#### Exploit Kits + +- **Kommerzielle Exploit Kits**: Bündeln Exploits für verschiedene Programme und wählen gezielt Schwachstellen im Client aus. +- **Zero Day Exploits**: Exploits für bisher unbekannte Sicherheitslücken, die in Exploit Kits enthalten sein können. + +#### Intrusion Detection System (IDS) und Intrusion Prevention System (IPS) + +##### Definition und Funktion + +- **IDS**: Überwacht IT-Systeme oder Netzwerke auf Angriffsversuche und meldet diese. +- **IPS**: Verhindert Angriffe in Echtzeit durch sofortiges Blockieren. +- **Komponenten eines IDS**: + - Sensor: Erkennt Angriffe. + - Datenbank: Speichert Daten zur Analyse. + - Auswerte-Station: Analysiert und bewertet Daten. + - Management-Station: Verwaltung und Konfiguration des IDS. + +##### Arten von IDS + +- **Netz-basierte Sensoren (NIDS)**: Überwachen Netzwerkverkehr und erkennen netzbasierte Angriffe wie DoS. +- **Host-basierte Sensoren (HIDS)**: Überwachen einzelne IT-Systeme bzgl. Betriebssystem, Anwendungen und Integrität. + +##### Erkennungsmethoden +- Sollte folgende Anforderungen erfüllen: + - **Echtzeitfähig** + - **Adaptierbar** + - **Bedienbar und konfigurierbar** +- **Signaturanalyse**: Vergleicht Netzwerkverkehr mit bekannten Angriffsmustern (Signaturen). + - Vorteile: Effektiv bei bekannten Angriffen. + - Nachteile: Erkennt keine neuen oder modifizierten Angriffe, false positives. +- **Anomalie-Erkennung**: Erkennt abweichendes Benutzerverhalten als möglichen Angriff. + - Vorteile: Kann unbekannte Angriffe erkennen. + - Nachteile: Datenschutzprobleme, false positives und negatives. + +#### Platzierung und Vergleich von IDS/IPS + +- **Platzierung**: IDS wird hinter der Firewall platziert, um Netzwerkverkehr zu analysieren. IPS stoppt Angriffe sofort am Netzwerk-Interface. +- **Vergleich**: IDS meldet Angriffe, während IPS sie aktiv verhindert. +![[Pasted image 20240709173104.png]] +#### Honeypots + +- **Funktion**: Überwachte Systeme, die Angreifer anlocken und Angriffe analysieren. +- **Arten**: + - **Client-Honeypot**: Simuliert einen Client, der von Angreifern attackiert werden soll. + - **Server-Honeypot**: Stellt Dienste bereit, die keine produktiven Nutzen bieten und Angriffe zulassen. +- **Implementierungsansätze**: + - **High Interaction Honeypot**: Nutzt das originale System, was eine realistische Umgebung schafft, aber höhere Risiken birgt. + - **Low Interaction Honeypot**: Emuliert nur notwendige Funktionen, was sicherer ist, aber leichter als Honeypot erkannt wird. + +#### Pufferüberläufe (Buffer Overflows) + +- **Beschreibung**: Entstehen, wenn mehr Daten in einen kleinen Speicherbereich geschrieben werden, was zur Ausführung von schadhaften Code führt. +- **Von-Neumann-Architektur**: Ermöglicht das gemeinsame Speichern von Daten und Programmcode, was Pufferüberläufe begünstigt. + +#### Spoofing + +- **Funktion**: Verschleiert die Identität des Angreifers, um Firewalls zu umgehen. +- **Arten**: + - **IP-Spoofing**: Manipuliert den IP-Header. + - **DNS-Spoofing**: Täuscht falsche DNS-Informationen vor. + - **ARP-Spoofing**: Manipuliert ARP-Tabellen. + +#### Denial of Service (DoS) + +- **Beschreibung**: Überlastet ein IT-System, um dessen Verfügbarkeit zu beeinträchtigen. +- **Techniken**: + - **SYN-Flooding**: Überlastet den Server durch unvollständige Verbindungsanfragen. + - **DDoS**: DoS-Angriff von mehreren Systemen gleichzeitig. + +#### Snort + +- **Funktion**: Freies NIDS/NIPS zur Echtzeitanalyse von Netzwerkverkehr. +- **Komponenten**: + - Paket Sniffer, Paket Logger, Network Intrusion Detection. +- **Erweiterbarkeit**: Add-ons erweitern Snort um Funktionen wie Regel- und Log-Verwaltung oder Benachrichtigungen. +- **Systemanforderungen**: Leistungsfähige Hardware für große Netzwerke erforderlich, Trennung der Netzwerk-Interfaces zur sicheren Überwachung. +- **Arbeitsweise**: Dekodierung und Analyse von Paketen, Preprozessoren für spezielle Angriffe, Detection Engine zur Regelüberprüfung. + - behandlung nur von Standardpaketen (TCP/IP, etc.) aber keine verschlüsselten Pakete + - überprüfung auf erlaubtes Verhalten + - Alarmauslösung bei korrupten Headern, unübliche/falsche TCP-Optionen durch Decoder +- **Snort Rules**: Bestehen aus rule header (Aktion, Protokoll, Adressen) und rule options (Alarmmeldungen, Untersuchungsteil des Pakets). +![[Pasted image 20240709174509.png]] + +### Firewalling + +#### Einführung und Grundlagen + +- **Firewalling**: + - Notwendigkeit von Firewalls aufgrund externer Angriffe auf Netzwerke. + - Entscheidende Frage: Welche Firewall-Lösung soll gewählt werden? + - Analyse der individuellen Kommunikationsprozesse (Sicherheitsanalyse) zur Entscheidungsfindung. + - Firewall fungiert als Gateway und bildet das Sicherheitskonzept ab. + +#### Hauptaufgabenbereiche einer Firewall + +- **Absicherung von Outbound-Zugriffen**: Benutzerzugriff auf das Internet aus dem Intranet. +- **Absicherung von Inbound-Zugriffen**: Zugriffe aus dem Internet auf öffentliche Dienste (z.B. Webseite) durch anonyme Benutzer. +- **Absicherung von definierten Inbound-Zugriffen**: Zugriffe für einen geschlossenen Teilnehmerkreis (z.B. Heimarbeiter, Außendienst, Geschäftspartner). + +#### Firewall-Arten und ihre Funktionen + +- **Paketfilter (Packet Screen oder Screening Router)**: + + - Realisierung als Router oder Integration in einem Router. + - Filterung nach Quell- und Zieladresse sowie Quell- und Zielport. + - Vorteile: Direkte Weiterleitung der Datenströme, transparente Benutzererfahrung, kostengünstige Realisierung. + - Nachteile: Komplexe Einrichtung und Wartung, erfordert detailliertes Protokollwissen. +- **Transportschichtfilter (Circuit Level)**: + + - Kontrolle von TCP- oder UDP-Verbindungen auf Layer 4. + - Überwachen das TCP-Handshaking zur Validierung von Sessions. + - Verbergen der Netztopologie hinter dem Gateway. + - Unabhängig vom Protokoll einsetzbar, transparent für den Client. +- **Application Level Gateway (ALG)**: + + - Arbeiten auf Applikationsebene (Layer 7), physikalische und logische Trennung des Datentransfers zwischen internem und externem Netz. + - Erfordert spezifische Proxyprogramme für jeden Dienst (z.B. telnet, FTP, HTTP). + - Analyse und Filterung der Nutzdaten möglich (z.B. E-Mails nach Schlüsselwörtern durchsuchen). + - Hoher technischer Aufwand, aber höchste Sicherheit. + +#### Erweiterte Firewall-Funktionen + +- **Stateful Inspection Filtering**: + - Erweiterung des Paketfilterkonzeptes durch zustandsabhängige Bewertung der Datenpakete. + - Speicherung und Verwaltung des Verbindungszustands in dynamischen Zustandstabellen. + - Höhere Sicherheit durch Einbeziehung von Informationen der Anwendungsebene. + - Vorteile: Transparenz für Benutzer, einfache Implementierung neuer Dienste. + - Nachteile: Komplexe Konfiguration, Struktur des zu schützenden Netzes liegt offen. + +#### Demilitarisierte Zone (DMZ) + +- **DMZ**: + - Separiertes Subnetz, getrennt durch Firewalls vom Außen- und Innennetz. + - Aufnahme von Netzdiensten, die sowohl von innen als auch von außen erreichbar sein sollen (z.B. E-Mail-Server, Web-Server). + +#### Auswahl und Implementierung einer Firewall + +- **Auswahlkriterien**: + - Unterstützung notwendiger Dienste gemäß Kommunikationsprofil. + - Ablehnung aller anderen Verbindungsanforderungen. + - Transparenz und Offenlegung der Funktionsweise für überschaubares Sicherheitsniveau. + - Resilienz gegen Angriffe, Verwendung fehlerfreier Software. + - Klar strukturierter und nachvollziehbarer Aufbau. + +#### Nachteile und Herausforderungen von Firewalls + +- **Einschränkungen**: + - Begrenzung des Zugangs zu öffentlichen Netzwerken. + - Ständige Kontrolle des Regelwerks und der Log-Dateien erforderlich. + - Anpassungsprobleme bei nicht standardkonformen Diensten. + - Potenzielle Bevormundung der Anwender durch Firewall-Regelungen. + +#### Firewall Best Practices + +- **Empfohlene Vorgehensweisen**: + - Positionierung der Firewall an sicherheitskritischen Stellen. + - Verbot aller Verbindungen, Erlaubnis nur notwendiger Verbindungen. + - Physische Zugangskontrolle zur Firewall. + - Regelmäßige Überwachung der Firewall-Logs. + - Implementierung von Change Management für die Firewall-Konfiguration. + +### Hashing und Hash-Funktionen + +#### 1. Einführung - Hashing + +- **Hashing**: Bedeutet „Zerhacken“. Hash-Algorithmen sind Einwegfunktionen, die eine beliebig lange Eingabe in einen Hash-Wert konstanter Länge umwandeln. +- **Ziel**: Vom Hash-Wert soll nicht auf die Eingabe geschlossen werden können. +- **Hash-Funktion**: Mathematische Funktion, die einen Eingabestring beliebiger Länge in einen festen Ausgabestring (Hash-Wert) umwandelt. + +#### 2. Anwendungsgebiete + +- **Datenbanken**: Schnelle Such- und Zugriffsverfahren. +- **Betriebssysteme**: Effiziente Adressierungsfunktionen. +- **Passwörter**: Speicherung von Passwort-Hashes zur Authentifizierung ohne Klartext-Passwörter. + +#### 3. Eigenschaften einer Einweg-Hash-Funktion + +- **Länge**: Nachricht beliebiger Länge wird in festen Hash-Wert umgewandelt. +- **Einwegfunktion**: Einfach zu berechnen, aber schwer umzukehren. +- **Kollisionsresistenz**: Unmöglichkeit, zwei unterschiedliche Nachrichten mit demselben Hash-Wert zu finden. + +#### 4. Message Digest (MD) + +- **Definition**: Verfahren zur Erzeugung digitaler Unterschriften. +- **Funktion**: Erzeugt Fingerabdruck in Form einer Zahl. +- **Begriffe**: Kompressionsfunktion, Kontraktionsfunktion, kryptografische Prüfsumme, Integritätsprüfung, Manipulation Detection Code (MDC). + +#### 5. Message Authentication Code (MAC) + +- **Definition**: Fügt der Nachricht einen Schlüssel hinzu. +- **Funktion**: Sichert Nachrichtenauthentizität durch verschlüsselte Einwegfunktion. + +#### 6. Anforderungen an Hash-Funktionen + +- **Unkeyed Hash Function**: h(M) +- **Keyed Hash Function**: h(M, k) oder h(M, s) +- **Eigenschaften**: + - **Compression**: Abbildung beliebiger Länge auf fixen Hash-Wert. + - **Ease of computation**: Leichte Berechnung von h(x). + +#### 7. Manipulation Detection Codes (MDC) + +- **Eigenschaften**: + - **Weak collision resistance**: Schwierigkeit, zwei Inputs mit demselben Hash-Wert zu finden. + - **One-way**: Schwierigkeit, vom Hash-Wert auf den Input zu schließen. + - **Strong collision resistance**: Schwierigkeit, zwei verschiedene Nachrichten mit demselben Hash-Wert zu erzeugen. + +#### 8. MAC - Message Authentication Code + +- **Zwei Eingabeparameter**: Nachricht und Schlüssel. +- **Eigenschaften**: + - **Ease-of-Computation**: Leichte Berechnung. + - **Compression**: Abbildung auf MAC fester Länge. + - **Computation Resistance**: Schwierigkeit, gültige Nachrichten-MAC-Paare zu berechnen. + +#### 9. Aufbau und Ablauf von Hash-Funktionen + +- **Iterativer Prozess**: Verarbeitung beliebig langer Eingabedaten in Blöcken fester Größe. +- **Kompressionsfunktion**: Erzeugt Zwischenhash, der in nächste Berechnung einbezogen wird. + +#### 10. Spezifische Hash-Algorithmen + +- **MD2**: Verarbeitet 128-Bit-Input, erzeugt 128-Bit-Hash-Wert, nicht mehr sicher. +- **MD4**: Erzeugt 128-Bit-Hash-Wert, beeinflusste viele andere Hashfunktionen, nicht mehr sicher. +- **MD5**: Modifizierte Version von MD4, erzeugt 128-Bit-Hash-Wert, historische Relevanz, heute unsicher. +- **SHA (Secure Hash Algorithm)**: + - **SHA-1**: 160-Bit-Hash-Wert, langsamer als MD5, aber sicherer. + - **SHA-2**: Verschiedene Versionen (SHA-224, SHA-256, SHA-384, SHA-512), verbesserte Sicherheit. + - **SHA-3**: Gewinner des NIST-Wettbewerbs, basiert auf Keccak. + +#### 11. Weitere Algorithmen + +- **RIPEMD-160**: Europäische Entwicklung, längerer Hash bietet bessere Sicherheit gegen Brute-Force-Angriffe. +- **WHIRLPOOL**: Erzeugt 512-Bit-Hash-Wert, nutzt spezielles Verschlüsselungsverfahren, bisher keine Schwächen gefunden. +- **HOTP**: HMAC-basierte Einmalpasswörter, verwendet für starke Authentifizierung. + +#### 12. Angriffe auf Hash-Funktionen + +- **Geburtstagsangriff**: Höhere Wahrscheinlichkeit für Kollisionen bei kleineren Hash-Werten. +- **Urbild-Angriff**: Versucht, vom Hash-Wert auf den ursprünglichen Input zu schließen. +- **Zweiter Urbild-Angriff**: Versucht, eine zweite Nachricht mit demselben Hash-Wert zu finden. + +#### 13. Schwächen von Hash-Algorithmen + +- **MD5**: Unsicher durch gefundene Kollisionen. +- **SHA-1**: Angegriffen durch neue Methoden, SHA-1 wird ab 2010 nicht mehr verwendet. +- **WHIRLPOOL und RIPEMD-160**: Bisher keine bekannten Schwächen, aber weitere Untersuchungen nötig. + +#### 14. Fazit + +- **MD5, SHA-0, SHA-1**: Bekannte Kollisionen, daher unsicher. +- **SHA-2**: Keine bekannten Kollisionen, daher sicher. +- **SHA-3, WHIRLPOOL, RIPEMD-160**: Aktuelle sichere Algorithmen, aber weitere Untersuchungen notwendig. + +### IPsec + +#### 1. Einführung in IPsec + +- **Definition**: IPsec ist ein Verfahren zur Verschlüsselung und Authentifizierung von IP-Datagrammen auf Layer 3 (Vermittlungsschicht). +- **Ziele**: Herstellerunabhängiger Sicherheitsstandard für IPv4 und IPv6. +- **Protokoll-Familie**: + - IKE (Internet Key Exchange) für sicheren Schlüsselaustausch. + - ESP (Encapsulating Security Payload) für verschlüsselten und integren Datentransfer. + - AH (Authentication Header) für authentifizierten Datentransfer. + +#### 2. Sicherheitsprobleme und Lösungen + +- **Paketintegrität**: Sicherstellung der Unverändertheit der Nutzdaten mittels HMAC (RFC 2104). +- **Paketauthentifizierung**: Sicherstellung, dass das IP-Paket vom richtigen Absender stammt. +- **Paketvertraulichkeit**: Verschlüsselung der Daten mit symmetrischen Verfahren. +- **Verkehrsflussvertraulichkeit**: Schutz vor Analyse des Datenverkehrs. +- **Anti Replay Service (ARS)**: Schutz vor Replay-Angriffen durch Sequenznummern. + +#### 3. Protokolle in IPsec + +- **Authentication Header (AH)**: + - Gewährleistet Integrität und Authentizität der IP-Datagramme. + - Nutzung eines gemeinsamen Schlüssels für HMAC-Authentifikation. + - Kann alleine oder in Kombination mit ESP verwendet werden. +- **Encapsulating Security Payload (ESP)**: + - Ermöglicht Vertraulichkeit und Integritätsprüfung sowie optionale Authentifikation. + - Frei wählbares Verschlüsselungsverfahren. + - Unterstützt Transport-Mode (nur Payload wird verschlüsselt) und Tunnel-Mode (komplettes IP-Paket wird verschlüsselt). + +#### 4. ESP-Modi + +- **Transport-Mode**: + - Verschlüsselt nur die Payload. + - Verwendung zwischen Hosts. +- **Tunnel-Mode**: + - Verschlüsselt das gesamte IP-Paket. + - Verwendung zwischen Gateways. + +#### 5. Unterschiede zwischen AH und ESP + +- **AH**: Authentifiziert das gesamte Paket bis auf veränderliche Daten. +- **ESP**: Berücksichtigt den IP-Header nicht bei der Authentifikation. +- **IPv6**: AH und ESP sind zwingend; bei IPv4 optional. + +#### 6. Key Management + +- **Security Association (SA)**: + - Verwaltung der Sicherheitsparameter und Maßnahmen zwischen Kommunikationspartnern. + - Identifikation der SA durch den Security Parameter Index (SPI). + - Dynamische Erstellung und Löschung von SAs mittels ISAKMP. +- **IKE (Internet Key Exchange)**: + - Protokoll zur Verhandlung und zum Austausch von Schlüsseln. + - Setzt sich aus ISAKMP und OAKLEY zusammen. + - Unterstützt Main Mode, Aggressive Mode und Quick Mode. + - Besteht aus zwei Phasen: + - **Phase I**: Authentifizierung der Peers und Aushandlung eines symmetrischen Schlüssels. + - **Phase II**: Nutzung des Schlüssels aus Phase I zur sicheren Datenübertragung. + +#### 7. Anti Replay Service (ARS) + +- **Mechanismus**: Schutz vor Replay-Angriffen durch Überprüfung der 32-Bit-Sequenznummer. +- **Funktionsweise**: Nutzung eines Fensters, das einen Bereich gültiger Sequenznummern definiert. +- **Verarbeitung**: Pakete mit Sequenznummern außerhalb des Fensters oder bereits verarbeitete Pakete werden verworfen. + +#### 8. Fazit + +- **Transparenz**: IPsec operiert unterhalb der Transportschicht und ist daher transparent für User- und Server-Software. +- **Ende-zu-Ende-Kommunikation**: Sicher auch über nicht IPsec-konforme Netze. +- **Proxy-Firewalls**: Integration mit Proxy-Firewalls kann problematisch sein. +- **Schutz**: AH schützt zusätzlich IP-Header-Daten; kombinierte Nutzung von AH und ESP bietet umfassenden Schutz vor Sniffing-Attacken. + +### IPTables + +#### 1. Einführung und Grundlagen + +- **IPTables**: Ein Programm zur Konfiguration von `netfilter`, das seit der Kernelversion 2.4 verfügbar ist. +- **Ziel**: Grundlegende Einstellungen und Konfigurationen zur Netzwerkpaketfilterung auf einem Linux-Gateway. + +#### 2. Aufbau von IPTables + +- **Bestandteile**: + - **Regeln (rules)**: Definieren, was mit einem IP-Paket geschehen soll. + - **Ketten (chains)**: Sammlung von Regeln, die nacheinander abgearbeitet werden. + - **Tabellen (tables)**: Enthalten mehrere Ketten. Drei Standardtabellen: `filter`, `nat`, `mangle`. + +#### 3. Tabellen und ihre Funktionen + +- **Filter-Tabelle**: Zuständig für die Paketfilterung. Enthält die Ketten `FORWARD`, `INPUT`, `OUTPUT`. +- **NAT-Tabelle**: Übersetzt zwischen internen und externen IP-Adressen. Enthält die Ketten `PREROUTING`, `OUTPUT`, `POSTROUTING`. +- **Mangle-Tabelle**: Verändert Daten im Paket-Header. Enthält alle Ketten. + +#### 4. Ablaufreihenfolge der Paketverarbeitung + +- **Schritte**: + - Daten im Header können verändert werden. + - IP-Adressen können verändert werden. + - Anwendung auf alle Pakete. + - Spezielle Behandlung für lokal bestimmte Pakete. + +#### 5. Verarbeitung der Regeln + +- Regeln werden fortlaufend nummeriert und nacheinander abgearbeitet. +- Die Reihenfolge der Regeln ist entscheidend, da Regeln sich gegenseitig aufheben können. +- Wird eine Regel erfüllt, endet die Verarbeitung in der entsprechenden Kette. + +#### 6. IPTables-Befehle + +- **Regeln beeinflussen**: Hinzufügen, Löschen, Ändern von Regeln. +- **Wichtige Befehle**: + - `-L`: Listet alle Regeln. + - `-F`: Setzt alle Regeln zurück. + - `-A`: Hängt eine neue Regel an die Kette an. + - `-I`: Fügt eine Regel an einer bestimmten Position ein. + - `-D`: Löscht eine Regel anhand ihrer Nummer. + +#### 7. Beispielskript für IPTables + +- **Ein einfaches Firewall-Skript**: + - Löschen aller existierenden Regeln: `iptables -F`, `iptables -X`. + - Standardregeln setzen: `iptables -P INPUT DROP`, `iptables -P OUTPUT DROP`, `iptables -P FORWARD DROP`. + - Loopback-Kommunikation erlauben: `iptables -A INPUT -i lo -j ACCEPT`, `iptables -A OUTPUT -i lo -j ACCEPT`. + - Stateful Inspection: `iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT`. + - Definierte Ketten erstellen: `iptables -N MYDROP`, `iptables -N MYACCEPT`. + - Regeln für SSH und PING: `iptables -A INPUT -p tcp --dport 22 -j MYACCEPT`, `iptables -A INPUT -p icmp -j MYACCEPT`. + +#### 8. Benutzerdefinierte Ketten + +- **Erstellen**: Mit dem Befehl `-N` können benutzerdefinierte Ketten erstellt werden. +- **Nutzung**: Regeln können Pakete an benutzerdefinierte Ketten übergeben. + +#### 9. Parameter für Regeln + +- **Parameter** (auch Matches genannt) spezifizieren eine Regel. + - **Beispiele**: + - `--in-interface`: Bezieht sich auf einen Netzwerkadapter. + - `--protocol -p`: Protokoll, auf das die Regel gelten soll (z.B. tcp, udp, icmp). + - `--source -s`: Quelladresse des Pakets. + - `--destination -d`: Zieladresse des Pakets. + - `--jump -j`: Zielregel, was mit einem Paket geschehen soll (z.B. ACCEPT, DROP). + +#### 10. Wichtige Praxisbeispiele + +- **Ping aus lokalem Netz erlauben**: `iptables -A INPUT -p icmp --src 192.168.0.0/24 -j ACCEPT`. +- **Ping auf localhost verbieten**: `iptables -I INPUT 1 -p icmp --dst 127.0.0.1 -j DROP`. +- **Eingehenden Ping am externen Interface verbieten**: `iptables -A INPUT -p icmp -i ppp0 -j DROP`. +- **Fragmente loggen**: `iptables -A INPUT -p icmp --fragment -j LOG`. +- **Maskieren aller Pakete am externen Interface**: `iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE`. +- **Portweiterleitung für Proxy**: `iptables -t nat -A PREROUTING -i eth0 -p tcp --dport http -j REDIRECT --to-port 3128`. + +#### 11. Fazit + +- IPTables bietet eine flexible und leistungsstarke Möglichkeit zur Netzwerkpaketfilterung. +- Es ist wichtig, Regeln sorgfältig und in der richtigen Reihenfolge zu setzen, um die gewünschte Netzwerksicherheit zu gewährleisten. +- Benutzerdefinierte Ketten und Skripte ermöglichen eine übersichtliche und effiziente Verwaltung der Firewallregeln. + +### Secure Shell (SSH) + +#### 1. Einführung in SSH + +- **SSH** (Secure Shell) ist ein Softwarepaket zur sicheren Kommunikation zwischen einem Client (ssh) und einem Remote-Server (sshd). +- Unterstützt verschiedene Betriebssysteme: Unix, Linux, Windows, MacOS. +- Sichert Verbindungen wie Telnet, FTP, SMTP, POP und X-Windows durch Tunnelbildung. +- Bietet eine Vielzahl von Verschlüsselungsalgorithmen: AES, DES, 3DES, Blowfish, ArcFour, CAST128, Twofish. + +#### 2. Komponenten von SSH + +- **Transportschichtprotokoll**: Server-Authentifizierung, Vertraulichkeit, Integrität, optionale Komprimierung. +- **User-Authentifizierungsprotokoll**: Authentifiziert den Client gegenüber dem Server. +- **Verbindungsprotokoll**: Multiplexen des Tunnels in mehrere logische Kanäle. + +#### 3. Verschlüsselung und Authentifizierung + +- Daten werden automatisch verschlüsselt, authentifiziert und komprimiert. +- Sitzungsschlüssel wird per RSA ausgetauscht und nicht gespeichert. +- Jeder Host besitzt einen eigenen RSA-Schlüssel zur Authentifizierung. +- Schutz gegen IP-Spoofing durch Verschlüsselung und gegen DNS-Spoofing durch Authentifizierung. + +#### 4. Authentifizierung + +- **Asymmetrische Schlüsselpaare**: Client benötigt SSH-Keygen-Anwendung zur Erstellung von RSA-Schlüsselpaaren (z.B. PuTTYgen, ssh-keygen). +- **Zwei RSA-Schlüsselpaaren auf dem Server**: + - **Langlebiges Schlüsselpaar**: Identifikation des Hosts. + - **Kurzlebiges Schlüsselpaar**: Wird regelmäßig erneuert, nur im Speicher gehalten. + +#### 5. Key Exchange + +- SSH-Client und -Server einigen sich auf einen symmetrischen Schlüssel (Diffie-Hellman oder ECDH) zur sicheren Datenübertragung. +- **Symmetrische Algorithmen**: AES, Blowfish. +- **Asymmetrische Algorithmen**: Variationen von RSA oder ECDSA. + +#### 6. Verbindungsaufbau + +1. TCP-Verbindung vom Client zum Server. +2. Austausch der Protokoll- und Programmversion. +3. Umschalten auf ein paketbasiertes Binär-Protokoll. +4. Server sendet öffentlichen Host- und Server-Schlüssel. +5. Austausch der unterstützten Verschlüsselungsverfahren. +6. Client generiert Sitzungsschlüssel und verschlüsselt ihn. +7. Auswahl des Verschlüsselungsverfahrens. +8. Client sendet verschlüsselten Sitzungsschlüssel an den Server. +9. Server entschlüsselt Sitzungsschlüssel und bestätigt. +10. Verschlüsselte Kommunikation wird fortgesetzt. +11. Client authentifiziert sich und erhält eine Arbeitsumgebung. + +#### 7. Schlüsselaustausch + +- **Schlüsselaustauschalgorithmen**: Diffie-Hellman, elliptische Kurven Diffie-Hellman. +- Verhindern von MiM-Angriffen durch Authentifizierung. + +#### 8. Schlüsselmanagement und Zugang + +- Verwaltung von SSH-Schlüsseln zur Verhinderung von MiM-Angriffen. +- Wichtigkeit der Aktualisierung von Host-Schlüsseln und ordnungsgemäßer User-Authentifizierung. +- SSH-Schlüssel machen einen großen Teil der Zugangsberechtigungen aus. + +#### 9. Client-Authentifizierung + +- **Rechner-bezogen**: + - Authentifizierung über IP-Adresse (unsicher wegen Spoofing). + - RSA-basierte Authentifizierung des Client-Rechners. +- **User-bezogen**: + - RSA-basierte Authentifizierung des Users. + - Passwort-Authentifizierung. + - RHost-RSA-Authentifizierung (Kombination der beiden vorherigen). + +#### 10. Schlüsselverwaltung + +- **Private Schlüssel**: Sicher speichern und durch starke Passphrasen schützen. +- **Authentication Agents**: Halten private Schlüssel im Speicher (z.B. Pageant, ssh-agent) zur Erhöhung der Benutzerfreundlichkeit. +- **Public Keys**: Nur vertrauenswürdige Schlüssel in der `authorized_keys`-Datei des SSH-Servers hinterlegen. + +#### 11. Sicherheitsmaßnahmen + +- Härten von SSH-Servern, besonders bei Root-Zugriff. +- Begrenzung der Authentifikationsmethoden, bevorzugt asymmetrische Schlüsselpaare. +- Zwei-Faktor-Authentifizierung (2FA) aktivierbar. +- Deaktivierung passwortbasierter Authentifikation zur Erhöhung der Sicherheit. +- Verwendung von Tools wie `ssh-audit` zur Analyse und Verbesserung der Sicherheitskonfiguration. + +#### 12. Fazit + +- **SSH** ist ein wesentliches Protokoll für sichere Netzwerkverbindungen mit robusten Sicherheitsmechanismen. +- Bietet starke Verschlüsselung, sichere Authentifizierung, Datenübertragung und Remote-Befehlsausführung. +- Unterstützt Funktionen wie Port Forwarding und Tunneling. +- Regelmäßige Aktualisierung und Überwachung sind entscheidend, um Sicherheitslücken zu identifizieren und zu beheben. + +#### 13. Varianten von SSH + +- **SSH1**: Ältere Version mit vielen Sicherheitslücken. +- **SSH2**: Verbesserte Sicherheit und Performance. +- **OpenSSH**: Nutzt OpenSSL-Kryptographie und unterstützt SSH1 und SSH2. + +#### 14. Wichtige Befehle (OpenSSH) + +- **ssh**: Einloggen und Befehle auf entfernten Rechnern ausführen. +- **sshd**: Serverseitiger Dämon zur Annahme von Verbindungen. +- **ssh-agent**: Hält private Schlüssel für die Authentifizierung. +- **ssh-add**: Fügt RSA- oder DSA-Identitäten zum ssh-agent hinzu. +- **sftp**: Sicherer Datei-Transfer, ähnlich wie FTP. +- **scp**: Kopiert Dateien über das Netzwerk, ähnlich wie rcp. +- **ssh-keygen**: Generiert, verwaltet und konvertiert Schlüssel zur Authentifizierung via SSH. + + +### Transport Layer Security (TLS) + +#### 1. Hintergrund und Entwicklung + +- **Entwicklung**: Ursprünglich von Netscape Communications als SSL (Secure Socket Layer) entwickelt. +- **Zweck**: Schutz von WWW-Verbindungen durch Authentifizierung und Verschlüsselung. +- **TLS**: Fortsetzung und Weiterentwicklung von SSL durch die IETF (Internet Engineering Task Force). + +#### 2. Eigenschaften von TLS/SSL + +- **Sicherheitsprotokoll**: Entwickelt für sichere Ende-zu-Ende-Kommunikation zwischen Anwendungen (HTTP, NNTP, FTP) und der Internetschicht (TCP/IP). +- **Funktionalität**: Bietet Datenverschlüsselung, Server-Authentifizierung, Nachrichtenintegrität und optionale Client-Authentifizierung. +- **Standard**: Akzeptiert als Quasi-Standard für Web-Browser und Web-Server vom W3C (WWW-Consortium). + +#### 3. Ablauf einer TLS/SSL-Verbindung + +1. **Verbindungsaufbau**: + + - Client initiiert Verbindung und schlägt kryptographische Verfahren vor. + - Server antwortet und sendet sein Zertifikat (Server-Zertifikat). + - Optional kann der Server ein Client-Zertifikat anfordern. +2. **Authentifizierung und Schlüsselaustausch**: + + - Server signiert Nachrichten mit seinem privaten Schlüssel zur Authentifizierung. + - Client überprüft das Server-Zertifikat und sendet bei Bedarf sein eigenes Zertifikat. + - Austausch von Schlüsselinformationen zur Generierung des Sitzungsschlüssels. +3. **Sichere Kommunikation**: + + - Verschlüsselung der Nachrichten mit dem ausgehandelten symmetrischen Sitzungsschlüssel. + - Verwendung von Hash-Funktionen zur Integritätsprüfung der Nachrichten. + +#### 4. Wesentliche Bestandteile von TLS/SSL + +- **Record-Protokoll**: Verantwortlich für die Fragmentierung, Komprimierung, Authentifizierung und Verschlüsselung von Daten. +- **Handshake-Protokoll**: Verhandelt die Sicherheitsparameter und authentifiziert die Kommunikationspartner. +- **Alert-Protokoll**: Verwaltet Fehler- und Warnmeldungen. + +#### 5. Ablauf des Handshake-Protokolls + +- **Client_Hello**: Client sendet unterstützte kryptographische Algorithmen und eine Zufallszahl. +- **Server_Hello**: Server antwortet mit ausgewählten Algorithmen, Zertifikat und Zufallszahl. +- **Schlüsselaustausch**: Client und Server generieren und tauschen Sitzungsschlüssel. +- **Change Cipher Spec**: Beide Parteien wechseln zu den neuen Verschlüsselungsparametern. +- **Finished**: Bestätigung des erfolgreichen Schlüsselaustauschs und Authentifizierung. + +#### 6. Schlüsselgenerierung + +- **Pre-Master Secret**: Vom Client erzeugt und mit dem öffentlichen Schlüssel des Servers verschlüsselt. +- **Master Secret**: Aus dem Pre-Master Secret abgeleitet und zur Generierung von symmetrischen Schlüsseln verwendet. +- **Schlüsselblock**: Enthält alle benötigten Schlüssel und Initialisierungsvektoren für die Verschlüsselung und MAC-Berechnung. + +#### 7. Sitzungen und Verbindungen + +- **Sitzungen (Sessions)**: Langfristige Kommunikationskanäle mit festgelegten Sicherheitsparametern. +- **Verbindungen**: Kurzfristige Kommunikationskanäle innerhalb einer Sitzung. +- **Wiederaufnahme von Sitzungen**: Ermöglicht schnelle Wiederverbindungen unter Verwendung zwischengespeicherter Session-IDs. + +#### 8. Sicherheit und Verschlüsselung + +- **Unterstützte Algorithmen**: RC2, RC4, IDEA, DES, 3-DES, MD5, SHA-1, X.509. +- **MAC-Berechnung**: Gewährleistet die Integrität der Daten durch Hash-basierte Authentifizierungscodes. +- **Ports**: Spezifische Ports für SSL-verifizierte Dienste (z.B. HTTPS auf Port 443). + +#### 9. Zusammenfassung + +- **Zweck**: Gewährleistung von Sicherheit und Integrität der Datenübertragung durch Verschlüsselung und Authentifizierung. +- **Flexibilität**: Applikationsunabhängig, unterstützt verschiedene Protokolle wie HTTP, FTP, Telnet. +- **Sicherheitsmechanismen**: Kombination aus asymmetrischer und symmetrischer Verschlüsselung, Hash-Funktionen und MAC. \ No newline at end of file diff --git a/Semester 4/ITSARCH/Pasted image 20240704185247.png b/Semester 4/ITSARCH/Pasted image 20240704185247.png new file mode 100755 index 0000000..6436736 Binary files /dev/null and b/Semester 4/ITSARCH/Pasted image 20240704185247.png differ diff --git a/Semester 4/ITSARCH/Pasted image 20240704185748.png b/Semester 4/ITSARCH/Pasted image 20240704185748.png new file mode 100755 index 0000000..6c4d0aa Binary files /dev/null and b/Semester 4/ITSARCH/Pasted image 20240704185748.png differ diff --git a/Semester 4/ITSARCH/Pasted image 20240704190109.png b/Semester 4/ITSARCH/Pasted image 20240704190109.png new file mode 100755 index 0000000..d580d13 Binary files /dev/null and b/Semester 4/ITSARCH/Pasted image 20240704190109.png differ diff --git a/Semester 4/ITSARCH/Pasted image 20240709173104.png b/Semester 4/ITSARCH/Pasted image 20240709173104.png new file mode 100755 index 0000000..51b8cff Binary files /dev/null and b/Semester 4/ITSARCH/Pasted image 20240709173104.png differ diff --git a/Semester 4/ITSARCH/Pasted image 20240709174509.png b/Semester 4/ITSARCH/Pasted image 20240709174509.png new file mode 100755 index 0000000..c642a6a Binary files /dev/null and b/Semester 4/ITSARCH/Pasted image 20240709174509.png differ diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/STARTUP.lst b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/STARTUP.lst new file mode 100755 index 0000000..e0a0325 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/STARTUP.lst @@ -0,0 +1,253 @@ +A51 MACRO ASSEMBLER STARTUP 05/22/2024 11:36:34 PAGE 1 + + +MACRO ASSEMBLER A51 V8.2.7.0 +OBJECT MODULE PLACED IN .\Objects\STARTUP.obj +ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE STARTUP.A51 SET(SMALL) DEBUG PRINT(.\Listings\STARTUP.lst) OBJECT(.\Obj + ects\STARTUP.obj) EP + +LOC OBJ LINE SOURCE + + 1 $nomod51 + 2 ;------------------------------------------------------------------------------ + 3 ; This file is part of the C51 Compiler package + 4 ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. + 5 ; Version 8.01 + 6 ; + 7 ; *** <<< Use Configuration Wizard in Context Menu >>> *** + 8 ;------------------------------------------------------------------------------ + 9 ; STARTUP.A51: This code is executed after processor reset. + 10 ; + 11 ; To translate this file use A51 with the following invocation: + 12 ; + 13 ; A51 STARTUP.A51 + 14 ; + 15 ; To link the modified STARTUP.OBJ file to your application use the following + 16 ; Lx51 invocation: + 17 ; + 18 ; Lx51 your object file list, STARTUP.OBJ controls + 19 ; + 20 ;------------------------------------------------------------------------------ + 21 ; + 22 ; User-defined Power-On Initialization of Memory + 23 ; + 24 ; With the following EQU statements the initialization of memory + 25 ; at processor reset can be defined: + 26 ; + 27 ; IDATALEN: IDATA memory size <0x0-0x100> + 28 ; Note: The absolute start-address of IDATA memory is always 0 + 29 ; The IDATA space overlaps physically the DATA and BIT areas. + 0080 30 IDATALEN EQU 80H + 31 ; + 32 ; XDATASTART: XDATA memory start address <0x0-0xFFFF> + 33 ; The absolute start address of XDATA memory + 0000 34 XDATASTART EQU 0 + 35 ; + 36 ; XDATALEN: XDATA memory size <0x0-0xFFFF> + 37 ; The length of XDATA memory in bytes. + 0000 38 XDATALEN EQU 0 + 39 ; + 40 ; PDATASTART: PDATA memory start address <0x0-0xFFFF> + 41 ; The absolute start address of PDATA memory + 0000 42 PDATASTART EQU 0H + 43 ; + 44 ; PDATALEN: PDATA memory size <0x0-0xFF> + 45 ; The length of PDATA memory in bytes. + 0000 46 PDATALEN EQU 0H + 47 ; + 48 ; + 49 ;------------------------------------------------------------------------------ + 50 ; + 51 ; Reentrant Stack Initialization + 52 ; + 53 ; The following EQU statements define the stack pointer for reentrant + 54 ; functions and initialized it: + 55 ; + 56 ; Stack Space for reentrant functions in the SMALL model. + 57 ; IBPSTACK: Enable SMALL model reentrant stack + A51 MACRO ASSEMBLER STARTUP 05/22/2024 11:36:34 PAGE 2 + + 58 ; Stack space for reentrant functions in the SMALL model. + 0000 59 IBPSTACK EQU 0 ; set to 1 if small reentrant is used. + 60 ; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> + 61 ; Set the top of the stack to the highest location. + 0100 62 IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 + 63 ; + 64 ; + 65 ; Stack Space for reentrant functions in the LARGE model. + 66 ; XBPSTACK: Enable LARGE model reentrant stack + 67 ; Stack space for reentrant functions in the LARGE model. + 0000 68 XBPSTACK EQU 0 ; set to 1 if large reentrant is used. + 69 ; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> + 70 ; Set the top of the stack to the highest location. + 0000 71 XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 + 72 ; + 73 ; + 74 ; Stack Space for reentrant functions in the COMPACT model. + 75 ; PBPSTACK: Enable COMPACT model reentrant stack + 76 ; Stack space for reentrant functions in the COMPACT model. + 0000 77 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. + 78 ; + 79 ; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> + 80 ; Set the top of the stack to the highest location. + 0100 81 PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 + 82 ; + 83 ; + 84 ;------------------------------------------------------------------------------ + 85 ; + 86 ; Memory Page for Using the Compact Model with 64 KByte xdata RAM + 87 ; Compact Model Page Definition + 88 ; + 89 ; Define the XDATA page used for PDATA variables. + 90 ; PPAGE must conform with the PPAGE set in the linker invocation. + 91 ; + 92 ; Enable pdata memory page initalization + 0000 93 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. + 94 ; + 95 ; PPAGE number <0x0-0xFF> + 96 ; uppermost 256-byte address of the page used for PDATA variables. + 0000 97 PPAGE EQU 0 + 98 ; + 99 ; SFR address which supplies uppermost address byte <0x0-0xFF> + 100 ; most 8051 variants use P2 as uppermost address byte + 00A0 101 PPAGE_SFR DATA 0A0H + 102 ; + 103 ; + 104 ;------------------------------------------------------------------------------ + 105 + 106 ; Standard SFR Symbols + 00E0 107 ACC DATA 0E0H + 00F0 108 B DATA 0F0H + 0081 109 SP DATA 81H + 0082 110 DPL DATA 82H + 0083 111 DPH DATA 83H + 112 + 113 NAME ?C_STARTUP + 114 + 115 + 116 ?C_C51STARTUP SEGMENT CODE + 117 ?STACK SEGMENT IDATA + 118 +---- 119 RSEG ?STACK +0000 120 DS 1 + 121 + 122 EXTRN CODE (?C_START) + 123 PUBLIC ?C_STARTUP + A51 MACRO ASSEMBLER STARTUP 05/22/2024 11:36:34 PAGE 3 + + 124 +---- 125 CSEG AT 0 +0000 020000 F 126 ?C_STARTUP: LJMP STARTUP1 + 127 +---- 128 RSEG ?C_C51STARTUP + 129 +0000 130 STARTUP1: + 131 + 132 IF IDATALEN <> 0 +0000 787F 133 MOV R0,#IDATALEN - 1 +0002 E4 134 CLR A +0003 F6 135 IDATALOOP: MOV @R0,A +0004 D8FD 136 DJNZ R0,IDATALOOP + 137 ENDIF + 138 + 139 IF XDATALEN <> 0 + MOV DPTR,#XDATASTART + MOV R7,#LOW (XDATALEN) + IF (LOW (XDATALEN)) <> 0 + MOV R6,#(HIGH (XDATALEN)) +1 + ELSE + MOV R6,#HIGH (XDATALEN) + ENDIF + CLR A + XDATALOOP: MOVX @DPTR,A + INC DPTR + DJNZ R7,XDATALOOP + DJNZ R6,XDATALOOP + ENDIF + 153 + 154 IF PPAGEENABLE <> 0 + MOV PPAGE_SFR,#PPAGE + ENDIF + 157 + 158 IF PDATALEN <> 0 + MOV R0,#LOW (PDATASTART) + MOV R7,#LOW (PDATALEN) + CLR A + PDATALOOP: MOVX @R0,A + INC R0 + DJNZ R7,PDATALOOP + ENDIF + 166 + 167 IF IBPSTACK <> 0 + EXTRN DATA (?C_IBP) + + MOV ?C_IBP,#LOW IBPSTACKTOP + ENDIF + 172 + 173 IF XBPSTACK <> 0 + EXTRN DATA (?C_XBP) + + MOV ?C_XBP,#HIGH XBPSTACKTOP + MOV ?C_XBP+1,#LOW XBPSTACKTOP + ENDIF + 179 + 180 IF PBPSTACK <> 0 + EXTRN DATA (?C_PBP) + MOV ?C_PBP,#LOW PBPSTACKTOP + ENDIF + 184 +0006 758100 F 185 MOV SP,#?STACK-1 + 186 + 187 ; This code is required if you use L51_BANK.A51 with Banking Mode 4 + 188 ; Code Banking + 189 ; Select Bank 0 for L51_BANK.A51 Mode 4 + A51 MACRO ASSEMBLER STARTUP 05/22/2024 11:36:34 PAGE 4 + + 190 + + + + + 195 ; +0009 020000 F 196 LJMP ?C_START + 197 + 198 END + A51 MACRO ASSEMBLER STARTUP 05/22/2024 11:36:34 PAGE 5 + +SYMBOL TABLE LISTING +------ ----- ------- + + +N A M E T Y P E V A L U E ATTRIBUTES + +?C_C51STARTUP. . . C SEG 000CH REL=UNIT +?C_START . . . . . C ADDR ----- EXT +?C_STARTUP . . . . C ADDR 0000H A +?STACK . . . . . . I SEG 0001H REL=UNIT +ACC. . . . . . . . D ADDR 00E0H A +B. . . . . . . . . D ADDR 00F0H A +DPH. . . . . . . . D ADDR 0083H A +DPL. . . . . . . . D ADDR 0082H A +IBPSTACK . . . . . N NUMB 0000H A +IBPSTACKTOP. . . . N NUMB 0100H A +IDATALEN . . . . . N NUMB 0080H A +IDATALOOP. . . . . C ADDR 0003H R SEG=?C_C51STARTUP +PBPSTACK . . . . . N NUMB 0000H A +PBPSTACKTOP. . . . N NUMB 0100H A +PDATALEN . . . . . N NUMB 0000H A +PDATASTART . . . . N NUMB 0000H A +PPAGE. . . . . . . N NUMB 0000H A +PPAGEENABLE. . . . N NUMB 0000H A +PPAGE_SFR. . . . . D ADDR 00A0H A +SP . . . . . . . . D ADDR 0081H A +STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP +XBPSTACK . . . . . N NUMB 0000H A +XBPSTACKTOP. . . . N NUMB 0000H A +XDATALEN . . . . . N NUMB 0000H A +XDATASTART . . . . N NUMB 0000H A + + +REGISTER BANK(S) USED: 0 + + +ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/ZickZack.m51 b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/ZickZack.m51 new file mode 100755 index 0000000..114646f --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/ZickZack.m51 @@ -0,0 +1,263 @@ +BL51 BANKED LINKER/LOCATER V6.22.4.0 05/22/2024 13:57:42 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22.4.0, INVOKED BY: +C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\STARTUP.obj, .\Objects\main.obj, .\Objects\serIO.obj TO .\Objects\ZickZack PRINT ( +>> .\Listings\ZickZack.m51) RAMSIZE (256) + + +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\Objects\STARTUP.obj (?C_STARTUP) + .\Objects\main.obj (MAIN) + .\Objects\serIO.obj (SERIO) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDPTR) + + +LINK MAP OF MODULE: .\Objects\ZickZack (?C_STARTUP) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + DATA 0008H 000CH UNIT _DATA_GROUP_ + DATA 0014H 0003H UNIT ?DT?_SERSTRINGOUT?SERIO + DATA 0017H 0001H UNIT ?DT?MAIN + IDATA 0018H 0001H UNIT ?STACK + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0003H ABSOLUTE + 0003H 07FDH *** GAP *** + CODE 0800H 0088H UNIT ?PR?_DRAWCHRISTMASTREE?MAIN + CODE 0888H 002AH UNIT ?PR?_INDENTWITHSPACE?MAIN + CODE 08B2H 0028H UNIT ?PR?MAIN?MAIN + CODE 08DAH 0021H UNIT ?PR?_SERSTRINGOUT?SERIO + CODE 08FBH 0019H UNIT ?C?LIB_CODE + CODE 0914H 000FH UNIT ?PR?SERINIT?SERIO + CODE 0923H 000CH UNIT ?C_C51STARTUP + CODE 092FH 000BH UNIT ?PR?SERIN?SERIO + CODE 093AH 0008H UNIT ?PR?SERWAITIN?SERIO + CODE 0942H 0008H UNIT ?PR?_SERCHAROUT?SERIO + + + +OVERLAY MAP OF MODULE: .\Objects\ZickZack (?C_STARTUP) + + +SEGMENT DATA_GROUP + +--> CALLED SEGMENT START LENGTH +--------------------------------------------------- +?C_C51STARTUP ----- ----- + +--> ?PR?MAIN?MAIN + +?PR?MAIN?MAIN 0008H 0002H + +--> ?PR?SERINIT?SERIO + +--> ?PR?SERIN?SERIO + +--> ?PR?_DRAWCHRISTMASTREE?MAIN + + BL51 BANKED LINKER/LOCATER V6.22.4.0 05/22/2024 13:57:42 PAGE 2 + + +?PR?_DRAWCHRISTMASTREE?MAIN 000AH 0006H + +--> ?PR?_INDENTWITHSPACE?MAIN + +--> ?PR?_SERCHAROUT?SERIO + +?PR?_INDENTWITHSPACE?MAIN 0010H 0004H + +--> ?PR?_SERCHAROUT?SERIO + + + +SYMBOL TABLE OF MODULE: .\Objects\ZickZack (?C_STARTUP) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE ?C_STARTUP + C:0923H SEGMENT ?C_C51STARTUP + I:0018H SEGMENT ?STACK + C:0000H PUBLIC ?C_STARTUP + D:00E0H SYMBOL ACC + D:00F0H SYMBOL B + D:0083H SYMBOL DPH + D:0082H SYMBOL DPL + N:0000H SYMBOL IBPSTACK + N:0100H SYMBOL IBPSTACKTOP + N:0080H SYMBOL IDATALEN + C:0926H SYMBOL IDATALOOP + N:0000H SYMBOL PBPSTACK + N:0100H SYMBOL PBPSTACKTOP + N:0000H SYMBOL PDATALEN + N:0000H SYMBOL PDATASTART + N:0000H SYMBOL PPAGE + N:0000H SYMBOL PPAGEENABLE + D:00A0H SYMBOL PPAGE_SFR + D:0081H SYMBOL SP + C:0923H SYMBOL STARTUP1 + N:0000H SYMBOL XBPSTACK + N:0000H SYMBOL XBPSTACKTOP + N:0000H SYMBOL XDATALEN + N:0000H SYMBOL XDATASTART + C:0000H LINE# 126 + C:0923H LINE# 133 + C:0925H LINE# 134 + C:0926H LINE# 135 + C:0927H LINE# 136 + C:0929H LINE# 185 + C:092CH LINE# 196 + ------- ENDMOD ?C_STARTUP + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + C:0888H PUBLIC _indentWithSpace + C:0800H PUBLIC _drawChristmastree + D:0017H PUBLIC taste + C:08B2H PUBLIC main + ------- PROC _INDENTWITHSPACE + D:0010H SYMBOL amount + ------- DO + BL51 BANKED LINKER/LOCATER V6.22.4.0 05/22/2024 13:57:42 PAGE 3 + + + D:0012H SYMBOL g + ------- ENDDO + C:0888H LINE# 8 + C:088CH LINE# 10 + C:08A2H LINE# 11 + C:08B1H LINE# 13 + ------- ENDPROC _INDENTWITHSPACE + ------- PROC _DRAWCHRISTMASTREE + D:000AH SYMBOL width + ------- DO + D:000CH SYMBOL i + D:000EH SYMBOL j + ------- ENDDO + C:0800H LINE# 14 + C:0804H LINE# 17 + C:081AH LINE# 18 + C:0828H LINE# 20 + C:084CH LINE# 21 + C:085DH LINE# 22 + C:0867H LINE# 23 + C:086CH LINE# 24 + C:0873H LINE# 25 + C:0878H LINE# 26 + C:087DH LINE# 27 + C:0887H LINE# 28 + ------- ENDPROC _DRAWCHRISTMASTREE + ------- PROC MAIN + ------- DO + D:0008H SYMBOL hasChar + ------- ENDDO + C:08B2H LINE# 30 + C:08B2H LINE# 33 + C:08B7H LINE# 35 + C:08BAH LINE# 36 + C:08C0H LINE# 37 + C:08C5H LINE# 38 + C:08C9H LINE# 39 + C:08CFH LINE# 40 + C:08D0H LINE# 41 + C:08D0H LINE# 42 + C:08D7H LINE# 43 + C:08D9H LINE# 45 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + + ------- MODULE SERIO + C:0000H SYMBOL _ICE_DUMMY_ + D:00BAH PUBLIC SRELH + D:0090H PUBLIC P1 + C:08DAH PUBLIC _serStringOut + D:00B0H PUBLIC P3 + D:00AAH PUBLIC SRELL + D:00E8H PUBLIC P4 + C:092FH PUBLIC serIn + B:00D8H.7 PUBLIC BD + C:0942H PUBLIC _serCharOut + D:00A8H PUBLIC IEN0 + BL51 BANKED LINKER/LOCATER V6.22.4.0 05/22/2024 13:57:42 PAGE 4 + + + D:00B8H PUBLIC IEN1 + D:00D8H PUBLIC ADCON0 + B:0098H.0 PUBLIC RI + C:093AH PUBLIC serWaitIn + B:0098H.1 PUBLIC TI + D:0087H PUBLIC PCON + D:0099H PUBLIC SBUF + D:0098H PUBLIC SCON + D:0088H PUBLIC TCON + C:0914H PUBLIC serInit + D:00C8H PUBLIC T2CON + D:00D0H PUBLIC PSW + D:00C0H PUBLIC IRCON + ------- PROC SERIN + C:092FH LINE# 22 + C:092FH LINE# 25 + C:0932H LINE# 27 + C:0934H LINE# 29 + C:0937H LINE# 30 + C:0937H LINE# 32 + C:0939H LINE# 33 + C:0939H LINE# 34 + ------- ENDPROC SERIN + ------- PROC SERWAITIN + C:093AH LINE# 38 + C:093AH LINE# 41 + C:093DH LINE# 43 + C:093FH LINE# 45 + C:0941H LINE# 46 + ------- ENDPROC SERWAITIN + ------- PROC _SERCHAROUT + D:0007H SYMBOL zeichen + C:0942H LINE# 51 + C:0942H LINE# 54 + C:0945H LINE# 56 + C:0947H LINE# 59 + C:0949H LINE# 60 + ------- ENDPROC _SERCHAROUT + ------- PROC _SERSTRINGOUT + D:0014H SYMBOL string + ------- DO + D:0006H SYMBOL z + ------- ENDDO + C:08DAH LINE# 63 + C:08E0H LINE# 66 + C:08F4H LINE# 67 + C:08F8H LINE# 68 + C:08FAH LINE# 69 + ------- ENDPROC _SERSTRINGOUT + ------- PROC SERINIT + C:0914H LINE# 72 + C:0914H LINE# 84 + C:0917H LINE# 86 + C:091AH LINE# 88 + C:091DH LINE# 90 + C:091FH LINE# 103 + C:0922H LINE# 104 + BL51 BANKED LINKER/LOCATER V6.22.4.0 05/22/2024 13:57:42 PAGE 5 + + + ------- ENDPROC SERINIT + ------- ENDMOD SERIO + + ------- MODULE ?C?CLDPTR + C:08FBH PUBLIC ?C?CLDPTR + ------- ENDMOD ?C?CLDPTR + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?SERWAITIN?SERIO + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?_SERSTRINGOUT?SERIO + +****************************************************************************** +* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0134H BYTE (15%) * +****************************************************************************** + +Program Size: data=25.0 xdata=0 code=333 +LINK/LOCATE RUN COMPLETE. 2 WARNING(S), 0 ERROR(S) diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/main.lst b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/main.lst new file mode 100755 index 0000000..69fce1c --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/main.lst @@ -0,0 +1,77 @@ +C51 COMPILER V9.60.7.0 MAIN 05/22/2024 13:57:29 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN +OBJECT MODULE PLACED IN .\Objects\main.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE main.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\main + -.lst) TABS(2) OBJECT(.\Objects\main.obj) + +line level source + + 1 // Clear screen and set cursor home + 2 #include + 3 #include + 4 + 5 + 6 unsigned char taste; + 7 + 8 void indentWithSpace(int amount) { + 9 1 int g; + 10 1 for (g = 0; g < (amount); g++) + 11 1 serCharOut(' '); // indenting + 12 1 return; + 13 1 } + 14 void drawChristmastree(int width) { + 15 1 int i; + 16 1 int j; + 17 1 for (i = 0; i < width; i++) { + 18 2 indentWithSpace((width-i)); + 19 2 + 20 2 for (j = 0; j < ((2 * i) + 1); j++) { // draws '=' + 21 3 if (i > 0) serCharOut('='); + 22 3 } + 23 2 serCharOut('\n'); + 24 2 indentWithSpace(width); + 25 2 serCharOut('='); // Stamm + 26 2 serCharOut('\n'); + 27 2 } + 28 1 } + 29 + 30 void main() { + 31 1 + 32 1 + 33 1 int hasChar = 0; + 34 1 + 35 1 serInit(); + 36 1 while(hasChar == 0) { + 37 2 taste = serIn(); + 38 2 if (taste != '\0') { + 39 3 hasChar = 1; + 40 3 break; + 41 3 } + 42 2 drawChristmastree(40); + 43 2 } + 44 1 return; + 45 1 } + 46 + 47 /* Gedanken zur Funktionalen Aufteilung und Erweiterung + 48 - eigenst�ndige Funktion zum indenten ; Parameter: (int Anzahl ' ' (LEERZEICHEN)) + 49 - recursivit�t hier besonders interessant zum Zeichnen der Charakterketten Parameter: (int Schleifendurc + -hl�ufe) + 50 */ + + +MODULE INFORMATION: STATIC OVERLAYABLE + C51 COMPILER V9.60.7.0 MAIN 05/22/2024 13:57:29 PAGE 2 + + CODE SIZE = 218 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 1 12 + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/serIO.lst b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/serIO.lst new file mode 100755 index 0000000..82e53d3 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Listings/serIO.lst @@ -0,0 +1,130 @@ +C51 COMPILER V9.60.7.0 SERIO 05/22/2024 11:53:01 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE SERIO +OBJECT MODULE PLACED IN .\Objects\serIO.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE serIO.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\ser + -IO.lst) TABS(2) OBJECT(.\Objects\serIO.obj) + +line level source + + 1 /* + 2 * serIO.c: + 3 * Eingabe und Ausgabe ueber die serielle Schnittstelle. + 4 * + 5 * Jan Bredereke, 2019, 2024 + 6 */ + 7 + 8 /* Die eigene Header-Datei: */ + 9 #include "serIO.h" + 10 + 11 /* Die Definitionen von Special-Funktion-Registern fuer den + 12 * Mikrocontroller C515C: */ + 13 #include + 14 + 15 + 16 /* Die oeffentlichen Methoden: */ + 17 /* --------------------------- */ + 18 + 19 /* Holt ein einzelnes Zeichen von der seriellen Schnittstelle, ohne + 20 * darauf zu warten. */ + 21 /* Falls kein Zeichen da ist, wird Null zurueckgegeben. */ + 22 char serIn(void) { + 23 1 /* Pruefe, ob ein Zeichen gelesen worden ist. + 24 1 * (Dann wird das Receiver-Interrupt-Flag gesetzt.) */ + 25 1 if (RI) { + 26 2 /* Loesche das Receiver-Interrupt-Flag wieder. */ + 27 2 RI = 0; + 28 2 /* Hole das Zeichen und gib es zurueck. */ + 29 2 return SBUF; + 30 2 } else { + 31 2 /* Sonst gib Null zurueck. */ + 32 2 return '\0'; + 33 2 } + 34 1 } + 35 + 36 /* Holt ein einzelnes Zeichen von der seriellen Schnittstelle und + 37 * wartet ggf., bis eines da ist. */ + 38 char serWaitIn(void) { + 39 1 /* Warte, bis ein Zeichen empfangen wurde. (Dann wird das + 40 1 * Receiver-Interrupt-Flag gesetzt.) */ + 41 1 while (!RI); + 42 1 /* Loesche das Receiver-Interrupt-Flag wieder. */ + 43 1 RI = 0; + 44 1 /* Hole das empfangene Zeichen und gib es zurueck. */ + 45 1 return SBUF; + 46 1 } + 47 + 48 /* Gibt ein Zeichen ueber die serielle Schnittstelle aus. */ + 49 /* Wartet nur, falls zur Zeit eine fruehrere solche Ausgabeoperation + 50 * noch nicht abgeschlossen ist. */ + 51 void serCharOut(char zeichen) { + 52 1 /* Warte ggf., bis das vorige Zeichen fertig ausgegeben ist. + 53 1 * (Dann wird das Transmitter-Interrupt-Flag gesetzt.) */ + 54 1 while (!TI); + C51 COMPILER V9.60.7.0 SERIO 05/22/2024 11:53:01 PAGE 2 + + 55 1 /* Loesche das Transmitter-Interrupt-Flag wieder. */ + 56 1 TI = 0; + 57 1 /* Lege das Zeichen in Sendepuffer und beginne die Uebertragung, ohne + 58 1 * auf deren Ende zu Warten. */ + 59 1 SBUF = zeichen; + 60 1 } + 61 + 62 /* Gibt einen String ueber die serielle Schnittstelle aus. */ + 63 void serStringOut(char *string) { + 64 1 char z; /* Das naechste zu druckende Zeichen */ + 65 1 + 66 1 while (z = *string++) { + 67 2 serCharOut(z); + 68 2 } + 69 1 } + 70 + 71 /* Initialisiert die Eingabe+Ausgabe ueber die serielle Schnittstelle. */ + 72 void serInit(void) { + 73 1 /* Initialisiert die serielle Schnittstelle des C515C + 74 1 * auf 9600 Baud, 1 Stoppbit, kein Paritybit. + 75 1 * Ein Aufruf ist bei der echten Mikrocontrollerkarte im Labor + 76 1 * nicht noetig (aber auch nicht schaedlich), da fuer das Laden des + 77 1 * Programms schon eine Initialisierung durch uVision erfolgt. + 78 1 * Siehe auch das C515C-User-Manual, Seite 6-48ff. + 79 1 */ + 80 1 + 81 1 /* Laedt Baud-Rate-Zaehler, oberer Teil + 82 1 * (Formel im User-Manual auf S. 6-54). + 83 1 */ + 84 1 SRELH = 0x03; + 85 1 /* Laedt Baud-Rate-Zaehler, unterer Teil, und setze Zaehler zurueck. */ + 86 1 SRELL = 0xbf; + 87 1 /* Setzt SMOD-Bit im Register PCON (verdoppelt Baud-Rate). */ + 88 1 PCON |= 0x80; + 89 1 /* Setzt BD-Bit im Register ADCON0 (Baud rate generator enable). */ + 90 1 BD = 1; + 91 1 /* Setzt Bits im Register SCON (von links nach rechts): + 92 1 * SM0=0, SM1=1, SM2=0: + 93 1 * serial mode 1, also 8-Bit-UART + 94 1 * mit variabler Baud-Rate, + 95 1 * einem Stoppbit und keinem + 96 1 * Paritybit. + 97 1 * REN=1: Receiver enable. + 98 1 * TB8=0: unbenutzt (9. Sendebit). + 99 1 * RB8=0: unbenutzt (9. Empfangsbit). + 100 1 * TI=1: Transmitter-Interrupt-Flag. + 101 1 * RI=0: Receiver-Interrupt-Flag. + 102 1 */ + 103 1 SCON = 0x52; + 104 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 75 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- 3 + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/STARTUP.obj b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/STARTUP.obj new file mode 100755 index 0000000..eeb6397 Binary files /dev/null and b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/STARTUP.obj differ diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack new file mode 100755 index 0000000..ec17f50 Binary files /dev/null and b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack differ diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack.build_log.htm b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack.build_log.htm new file mode 100755 index 0000000..07edf62 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack.build_log.htm @@ -0,0 +1,36 @@ + + +
+

Vision Build Log

+

Tool Versions:

+IDE-Version: µVision V5.38.0.0 +Copyright (C) 2022 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: Mathys Touzet, -, LIC=---- + +Tool Versions: +Toolchain: PK51 Prof. Develpers Kit Version: 9.60.7.0 +Toolchain Path: C:\Keil_v5\C51\BIN +C Compiler: C51.exe V9.60.7.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: BL51.exe V6.22.4.0 +Library Manager: LIB51.exe V4.30.1.0 +Hex Converter: OH51.exe V2.7.0.0 +CPU DLL: S8051.DLL V3.125.1.0 +Dialog DLL: D500.DLL V2.52.1.0 +

Project:

+C:\Users\chemical\Documents\BredisLieblingsOrdner\ZickZack\ZickZack.uvproj +Project File Date: 05/22/2024 + +

Output:

+Build target 'Target 1' +linking... +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?SERWAITIN?SERIO +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?_SERSTRINGOUT?SERIO +Program Size: data=25.0 xdata=0 code=333 +".\Objects\ZickZack" - 0 Error(s), 2 Warning(s). +Build Time Elapsed: 00:00:00 +
+ + diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack.lnp b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack.lnp new file mode 100755 index 0000000..fd7dd01 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/ZickZack.lnp @@ -0,0 +1,5 @@ +".\Objects\STARTUP.obj", +".\Objects\main.obj", +".\Objects\serIO.obj" +TO ".\Objects\ZickZack" +PRINT(".\Listings\ZickZack.m51") RAMSIZE(256) diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/main.__i b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/main.__i new file mode 100755 index 0000000..55290ea --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/main.__i @@ -0,0 +1 @@ +"main.c" OPTIMIZE (8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\main.lst) TABS (2) OBJECT(.\Objects\main.obj) \ No newline at end of file diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/main.obj b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/main.obj new file mode 100755 index 0000000..49066b3 Binary files /dev/null and b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/main.obj differ diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/serIO.__i b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/serIO.__i new file mode 100755 index 0000000..19c2f06 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/serIO.__i @@ -0,0 +1 @@ +"serIO.c" OPTIMIZE (8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\serIO.lst) TABS (2) OBJECT(.\Objects\serIO.obj) \ No newline at end of file diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/serIO.obj b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/serIO.obj new file mode 100755 index 0000000..35040fb Binary files /dev/null and b/Semester 4/MICONT/Aufgabenblätter/ZickZack/Objects/serIO.obj differ diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/STARTUP.A51 b/Semester 4/MICONT/Aufgabenblätter/ZickZack/STARTUP.A51 new file mode 100755 index 0000000..ec99b9e --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/STARTUP.A51 @@ -0,0 +1,198 @@ +$NOMOD51 +;------------------------------------------------------------------------------ +; This file is part of the C51 Compiler package +; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. +; Version 8.01 +; +; *** <<< Use Configuration Wizard in Context Menu >>> *** +;------------------------------------------------------------------------------ +; STARTUP.A51: This code is executed after processor reset. +; +; To translate this file use A51 with the following invocation: +; +; A51 STARTUP.A51 +; +; To link the modified STARTUP.OBJ file to your application use the following +; Lx51 invocation: +; +; Lx51 your object file list, STARTUP.OBJ controls +; +;------------------------------------------------------------------------------ +; +; User-defined Power-On Initialization of Memory +; +; With the following EQU statements the initialization of memory +; at processor reset can be defined: +; +; IDATALEN: IDATA memory size <0x0-0x100> +; Note: The absolute start-address of IDATA memory is always 0 +; The IDATA space overlaps physically the DATA and BIT areas. +IDATALEN EQU 80H +; +; XDATASTART: XDATA memory start address <0x0-0xFFFF> +; The absolute start address of XDATA memory +XDATASTART EQU 0 +; +; XDATALEN: XDATA memory size <0x0-0xFFFF> +; The length of XDATA memory in bytes. +XDATALEN EQU 0 +; +; PDATASTART: PDATA memory start address <0x0-0xFFFF> +; The absolute start address of PDATA memory +PDATASTART EQU 0H +; +; PDATALEN: PDATA memory size <0x0-0xFF> +; The length of PDATA memory in bytes. +PDATALEN EQU 0H +; +; +;------------------------------------------------------------------------------ +; +; Reentrant Stack Initialization +; +; The following EQU statements define the stack pointer for reentrant +; functions and initialized it: +; +; Stack Space for reentrant functions in the SMALL model. +; IBPSTACK: Enable SMALL model reentrant stack +; Stack space for reentrant functions in the SMALL model. +IBPSTACK EQU 0 ; set to 1 if small reentrant is used. +; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> +; Set the top of the stack to the highest location. +IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +; Stack Space for reentrant functions in the LARGE model. +; XBPSTACK: Enable LARGE model reentrant stack +; Stack space for reentrant functions in the LARGE model. +XBPSTACK EQU 0 ; set to 1 if large reentrant is used. +; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 +; +; +; Stack Space for reentrant functions in the COMPACT model. +; PBPSTACK: Enable COMPACT model reentrant stack +; Stack space for reentrant functions in the COMPACT model. +PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. +; +; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +;------------------------------------------------------------------------------ +; +; Memory Page for Using the Compact Model with 64 KByte xdata RAM +; Compact Model Page Definition +; +; Define the XDATA page used for PDATA variables. +; PPAGE must conform with the PPAGE set in the linker invocation. +; +; Enable pdata memory page initalization +PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. +; +; PPAGE number <0x0-0xFF> +; uppermost 256-byte address of the page used for PDATA variables. +PPAGE EQU 0 +; +; SFR address which supplies uppermost address byte <0x0-0xFF> +; most 8051 variants use P2 as uppermost address byte +PPAGE_SFR DATA 0A0H +; +; +;------------------------------------------------------------------------------ + +; Standard SFR Symbols +ACC DATA 0E0H +B DATA 0F0H +SP DATA 81H +DPL DATA 82H +DPH DATA 83H + + NAME ?C_STARTUP + + +?C_C51STARTUP SEGMENT CODE +?STACK SEGMENT IDATA + + RSEG ?STACK + DS 1 + + EXTRN CODE (?C_START) + PUBLIC ?C_STARTUP + + CSEG AT 0 +?C_STARTUP: LJMP STARTUP1 + + RSEG ?C_C51STARTUP + +STARTUP1: + +IF IDATALEN <> 0 + MOV R0,#IDATALEN - 1 + CLR A +IDATALOOP: MOV @R0,A + DJNZ R0,IDATALOOP +ENDIF + +IF XDATALEN <> 0 + MOV DPTR,#XDATASTART + MOV R7,#LOW (XDATALEN) + IF (LOW (XDATALEN)) <> 0 + MOV R6,#(HIGH (XDATALEN)) +1 + ELSE + MOV R6,#HIGH (XDATALEN) + ENDIF + CLR A +XDATALOOP: MOVX @DPTR,A + INC DPTR + DJNZ R7,XDATALOOP + DJNZ R6,XDATALOOP +ENDIF + +IF PPAGEENABLE <> 0 + MOV PPAGE_SFR,#PPAGE +ENDIF + +IF PDATALEN <> 0 + MOV R0,#LOW (PDATASTART) + MOV R7,#LOW (PDATALEN) + CLR A +PDATALOOP: MOVX @R0,A + INC R0 + DJNZ R7,PDATALOOP +ENDIF + +IF IBPSTACK <> 0 +EXTRN DATA (?C_IBP) + + MOV ?C_IBP,#LOW IBPSTACKTOP +ENDIF + +IF XBPSTACK <> 0 +EXTRN DATA (?C_XBP) + + MOV ?C_XBP,#HIGH XBPSTACKTOP + MOV ?C_XBP+1,#LOW XBPSTACKTOP +ENDIF + +IF PBPSTACK <> 0 +EXTRN DATA (?C_PBP) + MOV ?C_PBP,#LOW PBPSTACKTOP +ENDIF + + MOV SP,#?STACK-1 + +; This code is required if you use L51_BANK.A51 with Banking Mode 4 +; Code Banking +; Select Bank 0 for L51_BANK.A51 Mode 4 +#if 0 +; Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4. +EXTRN CODE (?B_SWITCH0) + CALL ?B_SWITCH0 ; init bank mechanism to code bank 0 +#endif +; + LJMP ?C_START + + END diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvgui.chemical b/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvgui.chemical new file mode 100755 index 0000000..6ab4af4 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvgui.chemical @@ -0,0 +1,3646 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + C:\Users\chemical\Documents\BredisLieblingsOrdner\ZickZack + + + + + + + 38003 + Registers + 115 100 + + + 346 + Code Coverage + 764 100 + + + 204 + Performance Analyzer + 864 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 64 64 64 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 300 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 182 + 182 + 1334 + 775 + + + + 0 + + 542 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000000000000100000041433A5C55736572735C6368656D6963616C5C446F63756D656E74735C4272656469734C6965626C696E67734F72646E65725C5A69636B5A61636B5C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF46433A5C55736572735C6368656D6963616C5C446F63756D656E74735C4272656469734C6965626C696E67734F72646E65725C5A69636B5A61636B5C535441525455502E413531000000000B535441525455502E41353100000000FFDC7800FFFFFFFF42433A5C55736572735C6368656D6963616C5C446F63756D656E74735C4272656469734C6965626C696E67734F72646E65725C5A69636B5A61636B5C736572494F2E630000000007736572494F2E6300000000BECEA100FFFFFFFF42433A5C55736572735C6368656D6963616C5C446F63756D656E74735C4272656469734C6965626C696E67734F72646E65725C5A69636B5A61636B5C736572494F2E680000000007736572494F2E6800000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000DD00000066000000000600006A020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C40000004F00000070040000BD000000 + + + 16 + C40000006600000070040000D4000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D60000003A020000 + + + 16 + 70000000870000003001000027010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D60000003A020000 + + + 16 + 70000000870000005301000043020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D60000003A020000 + + + 16 + 70000000870000005301000043020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D60000003A020000 + + + 16 + 70000000870000005301000043020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000006B020000000600000E030000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000950100007004000017020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 70000000870000003001000027010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D60000003A020000 + + + 16 + 70000000870000005301000043020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000000E0300000006000021030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD90000004F000000DD000000530200000100000002000010040000000100000011FFFFFF06050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000D90000006A020000000000004F000000D9000000530200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000AC010000700400002E0200000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000053020000000600005702000001000000010000100400000001000000B8FDFFFF6C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006E02000000060000250300000000000057020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1536 + 864 + + + + 1 + Debug + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DD0000004F0000004704000078010000 + + + 16 + DD00000066000000470400008F010000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D600000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D600000003020000 + + + 16 + 70000000870000005301000043020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1506 + 1506 + 1 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 4B04000063000000000600001C020000 + + + 16 + 70000000870000003001000027010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 70000000870000003001000027010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 70000000870000003001000027010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 70000000870000003001000027010000 + + + + 1939 + 1939 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1942 + 1942 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D600000003020000 + + + 16 + 70000000870000005301000043020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D600000003020000 + + + 16 + 70000000870000005301000043020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000020020000000300000E030000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 70000000870000003001000027010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D600000003020000 + + + 16 + 70000000870000005301000043020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 70000000870000003001000027010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 70000000870000003001000027010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006E020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + E000000066000000440400005F010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4E04000066000000FD05000003020000 + + + 16 + 70000000870000003001000027010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000000E0300000006000021030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0703000037020000FD050000F5020000 + + + 16 + 70000000870000003001000027010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDD00000078010000470400007C0100000000000001000000040000000100000094FFFFFF90010000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DD00000066000000470400008F010000DD0000004F00000047040000780100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF470400004F0000004B0400001C02000001000000020000100400000001000000A6FBFFFFBE000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000010000004B0400006600000000060000330200004B0400004F000000000600001C02000000000000404100562B0000000753796D626F6C7301000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD90000004F000000DD0000001C0200000100000002000010040000000100000011FFFFFF06050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000D900000033020000000000004F000000D90000001C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000001C020000000600002002000001000000010000100400000001000000D9FEFFFF2A01000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000040300003702000000060000250300000403000020020000000600000E03000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331010000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572010000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF010000000000000001000000000000000100000001000000FFFFFFFF0003000020020000040300000E03000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000053020000000600005702000000000000010000000400000001000000B8FDFFFF6C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000006E02000000060000250300000000000057020000000600000E0300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020001003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000100330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1536 + 864 + + + + + + 1 + 0 + + 100 + 0 + + .\main.c + 5 + 22 + 41 + 1 + + 0 + + + .\STARTUP.A51 + 0 + 118 + 126 + 1 + + 0 + + + .\serIO.c + 0 + 48 + 54 + 1 + + 0 + + + serIO.h + 21 + 8 + 23 + 1 + + 0 + + + + +
diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvopt b/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvopt new file mode 100755 index 0000000..b2e1c34 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvopt @@ -0,0 +1,228 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp; *.cc; *.cxx + 0 + + + + 0 + 0 + + + + Target 1 + 0x0 + MCS-51 + + 24000000 + + 0 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + C500 Instruction Set Manual + DATASHTS\INFINEON\C500_AISM.PDF + + + 1 + User's Manual + DATASHTS\INFINEON\C515_UM.PDF + + + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + -1 + + + + + + + + + + + + + + + 0 + DLGD500 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(86=-1,-1,-1,-1,0)(87=-1,-1,-1,-1,0)(5049=-1,-1,-1,-1,0)(5058=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)(5045=-1,-1,-1,-1,0)(5046=-1,-1,-1,-1,0)(5059=-1,-1,-1,-1,0) + + + + + 0 + + + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Source Group 1 + 1 + 0 + 0 + 0 + + 1 + 1 + 2 + 0 + 0 + 0 + .\STARTUP.A51 + STARTUP.A51 + 0 + 0 + + + 1 + 2 + 1 + 1 + 0 + 0 + .\main.c + main.c + 0 + 0 + + + 1 + 3 + 1 + 0 + 0 + 0 + .\serIO.c + serIO.c + 0 + 0 + + + +
diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvproj b/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvproj new file mode 100755 index 0000000..a590adf --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/ZickZack.uvproj @@ -0,0 +1,400 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target 1 + 0x0 + MCS-51 + 0 + + + C515-L + Infineon + IRAM(0-0xFF) CLOCK(24000000) + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 2909 + REG515.H + + + + + + + + + + + 0 + 0 + + + + Infineon\ + Infineon\ + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + ZickZack + 1 + 0 + 0 + 1 + 1 + .\Listings\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + D500.DLL + -p515 + S8051.DLL + + T500.DLL + -p515 + + + + 0 + 0 + 0 + 0 + 16 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + -1 + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 0 + 0 + -1 + + 0 + + + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Group 1 + + + STARTUP.A51 + 2 + .\STARTUP.A51 + + + main.c + 1 + .\main.c + + + serIO.c + 1 + .\serIO.c + + + + + + + +
diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/main.c b/Semester 4/MICONT/Aufgabenblätter/ZickZack/main.c new file mode 100755 index 0000000..198a4ed --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/main.c @@ -0,0 +1,50 @@ +// Clear screen and set cursor home +#include +#include + + +unsigned char taste; + +void indentWithSpace(int amount) { + int g; + for (g = 0; g < (amount); g++) + serCharOut(' '); // indenting + return; +} +void drawChristmastree(int width) { + int i; + int j; + for (i = 0; i < width; i++) { + indentWithSpace((width-i)); + + for (j = 0; j < ((2 * i) + 1); j++) { // draws '=' + if (i > 0) serCharOut('='); + } + serCharOut('\n'); + indentWithSpace(width); + serCharOut('='); // Stamm + serCharOut('\n'); + } +} + +void main() { + + + int hasChar = 0; + + serInit(); + while(hasChar == 0) { + taste = serIn(); + if (taste != '\0') { + hasChar = 1; + break; + } + drawChristmastree(40); + } + return; +} + +/* Gedanken zur Funktionalen Aufteilung und Erweiterung +- eigenst�ndige Funktion zum indenten ; Parameter: (int Anzahl ' ' (LEERZEICHEN)) +- recursivit�t hier besonders interessant zum Zeichnen der Charakterketten Parameter: (int Schleifendurchl�ufe) +*/ \ No newline at end of file diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/serIO.c b/Semester 4/MICONT/Aufgabenblätter/ZickZack/serIO.c new file mode 100755 index 0000000..f838344 --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/serIO.c @@ -0,0 +1,104 @@ +/* + * serIO.c: + * Eingabe und Ausgabe ueber die serielle Schnittstelle. + * + * Jan Bredereke, 2019, 2024 + */ + +/* Die eigene Header-Datei: */ +#include "serIO.h" + +/* Die Definitionen von Special-Funktion-Registern fuer den + * Mikrocontroller C515C: */ +#include + + +/* Die oeffentlichen Methoden: */ +/* --------------------------- */ + +/* Holt ein einzelnes Zeichen von der seriellen Schnittstelle, ohne + * darauf zu warten. */ +/* Falls kein Zeichen da ist, wird Null zurueckgegeben. */ +char serIn(void) { + /* Pruefe, ob ein Zeichen gelesen worden ist. + * (Dann wird das Receiver-Interrupt-Flag gesetzt.) */ + if (RI) { + /* Loesche das Receiver-Interrupt-Flag wieder. */ + RI = 0; + /* Hole das Zeichen und gib es zurueck. */ + return SBUF; + } else { + /* Sonst gib Null zurueck. */ + return '\0'; + } +} + +/* Holt ein einzelnes Zeichen von der seriellen Schnittstelle und + * wartet ggf., bis eines da ist. */ +char serWaitIn(void) { + /* Warte, bis ein Zeichen empfangen wurde. (Dann wird das + * Receiver-Interrupt-Flag gesetzt.) */ + while (!RI); + /* Loesche das Receiver-Interrupt-Flag wieder. */ + RI = 0; + /* Hole das empfangene Zeichen und gib es zurueck. */ + return SBUF; +} + +/* Gibt ein Zeichen ueber die serielle Schnittstelle aus. */ +/* Wartet nur, falls zur Zeit eine fruehrere solche Ausgabeoperation + * noch nicht abgeschlossen ist. */ +void serCharOut(char zeichen) { + /* Warte ggf., bis das vorige Zeichen fertig ausgegeben ist. + * (Dann wird das Transmitter-Interrupt-Flag gesetzt.) */ + while (!TI); + /* Loesche das Transmitter-Interrupt-Flag wieder. */ + TI = 0; + /* Lege das Zeichen in Sendepuffer und beginne die Uebertragung, ohne + * auf deren Ende zu Warten. */ + SBUF = zeichen; +} + +/* Gibt einen String ueber die serielle Schnittstelle aus. */ +void serStringOut(char *string) { + char z; /* Das naechste zu druckende Zeichen */ + + while (z = *string++) { + serCharOut(z); + } +} + +/* Initialisiert die Eingabe+Ausgabe ueber die serielle Schnittstelle. */ +void serInit(void) { + /* Initialisiert die serielle Schnittstelle des C515C + * auf 9600 Baud, 1 Stoppbit, kein Paritybit. + * Ein Aufruf ist bei der echten Mikrocontrollerkarte im Labor + * nicht noetig (aber auch nicht schaedlich), da fuer das Laden des + * Programms schon eine Initialisierung durch uVision erfolgt. + * Siehe auch das C515C-User-Manual, Seite 6-48ff. + */ + + /* Laedt Baud-Rate-Zaehler, oberer Teil + * (Formel im User-Manual auf S. 6-54). + */ + SRELH = 0x03; + /* Laedt Baud-Rate-Zaehler, unterer Teil, und setze Zaehler zurueck. */ + SRELL = 0xbf; + /* Setzt SMOD-Bit im Register PCON (verdoppelt Baud-Rate). */ + PCON |= 0x80; + /* Setzt BD-Bit im Register ADCON0 (Baud rate generator enable). */ + BD = 1; + /* Setzt Bits im Register SCON (von links nach rechts): + * SM0=0, SM1=1, SM2=0: + * serial mode 1, also 8-Bit-UART + * mit variabler Baud-Rate, + * einem Stoppbit und keinem + * Paritybit. + * REN=1: Receiver enable. + * TB8=0: unbenutzt (9. Sendebit). + * RB8=0: unbenutzt (9. Empfangsbit). + * TI=1: Transmitter-Interrupt-Flag. + * RI=0: Receiver-Interrupt-Flag. + */ + SCON = 0x52; +} diff --git a/Semester 4/MICONT/Aufgabenblätter/ZickZack/serIO.h b/Semester 4/MICONT/Aufgabenblätter/ZickZack/serIO.h new file mode 100755 index 0000000..a8a433a --- /dev/null +++ b/Semester 4/MICONT/Aufgabenblätter/ZickZack/serIO.h @@ -0,0 +1,36 @@ +/* + * serIO.c: + * Header-Datei fuer die + * Eingabe und Ausgabe ueber die serielle Schnittstelle. + * + * Jan Bredereke, 2019, 2024 + */ + +#ifndef SERIO_H +#define SERIO_H + + +/* Die oeffentlichen Methoden: */ +/* --------------------------- */ + +/* Holt ein einzelnes Zeichen von der seriellen Schnittstelle, ohne + * darauf zu warten. */ +/* Falls kein Zeichen da ist, wird Null zurueckgegeben. */ +char serIn(void); + +/* Holt ein einzelnes Zeichen von der seriellen Schnittstelle und + * wartet ggf., bis eines da ist. */ +char serWaitIn(void); + +/* Gibt ein Zeichen ueber die serielle Schnittstelle aus. */ +/* Wartet nur, falls zur Zeit eine fruehrere solche Ausgabeoperation + * noch nicht abgeschlossen ist. */ +void serCharOut(char zeichen); + +/* Gibt einen String ueber die serielle Schnittstelle aus. */ +void serStringOut(char *string); + +/* Initialisiert die Eingabe+Ausgabe ueber die serielle Schnittstelle. */ +void serInit(void); + +#endif diff --git a/Semester 4/MICONT/Labor 02.md b/Semester 4/MICONT/Labor 02.md new file mode 100755 index 0000000..0b3c7a8 --- /dev/null +++ b/Semester 4/MICONT/Labor 02.md @@ -0,0 +1,34 @@ +## Versuchsdurchführungen +### Verkabelung +Folgende Verkabelung vornehmen: + +| Steckerfarbe | Bedeutung | Position | +| ------------ | --------- | -------------------------------------------------------- | +| rot | +$5$ V | ganz hinten, hinter "7", Schrift "+5V" ist fast verdeckt | +| grün | SCL | Port 4.1 | +| blau | SDA | Port 4.0 | +| schwarz | GND | ganz vorne mit "GND" beschriftet | +- Mikrocontroller einschalten +## Einstellungen Messsoftware +- Erstellen eines neuen Projektes in LogicPort +- Messkonstanten + - Sample Rate: $500$kHz + - Sample Period: $2\ \mu$S + - Logic-Threshold $2$ V +- Somit Bitlänge von $\frac{1}{100\ \text{kHz}} = 10\ \mu\text{s}$ +- Neue Gruppen erstellen + - Umbennen der verwendeten Kabel zur Messung von TxD, RxD +- Einstellen des Messpatterns anhand angepasster Flankeneingabe +## Einstellungen Runtime Environment +### RTC +- Auswahl des Projektes mit der Uhr +- debug/start drücken +- run drücken +### Temperatursensor +- Siehe Vorgang RTC +## Durchführung +- In der Messsoftware Messung starten +- Korrektes Projekt mit Keil $\mu$Vision für das passende Modul hinzufügen, kompilieren, debug/start, run + - **ACHTUNG** bei der Uhr (RTC) nicht kompilieren! +- LEDs an den Ports 1 und 5 notieren +- Messung auf Richtigkeit (durch dem Ablesen der Werte) überprüfen, und anschließend Abspeichern \ No newline at end of file diff --git a/Semester 4/MICONT/Labor 06.md b/Semester 4/MICONT/Labor 06.md new file mode 100755 index 0000000..e69de29 diff --git a/Semester 4/MICONT/MICONT-Vorlesung.md b/Semester 4/MICONT/MICONT-Vorlesung.md new file mode 100755 index 0000000..bf3d0f8 --- /dev/null +++ b/Semester 4/MICONT/MICONT-Vorlesung.md @@ -0,0 +1,175 @@ + +C515C Mikrocontroller + +Klausur Ersttermin: 11.7.2024 Gruppe II 12:55 - 17:00 +# Organisatorisches +Labor: Logikanalyse +6 Laboreinheiten mit Analyse und Programmierung des 8051 Mikrocontroller +- In Aulis Aufgaben zum Vor- & Nacharbeiten +- Bei Messaufgaben ist ein Bericht gefordert, bei Programmierungsaufgaben ist dies nicht nötig. + - Ein Antreten ist beim 1. Prüfungstermin der Laboraufgaben ist VERPFLICHTEND, ansonsten kämpft man mit dem Prüfungsauschuss +Bredi stellt ein LaTeX-Packet zur verfügung für irgendwas... habs nicht mental aufgenommen, dient aber dem Kontext der Labore + +Labortermin wird Donnerstag um eine viertel Stunde verschoben. +# Grundlagen der Programmiersprache C +Quellcode wird von Bredi hochgeladen. +KEINE KLASSEN WUUUUUUUUU +STARTUP.A51 --> Assembly Datei für 8051 Microkontroller + +stdint.h definiert verlässliche Bitbreite von Variablen (ein long ist nicht unbedingt 32 Bits) +\_t steht für Typ und ist Konvention + +## Einstellungen $\mu$Vision +Für die Labore werden C515C-L Microcontroller verwendet, für mu vision ist dies ebenfalls wichtig. +Memory Model: Small +Code Rom Size: Compact + +### Debug: +- Use Keil Monitor-51 Driver wenn ein Microkontroller angeschlossen ist ansonsten use Simulator +- Target setup + - Einstellen des Portes + - Stop Program Execution with Serial Interrupt wird empfohlen +- Einstellen des WatchDog-Timers + - mitgabe einer Initialization File + - WatchdogAus.ini + - .\ + +### Einzelne Ausgabe der Einzelnen Bits und Bytes +- Ansprechen über die Speicherbereiche (Special Function Register) +- Mehrere SFR für Ports +- Port 5 ist frei verfügbar, 4 ist größtenteils verfügbar, Port 1 abhängig vom Jumper + +```java +#include // enthält die ganzen Codes zum Ansprechen der Ports etc +sfr meinPort = 0x90; // special function register, definition der Adresse des Portes nummer 1 +sbit meinLsbVonP1 = meinPort^0; // auswahl des signifikanten Bits +``` + +```c +switch (tier) { + case hund: + demovar = 47; + case katze: + demovar =+ 2; + break; +} +``` +Der gegebene Code läuft wenn tier == hund ist durch den Case *hund* und danach durch den Case *katze*, weil nicht *gebreaked* wird. + +Zitate usw. beispielsweise: [Brede, 24] + +_____ + +### Kontrollstrukturen +Setzen von Bits anhand von Masken (meistens ein Byte, der &, | genommen wird um den gewünschten Bit zu invertieren). + +```C + +/* +& and +| or +^ xor +~ complement +>> right shifting +<< left shifting +*/ +``` + +Bedenke an Port 5 des Mikrocontrollers gilt negative Logik, daher ~-Operator verwenden. + +### Ein und Ausgabe für Zwecke der Laborausgaben +Ausschnitt aus eingabeAusgabeDemo.c +```C +#include +serInit(); +uchar taste = serWaitIn(); //Warten auf Eingabe +taste = serIn(); //Direkte Eingabe +serCharOut(taste); + +``` + +Ausschnitt aus komplexeDatentypenDemo.c +```C +int *intptr; +int cream[10]; + +inptr = cream //bekommt die adresse vom nullten Index von cream +*intptr++ = 37 // setzt cream[0] = 37 und erhöht dann den Zeiger um die Bitzahl eines Integers +``` + +Es gibt 3 Addressspeicher für den Mikrocontroller, in den Speicherraum code, kann eingeschrieben werden, danach aber nicht modifiziert werden. +```C +char code myString[] = "Hallo Welt."; +``` + +## Grundlegende Hardwarestruktur eines Rechners +Wie wird eine konstante geladen? +Wie wird eine konstante aus einem Register in den Speicher geladen? + +## Hardwarestruktur des 8051 Mikrocontrollers +Kurze Wiederholung vom Speicher-Layout. +Registerbank (RB0 - RB3) kann durchaus sinnvoll für den 32 Bit-Addierer sein. Oder es wird eine Registerbank und alle 8 Register verwendet. + +code, data und xdata + +### Erstellen eines Projektes für Assembler +1. New Projekt + 1. C515C-L + 2. Do not copy STARTUP.A51 +2. .s Datei erstellen (wird von alleine zu einer .a51) +3. Options + 1. A51 + 1. Define 8051 SFR Names checked (oder nicht abhängig von der Config) + 2. Target + 1. Operating System: Compact +```c +#include + + org 0 //start bei Adresse 0 + jmp 0 // springe zu Adresse 0 + end +``` + +## Hardware-Operationen und -Kontrollstrukturen der 8051 Mikrocontroller +```c +setb c //ansprechen des ein bit-registers +clr c //clear +; //Kommentar +mov dptr,#02000h //initialisierung des Datapointers bei externer Adresse 02000h +movx @dptr,a // Einschreiben des Akkumulatorwertes in die externe Adresse 02000h +//---- Logische Befehle ---- +anl +orl +xrl +setb 4 // setzt den 4. Bit auf 1 +cpl // +//----Grundlegende Sprungbefehle---- +jmp sprungziel +sprungziel: + jz //sprung nur bei Akkumulator bei Null + jnz //jump not zero + jc //jump carry (carry ist eins) + jnc // jump not carry + + dnjz //decrementiert und spring wenn nicht null + cjne //vergleich und sprung und kann ein Carry-Flag setzen + + PSW //Program Status Word + + rr + rrc + + da //Überlaufkorrektur + + swap // + mov + movc // + + jb p1.0,$ // warten auf fallende Flanke + jnb p1.0,$ // warten auf steigende Flanke + + + codebase equ 0 //setzen eines variabelnamen für bestimmten Wert + +``` + diff --git a/Semester 4/MICONT/MICONT_L06.pdf b/Semester 4/MICONT/MICONT_L06.pdf new file mode 100755 index 0000000..ecacc4c Binary files /dev/null and b/Semester 4/MICONT/MICONT_L06.pdf differ diff --git a/Semester 4/MICONT/Untitled.md b/Semester 4/MICONT/Untitled.md new file mode 100755 index 0000000..e69de29 diff --git a/Semester 4/SWSYSPRO/Aufgaben/Aufgabe 2.md b/Semester 4/SWSYSPRO/Aufgaben/Aufgabe 2.md new file mode 100755 index 0000000..5854017 --- /dev/null +++ b/Semester 4/SWSYSPRO/Aufgaben/Aufgabe 2.md @@ -0,0 +1,16 @@ + + +```Java +@PostMapping("/musik) +public void add(@RequestBody Musikalben newAlbum) { + sammlungAlben.add(newAlbum); +} +``` +Codesnippet zur bearbeitung der 2. Aufgabe (Hinzufügen eines Titels) + +```Java +@DeleteMapping("/musik/{jahr}") +public void delete(@PathVariable int jahr) { + system.out.println(jahr); +} +``` \ No newline at end of file diff --git a/Semester 4/SWSYSPRO/Projekt/Aufgaben.md b/Semester 4/SWSYSPRO/Projekt/Aufgaben.md new file mode 100755 index 0000000..9b19c59 --- /dev/null +++ b/Semester 4/SWSYSPRO/Projekt/Aufgaben.md @@ -0,0 +1,3 @@ +- CS$50$ $2024$ zu Datenbanken (SQL) ansehen +- Vorlesung abarbeiten +- Datenbankforderungen aufstellen diff --git a/Semester 4/SWSYSPRO/Projekt/DABANK.md b/Semester 4/SWSYSPRO/Projekt/DABANK.md new file mode 100755 index 0000000..511184d --- /dev/null +++ b/Semester 4/SWSYSPRO/Projekt/DABANK.md @@ -0,0 +1,33 @@ +**Datenbank ist nicht mit SQLite erstellt worden. Dies in die Technische Dokumentation einbeziehen.** + +## Fahrzeug +|id| marke| model| release_year|kennzeichen| availability| location| kategorie| +|-|-|-|-|-|-|-|-| +|1|Bobby Car| Bobby Car|1989|HH AUR190|TRUE|{0.1222, 0.7888}|Gebrauchtfahrzeug| +|2|Audi| A4| 2021| HB INS177| FALSE| {0.8999,1.54}|Premium| +|3|Fiat|Cubo|2003|HB INS178|TRUE|{0.8121, 0.31611}|Gast| + +## Booking +Booking sollte ebenfalls den Nutzer enthalten, der das Fahrzeug gebucht hat! + +| id | vehicle_id | start_date | end_date | start_location | end_location | status | zahlungsmethode | bucher | +| --- | ---------- | ----------- | ---------- | -------------- | ------------ | ----------------- | --------------- | ------ | +| 1 | 1 | 01.12.2024 | 12.12.2024 | {9.18, 0.2} | {9.11,0.233} | bezahlt | PayPal | 2 | +| 2 | 3 | 15. 04.2025 | 16.05.2025 | {0.42} | {0.123} | zahlung anstehend | Bargeld | 4 | + +## Tarifklasse +Anzahl der Autos in der Datenbank ist redundant und kann anhand eines Commands erledigt werden. Ist das hier überhaupt Sinnvoll? + +| id | tarif | price_per_day | +| --- | --------- | ------------- | +| 1 | Gläubiger | 0 | +| 2 | Atheist | 0.20€ | +| 3 | Prophet | 0.50€ | +| 4 | Bischof | 1€ | +| 5 | Bredi | 10€ | +| 6 | GOD | 25€ | + +## Benutzer +| id | username | first_name | last_name | birthdate | password | role | email | +| --- | -------- | ---------- | --------- | --------- | -------- | ---- | ----- | +| 1 | | | | | | | | \ No newline at end of file diff --git a/Semester 4/SWSYSPRO/Projekt/Grundstruktur.png b/Semester 4/SWSYSPRO/Projekt/Grundstruktur.png new file mode 100755 index 0000000..8268b42 Binary files /dev/null and b/Semester 4/SWSYSPRO/Projekt/Grundstruktur.png differ diff --git a/Semester 4/SWSYSPRO/Projekt/Praxisvorbereitung.md b/Semester 4/SWSYSPRO/Projekt/Praxisvorbereitung.md new file mode 100755 index 0000000..9fe821f --- /dev/null +++ b/Semester 4/SWSYSPRO/Projekt/Praxisvorbereitung.md @@ -0,0 +1,4 @@ +04.06.2024 Ausfall +# Vorlesung 2 +## Pflichten Arbeitgeber +- §3 ArbschG diff --git a/Semester 4/SWSYSPRO/Projekt/UX-UI.md b/Semester 4/SWSYSPRO/Projekt/UX-UI.md new file mode 100755 index 0000000..55332e6 --- /dev/null +++ b/Semester 4/SWSYSPRO/Projekt/UX-UI.md @@ -0,0 +1,25 @@ +- Erwartungskonformität +- UX + - Vor der Nutzung + - Während der Nutzung + - Nach der Nutzung +- Personas +- Ist-Szenario +- User Journey Maps +- Definieren der Nutzungsanforderungen + - Interdisziplinäre Workshops + - User Stories + - In Form von Tickets +- Gestalten von Lösungen + - Low-Fidelity Prototyping + - Wireframing + - Quick and Easy + - Validierung durch Guerilla Tests + - User Interface Design + - Farben, Formen, Spacings, Grids usw. + - Barrierefreiheit + - High-Fi Prototyping +- UX im Projekt +- Powerusers + - Software an Nutzer orientiert, den Poweruser aber nicht vernachlässigen +- Design-System und Libraries diff --git a/Semester 4/SWSYSPRO/Projekt/Use-case Schablonen.md b/Semester 4/SWSYSPRO/Projekt/Use-case Schablonen.md new file mode 100755 index 0000000..2304d64 --- /dev/null +++ b/Semester 4/SWSYSPRO/Projekt/Use-case Schablonen.md @@ -0,0 +1,156 @@ + +| | | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Anwendungsfall | UC-1 | +| Name | Einloggen | +| Initiierender Aktuer | Endnutzer (Mitarbeiter, Mitglieder, Admin) | +| Weitere Akteure | - | +| Kurzbeschreibung | Vorgang zum Einloggen in das Web-Programm | +| Vorbedingung | Endnutzer hat ein auf der Website bereits erstelltes Konto. | +| Nachbedinung | Endnutzer ist eingeloggt | +| Ablauf | Der Endnutzer geht auf die Login-Seite und gibt seine/ihre Benutzer-Daten ein. Drückt anschließend auf den Login-Knopf. Abhängig von dem, ob ein Konto bereits registriert ist wird die benutzende Person auf 'Eingeloggt', 'Falsches Passwort' oder 'Benutzer hat kein Konto'. Wenn der Benutzer sich erfolgreich eingellogt hat wird dieser weitergeleitet an die Homepage. | +| Alternativen | - | +| Ausnahmen | - Benutzer:in hat kein Konto
-Benutzer:in hat falsches Passwort eingegeben | +| Benutzte Anwendungsfälle | | +| Spezielle Anforderungen | - | +| Vorbedingung | Endnutzer hat ein auf der Website bereits erstelltes Konto. | +| Nachbedinung | Endnutzer ist eingeloggt | +| Ablauf | Der Endnutzer geht auf die Login-Seite und gibt seine/ihre Benutzer-Daten ein. Drückt anschließend auf den Login-Knopf. Abhängig von dem, ob ein Konto bereits registriert ist wird die benutzende Person auf 'Eingeloggt', 'Falsches Passwort' oder 'Benutzer hat kein Konto'. Wenn der Benutzer sich erfolgreich eingellogt hat wird dieser weitergeleitet an die Homepage. | +| Alternativen | - | +| Ausnahmen | - Benutzer:in hat kein Konto
-Benutzer:in hat falsches Passwort eingegeben | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | + + +| | | +| ------------------------------ | ------------------------------------------------------------- | +| Anwendungsfall | UC-2 | +| Name | Registrieren | +| Initiierender Aktuer | Endnutzer (Mitarbeiter, Mitglieder, Admin) | +| Weitere Akteure | - | +| Kurzbeschreibung | Vorgang zum Registrieren in das Web-Programm. | +| Vorbedingung | Endnutzer hat hat noch kein auf der Website erstelltes Konto. | +| Nachbedinung | Endnutzer ist registriert. | +| Ablauf | | +| Alternativen | - | +| Ausnahmen | | +| Benutzte Anwendungsfälle | | +| Spezielle Anforderungen | - | +| Alternativen | - | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | + +| | | +| ------------------------------ | ------------------------------------------------------------------------------ | +| Anwendungsfall | UC-3 | +| Name | Ausloggen | +| Initiierender Aktuer | Endnutzer (Mitarbeiter, Mitglieder, Admin) | +| Weitere Akteure | - | +| Kurzbeschreibung | Vorgang zum Ausloggen aus das Web-Programm. | +| Vorbedingung | Endnutzer ist eingeloggt. | +| Nachbedinung | Endnutzer ist ausgeloggt. | +| Ablauf | Der Endnutzer drückt auf dem Logout-Knopf. | +| Alternativen | - | +| Ausnahmen | - | +| Benutzte Anwendungsfälle | - | +| Spezielle Anforderungen | - | +| Alternativen | - | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | +| |

| +| Anwendungsfall | UC-3 | +| Name | Ausloggen | +| Initiierender Aktuer | Endnutzer (Mitarbeiter, Mitglieder, Admin) | +| Weitere Akteure | - | +| Kurzbeschreibung | Vorgang zum Ausloggen aus das Web-Programm. | +| Vorbedingung | Endnutzer ist eingeloggt. | +| Nachbedinung | Endnutzer ist ausgeloggt. | +| Ablauf | Der Endnutzer drückt auf dem Logout-Knopf. | +| Alternativen | - | +| Ausnahmen | - | +| Benutzte Anwendungsfälle | - | +| Spezielle Anforderungen | - | +| Alternativen | - | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | +| | | +| Anwendungsfall | UC-6 | +| Name | Stornierung | +| Initiierender Aktuer | Mitglied | +| Weitere Akteure | Mitarbeitet | +| Kurzbeschreibung | Das Mitglied storniert seine Buchung. | +| Vorbedingung | mindestens. 24 Stunden vor dem Buchungsdatum. | +| Nachbedinung | Buchung wurde erfolgreich storniert. | +| Ablauf | 1. Buchung auswählen
2. Stornierungsgrund nennen
3. Bestätigen | +| Alternativen | Mitarbeiter anrufen bzw. vor Ort besuchen und stornieren. | +| Ausnahmen | Stornierung nicht möglich, weil Buchung in weniger als 24 Stunden stattfindet. | +| Benutzte Anwendungsfälle | getBuchungen | +| Spezielle Anforderungen | - | +| Alternativen | - | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | + +| | | +| ------------------------------ | -------- | +| Anwendungsfall | UC-5 | +| Name | Rückgabe | +| Initiierender Aktuer | Mitglied | +| Weitere Akteure | | +| Kurzbeschreibung | | +| Vorbedingung | | +| Nachbedinung | | +| Ablauf | | +| Alternativen | | +| Ausnahmen | | +| Benutzte Anwendungsfälle | | +| Spezielle Anforderungen | | +| Alternativen | | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | + +| | | +| ------------------------------ | --------- | +| Anwendungsfall | UC-7 | +| Name | Bezahlung | +| Initiierender Aktuer | | +| Weitere Akteure | | +| Kurzbeschreibung | | +| Vorbedingung | | +| Nachbedinung | | +| Ablauf | | +| Alternativen | | +| Ausnahmen | | +| Benutzte Anwendungsfälle | | +| Spezielle Anforderungen | | +| Alternativen | | +| Annahmen | | +| Offene Themen | | +| Referenzen | | +| Datenanforderungen | | +| Nichtfunktionale Anforderungen | | +# Use-Cases +1. Einloggen +2. Ausloggen +3. Registrierung +4. Buchung +5. Rückgabe +6. Stornierung +7. Bezahlung \ No newline at end of file diff --git a/Semester 4/SWSYSPRO/SWSTECHPRO Labor.md b/Semester 4/SWSYSPRO/SWSTECHPRO Labor.md new file mode 100755 index 0000000..ed3c12e --- /dev/null +++ b/Semester 4/SWSYSPRO/SWSTECHPRO Labor.md @@ -0,0 +1,41 @@ +Kundengespräch +Unternehmen Macrosoft +1. Webserver, Website (Home , Routings) +2. Versch. Rollen, somit versch Views und Technologien + 1. Vue Architektur, Elm + 2. Welche Art von Architektur soll verwendet werden + 3. MVC +3. Rechte ,bezug auf 2. +4. - + 1. rudimentärer Kundenservice (bemerkung, status, kategorien) + 2. telefonisch? Nummer auf der Website + 3. Ausfüllen von Formular über Website (wie Mitarbeiter/Admin) +6. Persistenz +7. Einmaliger Aktivierungsschlüssel für Fahrzeug (Security) +8. Forward Geocoding API +9. Datenverschlüsselung (SSL)(Security) +11. Interaktive Map mit freien Fahrzeugen (optional) +12. Ausfallsicherheit + 1. Strom nicht zuständig + 2. Server kann abkacken + 3. zu viele externe Einflüsse +13. Buchhaltungssystem (Datenbank) (optional) + 1. Stripe (Zahlungen) +14. Reservierungszeit (Timestamp) und automatische Rückgaben + 1. Zu spät Nachzahlung + 2. Frühere Abgabe keine Rückzahlung +15. Punkt 14, ist die Rede von Nutzfahrzeugen (PkW) oder von der Software +16. JSON, Encryption ? +17. Was sind die unterschiedlichen Abonnementstufen und wie sollen diese vorteile für die Kunden/dem Unternehmen bieten +18. + +Mitarbeiter: +- Verwaltung von Fahrzeugpool für Ausleihung +- Erstellen Mitgliedschaften +- Abonnements (Free, Gold, Platin) + +Mitglieder: +- keine Direkte Verbindung mit der Database +- Zugriff auf Programmierbare Karte (Fahrzeugunlock) + +Fahrzeuge: \ No newline at end of file diff --git a/Semester 4/SWSYSPRO/SWSYSPRO - Vorlesung.md b/Semester 4/SWSYSPRO/SWSYSPRO - Vorlesung.md new file mode 100755 index 0000000..7bdbca7 --- /dev/null +++ b/Semester 4/SWSYSPRO/SWSYSPRO - Vorlesung.md @@ -0,0 +1,24 @@ +"Situation ist absolute Katastrophe" ~Matevska 11.04.24 +# Organisatorisches +- Eigenständige, eingeleitete Arbeit +- Weekly Stand-Up +- Planungsmeetings +- Sprint Reviews +- evtl. Beratungstermine + +- Benotung + - 80% Gruppe Labor + - 20% Einzelleistung Modulbezogene Übung +## Gliederung Veranstaltung +- Aktueller tech. Stack +- Einführung +- Anforderungs-Engineering +- Scrum +- Entwurfsmuster +- Softwarearchitektur und Architekturmuster +- Micro-Services +- Event-based Architectures +- Gastvortrag: How AI will change Softw. Eng. +- Modullierung der Struktur mit UML +- Modullierung der Dynamik mit UML +- Retrospektive diff --git a/Semester 6/ITSARCH/Klausurvorbereitung.md b/Semester 6/ITSARCH/Klausurvorbereitung.md new file mode 100644 index 0000000..440f58f --- /dev/null +++ b/Semester 6/ITSARCH/Klausurvorbereitung.md @@ -0,0 +1,24 @@ +# Skripte (durch KI zusammengefasst) +- [x] Hashfunktionen +- [x] TLS 4.5 +- [x] Firewalling +- [x] IP-Tables +- [x] Exploits IDS +- [x] IPSEC +- [x] SSH +# Videos +- [x] 3- hashing und signatur +- [ ] 5 - challenge-response +- [ ] 6 - zertifikat +- [ ] 7 - schlüsselhierarchien teil 1 +# Praktika +- [x] 060 Portscans +- [x] 010 Passwortsicherheit +- [ ] 020 DNS-Angriff +- [ ] 080 Mintm Attack +- [ ] 030 RADIUS +- [ ] 050 Firewall-Pen +- [ ] 120 IDS +- [ ] 160 Metasploit +- [ ] 110 SQL-Angriffe +- [ ] 100 XSS-Angriffe \ No newline at end of file diff --git a/Semester 6/ITSARCH/Labore/010-Passwortsicherheit.md b/Semester 6/ITSARCH/Labore/010-Passwortsicherheit.md new file mode 100644 index 0000000..752def9 --- /dev/null +++ b/Semester 6/ITSARCH/Labore/010-Passwortsicherheit.md @@ -0,0 +1,82 @@ +# Aufgabe 1 + +Nennen Sie Maßnahmen, wie man es einem potenziellen Angreifer schwerer machen kann, das Passwort zu erraten. + +- Längere Passwörter +- komplexer (Zahlen, Groß- und Kleinbuchstaben) + +# Aufgabe 2 + +Suchen Sie im Internet nach Tools für Wörterbuchangriffe. Welche On- bzw. Offline-Tools gibt es und welche Arten von Hashwerten können mit den jeweiligen Tools geknackt werden? + +- acccheck (smb) +- beleth (ssh) +- cudahashcat +- eapmd5pass (md5) +- facebrute +- iisbruteforcer +- morxbook, morxbrute, morxcrack +- oclhashcat +- pdgmail +- pemhack +- sidguesser + +# Aufgabe 3 + +„John The Ripper“ ist als freie Version erhältlich. Erläutern Sie die Funktionsweise. Welche Algorithmen zur Hash-Berechnung beherrscht „John The Ripper“? Wie viele verschiedene Crack-Modi werden unterstützt? Nennen und erläutern Sie die Unterschiede. + +# Aufgabe 4 + +Welcher Schritt ist zunächst notwendig um auf Linux-Distributionen, die Passwörter in einer Shadow-Datei speichern, das Cracking der Passwortliste zu starten? + +1. Zugriff auf `/etc/shadow` erhalten + 1. Nötigt `root` +2. Kopieren von `/etc/shadow` und `/etc/passwd` +3. Vorbereitung für Cracking + 1. `unshadow /etc/passwd /etc/shadow > unshadowed.txt` +4. Cracking tool starten + 1. `john --wordlist=rockyou.txt unshadowed.txt` + +# Aufgabe 5 - Praxis + +`scp localhost:/etc/passwd ~/passwd_dump.txt` +`scp localhost:/etc/shadow ~/shadow_dump.txt` + +`unshadow passwd_dump.txt shadow_dump.txt > combined.txt` +`john --wordlist=pwd.txt combined.txt --users=root --format=crypt` + +Ergebnis: `notsafe987 (root)` + +# Aufgabe 6 + +Mitunter kann der Vorgang zum Cracken per Brute-Force oder mit Wortlisten sehr lange dauern. Allerdings gibt es ein paar Möglichkeiten, in JTR das Cracken zu beschleunigen. Nennen Sie drei Methoden. + +1. Liste an möglichen Wörtern einschränken +2. Mehr Rechenleistung +3. Multi threading + +# Aufgabe 7 + +Für Windows-LM-/-NTLM-Passworthashes gibt es eine effektivere und i.d.R. schnellere Methode das Klartext-Passwort herauszufinden - die Rainbow Tables. +Erklären Sie die Funktionsweise von Rainbow Tables. Welche Vorteile haben sie gegenüber Brute-Force- oder Wörterbuchattacken? Warum sind Rainbow Tables in der Regel effektiver? + +Rainbow Tables sind vorberechnete, große Datenbanken, die Klartext-Passwörter mit ihren zugehörigen Hashwerten verknüpfen. Sie dienen dazu, das ursprüngliche Passwort zu einem gegebenen Hashwert schnell zu ermitteln, ohne jedes mögliche Passwort einzeln ausprobieren oder berechnen zu müssen + +# Aufgabe 8 + +Die LM-/NTLM-Hashes von lokalen Benutzerkonten sind in einer SAM-Datenbank abgelegt. Wofür steht SAM und welche Funktion hat der Dienst? Kann man über die SAM-Datenbank auch Domain-Passwörter auslesen? + +# Aufgabe 9 - Praxis + +Versuchen Sie nun das Passwort des Accounts 'Alice' von einem fiktiven Windows10-Rechner mit dem Tool Ophcrack und einer Rainbow Table zu cracken. Laden Sie sich dazu zunächst die Rainbow Table 'vista free prohabilistic' von der Ophcrack-Webseite herunter (oder, falls die Verbindung zu langsam ist liegt die unter /root/ophcrack) und speichern Sie die Table im Ordner 'ophcrack/RainbowTables' im Home-Verzeichnis des Users 'root'. + +In dem Ordner „ophcrack“ finden Sie außerdem einen Dump der SAM-Einträge (Security Accounts Manager) von der VM „win10-victim“.  + +**Zum Cracken soll nur das Passwort von Alice betrachtet werden, ansonsten sind die Laufzeiten zu hoch! Hierzu kann bspw. nur ein Teil des SAM-Dump verwendet werden.** + +Starten Sie das Tool Ophcrack auf der Kommandozeile (ophcrack), laden Sie den SAM-Dump und versuchen Sie das Passwort des Accounts „Alice“ mit der heruntergeladenen Rainbow Table zu cracken. + + +`ophcrack-cli -f nurlice.pwdmp -t Rainbowtables/vista_proba_free -n 4` + +Ergebnis: Alice NT password 12!34 \ No newline at end of file diff --git a/Semester 6/ITSARCH/Labore/060-portscans.pdf b/Semester 6/ITSARCH/Labore/060-portscans.pdf new file mode 100644 index 0000000..6d78b66 Binary files /dev/null and b/Semester 6/ITSARCH/Labore/060-portscans.pdf differ diff --git a/Semester 6/ITSARCH/Labore/060-portscans.qmd b/Semester 6/ITSARCH/Labore/060-portscans.qmd new file mode 100644 index 0000000..d6d1258 --- /dev/null +++ b/Semester 6/ITSARCH/Labore/060-portscans.qmd @@ -0,0 +1,117 @@ +#let response(body) = { + set text( + weight: "semibold", + purple, + ) + [#body] +} + += 060 Portscans + +== Aufgabe 1 +Erklären Sie die Begriffe sowie die Bedeutung Authentisierung, Autorisierung und Accounting. + +#response[ + - Authentisierung: + - Identitätsnachweis + - Autorisierung: + - Rechtevergabe + - Accounting: + - audit trail über logging +] + +#link("https://en.wikipedia.org/wiki/Authentication%2C_authorization%2C_and_accounting")[ + wikipedia: Authentication, authorization, and accounting +] + +== Aufgabe 2 +Was ist ein Port? + +#response[ + Als Port versteht man einen Kommunikationsendpunkt. Auf der Softwareebene ist ein Port ein Konstrukt, mit dem man ein spezifischen Prozess oder ein network-service identifizieren kann. +] + +#link("https://en.wikipedia.org/wiki/Port_(computer_networking)")[ + wikipedia: Port\_(computer_networking) +] + +== Aufgabe 2 +Was ist ein Portscanner und wofür wird er verwendet? + +#response[ + Ein Portscanner ist eine Applikation, die dazu dient offene Ports bei bspw. Applikationen und Servern zu ermitteln. Dieser kann sowohl von Administratoren verwendet werden um Sicherheitslücken zu ermitteln, als auch von Angreifern um sich zugriff zu schaffen. +] + +#link("https://en.wikipedia.org/wiki/Port_scanner")[ + wikipedia: Port_scanner +] + +== Aufgabe 3 +Ein Portscanner sendet eine Anfrage zur Verbindung mit einem Port eines Computers und zeichnet die Antwort auf. Es gibt drei mögliche Antworten, welche sind es? + +#response[ + + Open or Accepted + + Closed or Denied + + Filtered, Dropped or Blocked +] + +#link("https://en.wikipedia.org/wiki/Port_scanner")[ + wikipedia: Port_scanner +] + +== Aufgabe 4 +Welche Portscan-Techniken gibt es? + +#response[ + - TCP + - SYN + - UDP + - ACK + - Window + - FIN +] + +#link("https://en.wikipedia.org/wiki/Port_scanner")[ + wikipedia: Port_scanner +] + + +== Aufgabe 5 +Welche Möglichkeiten gibt es zur Erkennung von Portscannern? + +#response[ + Mehrere Requests durch einen oder mehrere IP-Adressen an unterschiedlichen Ports (abtasten). +] + +== Aufgabe 6 +Welche Auswirkungen kann ein Portscan haben? + +#response[ + - Entdeckung von offenen Ports + - Geldstrafe lulz +] + +== Aufgabe 7 +An welchem Angriffs-Muster könnte man einen Portscan identifizieren und wie lässt sich dies vermeiden? + +#response[ + + inkrementierende Portnummer-Anfragen durch eine Person + + Auslastung und Testen aller Ports anhand eines Botnets +] + +== Aufgabe 8 - Praxis +Welche Möglichkeiten gibt es auf einem Linux-System mit Kommandozeilenzugriff die offenen Ports herauszufinden ohne einen Portscan durchzuführen? (bspw. auf dem Kali-Container) + +#response[ + `#netstat -lntu` +] + +#image("netstat.png") + +== Aufgabe 9 - Praxis +Führen Sie mit Hilfe der folgenden Tools jeweils einen Port-Scan für Port 20 bis 80 durch: nmap, netcat bzw. nc, echo, bash + +#response[ + === nmap + #image("nmap.png") +] \ No newline at end of file diff --git a/Semester 6/ITSARCH/Labore/netstat.png b/Semester 6/ITSARCH/Labore/netstat.png new file mode 100644 index 0000000..c592dc6 Binary files /dev/null and b/Semester 6/ITSARCH/Labore/netstat.png differ diff --git a/Semester 6/ITSARCH/Labore/nmap.png b/Semester 6/ITSARCH/Labore/nmap.png new file mode 100644 index 0000000..0f650f4 Binary files /dev/null and b/Semester 6/ITSARCH/Labore/nmap.png differ diff --git a/Semester 6/ITSARCH/Skript_Notizen/Exploits IDS_IPS.md b/Semester 6/ITSARCH/Skript_Notizen/Exploits IDS_IPS.md new file mode 100644 index 0000000..9e67f9e --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/Exploits IDS_IPS.md @@ -0,0 +1,131 @@ +## 💥 EXPLOITS – GRUNDLAGEN +### Was ist ein Exploit? +- Ausnutzung einer **Sicherheitslücke** in Software/IT-Systemen +- Besteht aus: + - **Schadcode / Shellcode** (führt Payload aus) + + - **Payload**: z. B. Fernzugriff, Malware, Download weiterer Software + +- Oft **spezifisch** für ein bestimmtes Programm/Version +### Lebenszyklus einer Sicherheitslücke +1. Sicherheitslücke existiert (unbekannt) +2. **Zero-Day-Exploit**: Lücke wird entdeckt & ausgenutzt +3. Lücke wird veröffentlicht & gepatcht +### Exploit-Arten +- **ACE (Arbitrary Code Execution)**: Schadcode wird durch Schwachstelle ausgeführt +- **RCE (Remote Code Execution)**: über präparierte Webseite/E-Mail +- **Drive-by-Download**: unbemerktes Ausführen beim Webseitenbesuch +--- +## 🧰 EXPLOIT FRAMEWORKS & KITS +### Bekannte Exploit-Frameworks +- **Metasploit**: umfangreichstes Toolkit +- **BeEF**: Webbrowser-Exploits +- **SET**: Social Engineering Toolkit +- **Koadic**, **Empire**, **Merlin**: Post-Exploitation +### Exploit Kits +- Sammlung vieler Exploits +- Ermittelt automatisch Schwachstellen auf Clients +- Nutzt ggf. **Zero-Day Exploits** +- Beispiel: Webbrowser öffnet präparierte Webseite → passender Exploit automatisch geladen +--- +## 🧨 ANGRIFFSTECHNIKEN +### XSS (Cross Site Scripting) +- JavaScript-Code in Webseiten einschleusen +- Zugriff auf Cookies, Inhalte, Benutzeraktionen +### Pufferüberlauf (Buffer Overflow) +- Speicherüberlauf durch zu große Eingabe +- Shellcode überschreibt Rücksprungadresse (Stack) +### Spoofing +- **Identitätsfälschung** (IP/DNS/ARP Spoofing) +- Umgehung von Firewalls +### DoS / DDoS +- **Denial of Service**: Dienstüberlastung (z. B. SYN-Flooding) +- **Distributed DoS**: Angriff durch viele Systeme gleichzeitig +--- +## 🕵️‍♂️ IDS / IPS – INTRUSION DETECTION / PREVENTION +### Ziel +- Erkennung und ggf. Verhinderung von Angriffen auf IT-Systeme +### Unterscheidung: +|IDS|IPS| +|---|---| +|Erkennung & Alarmierung|Erkennung + aktive Blockierung| +|Passiv|Aktiv| +|Beispiel: **Snort** als IDS|Snort mit Blockier-Funktion| +--- +## 🧱 IDS-KOMPONENTEN +- **Sensor**: erkennt Ereignisse (Datenquelle) +- **Datenbank**: speichert Ereignisse +- **Auswertestation**: analysiert, bewertet, alarmiert +- **Managementstation**: Konfiguration & Regelpflege +--- +## 🔎 IDS-TYPEN +### NIDS (Netzwerkbasiert) +- Analysiert Netzwerkverkehr +- Erkennt z. B. Portscans, DoS, SQL-Injection +- Nachteile: keine Analyse verschlüsselter Verbindungen (TLS), Mehrdeutigkeiten +### HIDS (Hostbasiert) +- Überwacht einzelnes System (Betriebssystem, Anwendungen) +- Vorteile: sieht verschlüsselte Daten +- Nachteile: hoher Aufwand, systembelastend, kann selbst Ziel sein +### Hybrides IDS +- Kombination aus NIDS & HIDS +- Sensoren verteilt, zentrale Verwaltung +--- +## 🧠 ERKENNUNGSMETHODEN +### 1. **Signaturanalyse (Missbrauchsmuster)** +- Vergleich mit bekannten Angriffsmustern +- Vorteil: **gezielte Erkennung** +- Nachteil: erkennt keine neuen Angriffe, false positives möglich +### 2. **Anomalieerkennung** +- Detektiert Abweichungen vom Normalverhalten +- Vorteile: erkennt auch **unbekannte Angriffe** +- Nachteile: hoher Aufwand, Datenschutzproblematik +--- +## 🐝 HONEYPOTS +### Definition +- **Falle für Angreifer** +- Stellt gezielt verwundbares System bereit +### Arten +|Typ|Eigenschaften| +|---|---| +|**High Interaction**|echtes System, realistische Analyse| +|**Low Interaction**|emulierte Funktionen, sicherer, aber erkennbar| +- **Client-Honeypots**: interagieren aktiv mit Servern +- **Server-Honeypots**: lauschen passiv, analysieren eingehende Anfragen +--- +## 🐍 SNORT – PRAKTISCHES BEISPIEL FÜR EIN IDS +### Merkmale +- Open Source IDS/NIPS +- Besteht aus: + - **Packet Sniffer** + + - **Logger** + + - **Detection Engine** (Regelbasierte Analyse) + +- Erweiterbar mit: + - Preprozessoren + + - Add-ons + + - Logging- und Alarmierungsmechanismen + +### Aufbau +1. **Packet Decoder**: liest eingehende Pakete +2. **Preprozessor**: erkennt z. B. Portscans +3. **Detection Engine**: vergleicht mit Regeln (Snort Rules) +4. **Output Plugins**: Logging, Alarmierung (z. B. Datenbank, Mail) +### Snort Rules: +- bestehen aus Header (IP, Port, Aktion) + Optionen (Inhalt, Alarmtext) +--- +## ✅ ZUSAMMENFASSUNG – KLAUSURRELEVANT +- Exploits = gezielte Ausnutzung von Schwachstellen +- Exploit Kits bündeln viele Exploits, oft Zero-Day dabei +- IDS erkennt Angriffe, IPS verhindert sie aktiv +- NIDS ↔ HIDS: netzwerk- vs. hostbasiert +- Signaturerkennung: gezielt, aber blind für neue Angriffe +- Anomalieerkennung: erkennt Neues, aber komplex +- Snort = praxisnahes IDS, regelbasiert +- Honeypots zur Analyse & Täuschung von Angreifern +--- +Wenn du willst, kann ich daraus **Karteikarten**, ein **Quiz**, oder eine **Lernmatrix** erstellen – sag einfach Bescheid! \ No newline at end of file diff --git a/Semester 6/ITSARCH/Skript_Notizen/Firewalling.md b/Semester 6/ITSARCH/Skript_Notizen/Firewalling.md new file mode 100644 index 0000000..04521ee --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/Firewalling.md @@ -0,0 +1,90 @@ +## 🔥 GRUNDLAGEN FIREWALLING +### Was ist eine Firewall? +- **Schutzmechanismus** zwischen vertrauenswürdigem und nicht-vertrauenswürdigem Netzwerk +- Übernimmt die Rolle eines **Gateways** +- Ziel: **Kommunikationsflüsse kontrollieren, filtern und absichern** +### Ziele: +- Zugriffskontrolle +- Protokollierung +- Absicherung gegen unbefugten Zugriff +- Viren-, Makro-, & Intrusion Detection möglich +--- +## 🔒 EINSATZBEREICHE +1. **Outbound-Schutz** (Zugriffe vom Intranet → Internet) +2. **Inbound öffentlich** (z. B. Webserver, Mailserver) +3. **Inbound eingeschränkt** (z. B. VPN, Remote Work) +--- +## 🧱 DMZ (De-Militarisierte Zone) +- Separiertes Subnetz zwischen Internet und internem Netz +- Über **2 Firewalls** von außen/innen abgeschottet +- Einsatz für Server, die **von innen und außen erreichbar** sein müssen (z. B. Mail, Web) +--- +## 🧰 FIREWALL-TYPEN IM ÜBERBLICK +|Typ|Schicht|Merkmale| +|---|---|---| +|**Paketfilter (Screening)**|OSI 3–4|+ Schnell, einfach– Nur einfache Filterung (IP, Ports)– Kein Schutz gegen komplexe Angriffe| +|**Transportschichtfilter**|OSI 4|+ Session-Überwachung– Nur legitime Sessions zugelassen| +|**Application Gateway (ALG)**|OSI 7|+ Höchste Sicherheit+ Protokollanalyse möglich– Aufwändig, langsam, nicht skalierbar| +|**Stateful Inspection**|OSI 3–7|+ Verbindungszustände erkennbar– komplex in Konfiguration| +--- +## 🔄 PAKETFILTERUNG +- Filtert anhand von: + - Quell-/Zieladresse (IP) + - Quell-/Zielport (TCP/UDP) + - Protokoll (TCP, UDP, ICMP) + - Flags (z. B. TCP-ACK) + +- **Statisch** (nur Paketinhalt) oder **Stateful** (Zustandsbezug) +- Vorteil: Effizient, günstig +- Nachteil: Keine Authentifizierung, keine Applikationskontrolle +--- +## 🧠 STATEFUL INSPECTION +- **Verbindungsbezogenes Filtern** +- Bezieht Kontext mit ein: Verbindung offen? Authentifiziert? +- Vorteil: Transparent & flexibel +- Nachteil: Komplex, keine physische Trennung, fehleranfällig +--- +## 💻 APPLICATION LEVEL GATEWAY (ALG) +- Arbeitet auf **Anwendungsschicht (Layer 7)** +- Trennung von intern ↔ extern +- Pro Dienst spezieller Proxy (FTP, HTTP, SMTP …) +- Vorteile: + - Vollständige Kontrolle & Protokollierung + - Filterung auf Nutzdatenebene (z. B. Java-Applets blockieren) + - Authentifizierung & Benutzerrechte + +- Nachteile: + - Rechenintensiv + - Nicht skalierbar + - Wartungsaufwendig + +--- +## 🧱 PROXY & APPLICATION GATEWAYS +- **Stellvertreterprinzip**: Proxy agiert anstelle des Clients +- Kontrolliert & manipuliert Inhalte (URL, Mail-Betreff, Anhänge) +- Integration in Client oder Netzwerk notwendig +- Typisch für: SMTP, HTTP, FTP, SQL, TELNET etc. +--- +## ⚖️ AUSWAHL EINER FIREWALL +- Muss nur **notwendige Dienste zulassen** +- **Transparente Sicherheit**: offene Architektur wünschenswert +- **Resistenz gegen Angriffe**, minimaler Softwareumfang +- Gute Produkte = weit verbreitet & getestet +- Richtige Konfiguration = **entscheidend für Sicherheit** +--- +## ⚠️ NACHTEILE & PROBLEME +- Einschränkung von Nutzern/Diensten +- Komplexität durch abweichende Portnutzung +- Konfigurationsfehler = große Gefahr +- Performanceverlust (Single Point of Failure möglich) +--- +## 🚨 ANGRIFFE & UMGEHUNG +- Ziel: Schwachstellen **hinter** der Firewall (z. B. Makros auf Client-PCs) +- Wichtig: **IDS/IPS**-Integration + strenge Logfile-Analyse +--- +## ✅ FIREWALL BEST PRACTICES +- „**Alles verbieten, was nicht ausdrücklich erlaubt ist**“ +- Physische Zugriffs- & Änderungsrechte kontrollieren +- Firewall-Logs regelmäßig auswerten +- Konfigurationsmanagement konsequent umsetzen +- Kombination mit anderen Schutzmaßnahmen (Antivirus, IDS, VPN etc.) \ No newline at end of file diff --git a/Semester 6/ITSARCH/Skript_Notizen/Hash-Algorithmen.md b/Semester 6/ITSARCH/Skript_Notizen/Hash-Algorithmen.md new file mode 100644 index 0000000..dcae2e4 --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/Hash-Algorithmen.md @@ -0,0 +1,87 @@ +## 🧠 GRUNDLAGEN DER HASHFUNKTIONEN +### Was ist eine Hashfunktion? +- Einwegfunktion: beliebig lange Eingabe → fester Hashwert (Ausgabe). +- Ziel: Aus Hashwert **kann nicht** auf Eingabe geschlossen werden. +- Ein Hashwert = „digitaler Fingerabdruck“. +### Eigenschaften einer **kryptografisch sicheren Hashfunktion** +1. **Einweg-Eigenschaft**: h(M) einfach berechenbar, aber M aus h(M) unberechenbar. +2. **Kollisionsresistenz**: + - _Schwach_: Für gegebenes x ist es schwer, x′ ≠ x mit h(x) = h(x′) zu finden. + - _Stark_: Es ist schwer, zwei beliebige x ≠ x′ mit h(x) = h(x′) zu finden. +--- +## 🛠️ ANWENDUNGEN +- **Passwort-Speicherung** (nur Hash, kein Klartext) +- **Signaturen**: Signiere h(M), nicht M. +- **Integritätsprüfung**: Prüfsummen, Manipulationserkennung (MIC, MDC) +- **Authentifizierung**: MAC, HMAC +--- +## 🔐 HASH-FUNKTIONSTYPEN +|Typ|Beschreibung| +|---|---| +|UHF|Unkeyed Hash Function: h(M)| +|KHF / MAC|Keyed Hash Function: h(M, k) oder h(M, s)| +--- +## 📌 MDC & MAC UNTERSCHEIDUNG +### MDC – Manipulation Detection Code +- **OWHF**: One-Way Hash Function = Einweg + schwache Kollision +- **CRHF**: Collision Resistant Hash Function = schwache + starke Kollision +### MAC – Message Authentication Code +- nutzt Schlüssel + Nachricht +- Anforderungen: + - einfache Berechnung + - Kompression + - resistent gegen Manipulation +--- +## 🔁 AUFBAU EINER HASHFUNKTION +1. Nachricht in Blöcke fester Länge teilen. +2. Padding auf Vielfaches der Blocklänge. +3. Iterative Verarbeitung mit Kompressionsfunktion. +4. Ergebnis: finaler Hashwert. +--- +## 📚 HASH-ALGORITHMEN IM VERGLEICH +|Algorithmus|Hashlänge|Status / Schwächen| +|---|---|---| +|**MD2/MD4**|128 Bit|Veraltet, unsicher| +|**MD5**|128 Bit|Kollisionen bekannt, nicht mehr sicher| +|**SHA-1**|160 Bit|Kollisionen möglich (ab 2005), deprecated| +|**SHA-2**|224–512 Bit|Aktuell sicher| +|**SHA-3**|224–512 Bit|Alternative zu SHA-2 (Keccak)| +|**RIPEMD-160**|160 Bit|Sicher, europäische Alternative| +|**WHIRLPOOL**|512 Bit|Sicher, aber wenig untersucht| +--- +## 🔁 HMAC (Hash-based MAC) +- **Verwendet Hash + geheimen Schlüssel** +- Schritte: + 1. Schlüssel ggf. kürzen/padden auf Blockgröße + 2. Zwei Pads: `ipad = 0x36`, `opad = 0x5C` + 3. HMAC = H(opad ⊕ k ∥ H(ipad ⊕ k ∥ M)) +- Einsatz in TLS, IPsec etc. +- **Sichert Authentizität & Integrität**, **keine digitale Signatur** +--- +## 💥 ANGRIFFE +### Geburtstagsparadoxon +- Wahrscheinlichkeit für Kollision steigt stark mit Anzahl an Inputs. +- 50%-Kollisionschance bei ca. √(2^n) = 2^(n/2) +### Angriffstypen +|Typ|Beschreibung| +|---|---| +|**Pre-Image**|Gegeben h(x), finde ein x| +|**Second Pre-Image**|Gegeben x, finde x′ ≠ x mit h(x) = h(x′)| +|**Collision**|Finde x, x′ ≠ x mit h(x) = h(x′)| +--- +## ❌ SICHERHEITSSCHWÄCHEN +### MD5 +- Viele Kollisionen gefunden (z. B. durch Dobbertin, Wang, Stach) +- Nicht mehr vertrauenswürdig +### SHA-1 +- Kollisionen mit 2^63 Berechnungen möglich (statt 2^80) +- Seit 2010 in den USA und vom BSI abgelehnt +--- +## 📌 MERKREGELN FÜR DIE KLAUSUR +- **Hash = Fingerabdruck**, nicht rückrechenbar +- **Kollision = 2 verschiedene Eingaben → gleicher Hash** +- **MDC = prüft Integrität**, **MAC = prüft Integrität + Authentizität** +- **SHA-2 & SHA-3 = derzeit sicher** +- **HMAC ≠ Signatur**, da symmetrisch! +--- +Wenn du willst, kann ich dir auch Lernkarten (Flashcards), ein Quiz oder eine Mindmap aus diesem Material erstellen. Sag einfach Bescheid! \ No newline at end of file diff --git a/Semester 6/ITSARCH/Skript_Notizen/IPSEC.md b/Semester 6/ITSARCH/Skript_Notizen/IPSEC.md new file mode 100644 index 0000000..c87bc20 --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/IPSEC.md @@ -0,0 +1,86 @@ +## 🔐 GRUNDLAGEN: IPsec (Internet Protocol Security) +- **IPsec** ist ein **protokollbasierter Sicherheitsstandard** für IPv4 & IPv6. +- Ziel: **Integrität, Authentizität, Vertraulichkeit & Replay-Schutz** auf IP-Ebene. +- Arbeitet **unterhalb der Transportschicht**, daher **transparent** für Anwendungen. +--- +## 📦 PROTOKOLL-FAMILIE +|Protokoll|Aufgabe| +|---|---| +|**AH** (Authentication Header)|Authentifizierung + Integrität| +|**ESP** (Encapsulating Security Payload)|Vertraulichkeit + optional Authentifizierung| +|**IKE** (Internet Key Exchange)|Schlüsselaustausch & SA-Verwaltung| +--- +## 🔐 SICHERHEITSFUNKTIONEN +- **Integrität**: mittels HMAC (z. B. SHA-1) +- **Authentizität**: Absenderverifikation (HMAC) +- **Vertraulichkeit**: symmetrische Verschlüsselung (AES etc.) +- **Anti-Replay (ARS)**: Sequenznummern + Fenster (z. B. 64 Pakete) +--- +## 🔁 ESP-MODI +|Modus|Einsatz|Was wird verschlüsselt| +|---|---|---| +|**Transport-Mode**|Host-to-Host|Nur Payload| +|**Tunnel-Mode**|Gateway-to-Gateway / Host-to-Gateway|gesamtes IP-Paket inkl. Header| +--- +## 🔍 AH vs. ESP +|Merkmal|AH|ESP| +|---|---|---| +|Authentifiziert IP-Header|✅|❌| +|Verschlüsselung|❌|✅ (optional)| +|Vertraulichkeit|❌|✅| +|NAT-Kompatibilität|❌|✅ (Tunnel-Modus)| +--- +## 🧠 SECURITY ASSOCIATION (SA) +- **SA** = IPsec-„Verbindung“ (einseitig) +- Definiert: + - Protokolle & Algorithmen (ESP/AH) + - Schlüssel, IVs, SPI (Security Parameter Index) + - Gültigkeit (zeitlich oder traffic-basiert) + +- Verwaltung: + - **SAD**: Security Association Database + - **SPD**: Security Policy Database (Policy-Entscheidung: BYPASS, PROTECT, DISCARD) + +--- +## 🧰 IKE – INTERNET KEY EXCHANGE +### Funktion +- Schlüsselmanagement + SA-Aushandlung +- Authentifizierung per: + - **Pre-Shared Key (PSK)** + - **Zertifikat (X.509)** + +### Aufbau +|Phase|Aufgabe|Protokolle| +|---|---|---| +|**Phase I**|Aufbau IKE-SA (sicherer Kanal)|ISAKMP, OAKLEY| +|**Phase II**|Aufbau IPsec-SA|schnelles Schlüsselaushandeln| +- Unterstützt **Main Mode**, **Aggressive Mode**, **Quick Mode** +- IKEv2: schneller, effizienter, sicherer (unterstützt EAP, MOBIKE, NAT-Traversal) +--- +## 🔐 AUTHENTIFIZIERUNG +### PSK +- HMAC über: + - PSK + - Nonces + - Diffie-Hellman-Werte + - Identitäten + +### Zertifikate +- Digitale Zertifikate (CA-signiert) +- Prüfung via Signatur & Public Key +--- +## 🌐 IPsec UND IPv6 +- AH/ESP sind **integraler Bestandteil** von IPv6 (Next Header 51 / 50) +- Erweiterbar durch **Extension Header** +- IPsec muss **explizit aktiviert & konfiguriert** werden +- **AH funktioniert nicht mit NAT**, **ESP im Tunnel-Modus** schon +--- +## ✅ KLAUSURRELEVANTE KERNAUSSAGEN +- IPsec ist unabhängig vom Transportprotokoll und arbeitet auf **Netzwerkschicht (OSI Layer 3)**. +- **ESP schützt Payload**, **AH schützt auch IP-Header (teilweise)**. +- **IKEv2** wird bevorzugt eingesetzt (schneller, mobiler, sicherer). +- **Anti-Replay-Schutz** ist standardmäßig aktiv (Sequenznummern + Fenster). +- SPD regelt, **ob IPsec angewendet wird**; SAD enthält die Parameter dazu. +- AH & ESP sind bei IPv6 **verpflichtend**, bei IPv4 **optional**. +--- +Möchtest du daraus ein **Quiz**, eine **Mindmap**, oder **Lernkarten** zur Wiederholung haben? Sag einfach Bescheid! \ No newline at end of file diff --git a/Semester 6/ITSARCH/Skript_Notizen/IPTables.md b/Semester 6/ITSARCH/Skript_Notizen/IPTables.md new file mode 100644 index 0000000..26841e1 --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/IPTables.md @@ -0,0 +1,106 @@ +## 🔥 GRUNDLAGEN: IPTABLES & NETFILTER +### Was ist iptables? +- Linux-Tool zur Konfiguration von **netfilter** (seit Kernel 2.4) +- Nachfolger von `ipchains`, `ipfadm` +- **Zentrale Aufgabe**: Regeln zur Filterung und Manipulation von IP-Paketen definieren +- Besteht aus: + - **Tabellen** (z. B. `filter`, `nat`, `mangle`) + - **Ketten** (z. B. `INPUT`, `OUTPUT`, `FORWARD`) + - **Regeln** + +--- +## 📊 TABELLEN & KETTEN +|Tabelle|Zweck|Enthält Ketten| +|---|---|---| +|`filter`|Paketfilterung (Standard)|`INPUT`, `OUTPUT`, `FORWARD`| +|`nat`|IP/Port-Umschreibung (SNAT/DNAT)|`PREROUTING`, `POSTROUTING`, `OUTPUT`| +|`mangle`|Modifikation von Header-Daten (QoS, TTL, etc.)|alle Ketten| +--- +## 🔄 KETTEN (CHAINS) +|Chain|Beschreibung| +|---|---| +|`INPUT`|Eingehende Pakete für lokalen Rechner| +|`OUTPUT`|Vom lokalen Rechner ausgehende Pakete| +|`FORWARD`|Weitergeleitete Pakete (Routerbetrieb)| +|`PREROUTING`|Vor Routingentscheidung (z. B. DNAT)| +|`POSTROUTING`|Nach Routingentscheidung (z. B. SNAT)| +- Ketten enthalten **Regeln**, die in Reihenfolge geprüft werden +- Jede Kette besitzt eine **Standardregel (Policy)** (z. B. `DROP`, `ACCEPT`) +--- +## 🧾 BEFEHLE (AUSZUG) +|Befehl|Beschreibung| +|---|---| +|`-F`|Alle Regeln in Kette löschen| +|`-X`|Benutzerdefinierte Kette löschen| +|`-P`|Policy (Standardverhalten) setzen| +|`-A`|Regel anhängen| +|`-I`|Regel an Position einfügen| +|`-D`|Regel löschen| +|`-L`|Regeln anzeigen| +|`-N`|Neue benutzerdefinierte Kette erstellen| +|`-Z`|Zähler zurücksetzen| +--- +## 🧠 WICHTIGE PARAMETER +|Parameter|Beschreibung|Beispiel| +|---|---|---| +|`-p`|Protokoll (`tcp`, `udp`, `icmp`)|`-p tcp`| +|`-s`|Quelladresse|`-s 192.168.0.0/24`| +|`-d`|Zieladresse|`-d 10.0.0.1`| +|`-i`|Eingangsinterface|`-i eth0`| +|`-o`|Ausgangsinterface|`-o ppp0`| +|`--dport`|Zielport|`--dport 22`| +|`-j`|Zielaktion (`ACCEPT`, `DROP`, `LOG`, `REJECT`, etc.)|`-j DROP`| +--- +## 🧪 BEISPIELE +```sh +iptables -A INPUT -p icmp -j DROP +# Blockiert alle Ping-Anfragen +``` +```sh +iptables -I INPUT 1 -p icmp -s 192.168.0.0/24 -j ACCEPT +# Erlaubt ICMP (Ping) aus lokalem Netz vor DROP-Regel +``` +```sh +iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE +# SNAT bei Verlassen des Rechners über ppp0 +``` +```sh +iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 +# Portweiterleitung für transparenten Proxy +``` +--- +## ⚙️ BENUTZERDEFINIERTE KETTEN +Beispiel: Logging + Blocken +```sh +iptables -N log-drop +iptables -A log-drop -j LOG -m limit --limit 6/minute +iptables -A log-drop -j DROP +iptables -A INPUT -p tcp --dport 22 -i ppp0 -j log-drop +``` +--- +## 🧰 KOMPLETTES FIREWALL-SKRIPT (MINIMALE VARIANTE) +```sh +#!/bin/sh +FW="/sbin/iptables" +# 1. Regeln & Ketten löschen +$FW -F +$FW -X +$FW -t nat -F +# 2. Standardregeln: alles erlauben +$FW -P INPUT ACCEPT +$FW -P FORWARD ACCEPT +$FW -P OUTPUT ACCEPT +# 3. Ping blockieren +$FW -A INPUT -p icmp -j DROP +``` +--- +## ✅ BEST PRACTICE +- **Besser**: „Blockiere alles, erlaube nur was nötig ist“ (Default: DROP) +- Verwende `--state ESTABLISHED, RELATED`, um gültige Verbindungen zu erlauben +- Speichere Regeln in Skripten (z. B. `/etc/network/firewall`) und rufe sie über `/etc/rc.local` auf +--- +Wenn du möchtest, kann ich dir daraus auch: +- eine **Befehlstabelle zum Auswendiglernen** +- ein **Mini-Quiz** +- oder eine **interaktive Übung** zur Regel-Erstellung erstellen. +Sag einfach Bescheid! \ No newline at end of file diff --git a/Semester 6/ITSARCH/Skript_Notizen/SSH.md b/Semester 6/ITSARCH/Skript_Notizen/SSH.md new file mode 100644 index 0000000..47f9dec --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/SSH.md @@ -0,0 +1,111 @@ +## 🔐 SSH – Secure Shell +### Definition & Zweck +- SSH ist ein **sicheres Protokoll für entfernte Verbindungen** zwischen Client & Server. +- Ersatz für unsichere Protokolle wie Telnet, FTP, R-Login, RSH, etc. +- Unterstützt: **Datenverschlüsselung, Authentifizierung, Integrität, Komprimierung** +- SSH agiert als **Tunnelsystem**, transportiert z. B. SMTP, POP, X11 sicher. +--- +## 🧱 ARCHITEKTUR +### SSH besteht aus 3 Schichten: +1. **Transportschicht-Protokoll**: + - Authentifiziert Server, sichert Vertraulichkeit & Integrität. + - Optional: Kompression. + +2. **User-Authentifizierungsprotokoll**: + - Authentifiziert Benutzer gegenüber dem Server. + +3. **Verbindungsprotokoll**: + - Multiplexing mehrerer Kanäle über eine SSH-Verbindung. + +--- +## 🔐 SICHERHEIT +- **Verschlüsselungsalgorithmen**: AES, DES, Blowfish, ArcFour, CAST128, Twofish +- **Key Exchange**: RSA-basierte, asymmetrische Schlüsselaustauschverfahren +- **Authentifizierung**: asymmetrisch (Public/Private Key) +- Keine Schlüssel werden dauerhaft gespeichert (nur temporär im Speicher) +--- +## 🗝️ AUTHENTIFIZIERUNG +### 1. **Host-bezogen** +- IP-basiert (unsicher) +- RSA-basiert: + - Public Key wird auf Server gespeichert + - Client beweist Besitz des Private Keys + +### 2. **User-bezogen** +- **RSA-Authentifizierung** mit Challenge-Response +- **Passwort** (verschlüsselt übertragen, aber weniger sicher) +- **RHost-RSA**: Mischung aus IP + RSA +--- +## 🔐 SCHLÜSSELPAARE +- Jeder Client/Host besitzt ein eigenes RSA/ECDSA-Schlüsselpaar +- Tools: `ssh-keygen`, PuTTYgen +- Private Key: bleibt geheim auf Client +- Public Key: wird auf Server (z. B. in `authorized_keys`) hinterlegt +--- +## 🔁 VERBINDUNGSAUFBAU (Ablauf) +1. **TCP-Verbindung** vom Client zum Server +2. **Protokoll- & Versionsaustausch** +3. **Umstieg auf binäres SSH-Protokoll** +4. Server sendet: + - Public Host Key (langfristig) + - Public Server Key (flüchtig, stündlich neu) + +5. Austausch der unterstützten Algorithmen +6. Client generiert 256-Bit **Sitzungsschlüssel** +7. Verschlüsselt diesen mit beiden Server-Keys → sendet verschlüsselt +8. Server entschlüsselt mit privaten Keys +9. Server schickt Quittung → verschlüsselte Verbindung aktiv +10. Client authentifiziert sich +11. Sitzung wird eingerichtet +--- +## 🧠 SCHLÜSSELMANAGEMENT +- **Private Schlüssel**: + - Nie weitergeben, mit Passphrase sichern + - Auth Agents wie `ssh-agent`, `Pageant` speichern Keys im Speicher + +- **Public Keys**: + - Nur vertrauenswürdige auf Server hinterlegen + +--- +## 🛡️ SICHERHEITSFEATURES & ABSICHERUNG +- **MiM-Angriffe** können durch Key-Verifikation verhindert werden +- **Passwort-Auth deaktivieren** (empfohlen): + - Konfigurierbar in `sshd_config`: `PasswordAuthentication no` + +- **2FA möglich** +- Analyse-Tool: `ssh-audit` zur Prüfung von Konfiguration und Sicherheit +--- +## 🔧 BEFEHLE (OpenSSH) +|Befehl|Beschreibung| +|---|---| +|`ssh`|Verbindung zum Server| +|`sshd`|SSH-Serverdienst| +|`ssh-agent`|Key-Agent| +|`ssh-add`|Keys zum Agent hinzufügen| +|`scp`|Dateiübertragung| +|`sftp`|sicherer FTP-Ersatz| +|`ssh-keygen`|Schlüsselpaar erzeugen| +|`ssh-keyscan`|Schlüssel von Hosts abrufen| +|`sftp-server`|Serverseitige SFTP-Komponente| +--- +## 📦 SSH-PROTOKOLLVARIANTEN +|Variante|Merkmale| +|---|---| +|**SSH1**|unsicher, veraltet| +|**SSH2**|neuer, sicherer (neu geschrieben, bessere Kryptografie)| +|**OpenSSH**|Open-Source, nutzt OpenSSL für Krypto, unterstützt SSH1 & SSH2| +--- +## ✅ KLAUSURRELEVANTE PUNKTE +- SSH ersetzt unsichere Protokolle → **verschlüsselt alles** +- Authentifizierung über **RSA/ECDSA Schlüsselpaar** +- Sitzungsschlüssel durch asymmetrische Verschlüsselung ausgetauscht → dann symmetrisch +- Tools wie `ssh-agent` & `ssh-add` erhöhen Sicherheit & Komfort +- **Passwortauthentifizierung deaktivieren** (wo möglich) +- **ssh-audit** zur Analyse verwenden +- SSH2/OpenSSH = **Standard**, SSH1 = **veraltet** +--- +Wenn du möchtest, kann ich dir daraus gerne: +- **Lernkarten (Flashcards)** +- eine **Mindmap** +- oder ein **Mini-Quiz** erstellen. +Sag einfach Bescheid! \ No newline at end of file diff --git a/Semester 6/ITSARCH/Skript_Notizen/TLS 4.5.md b/Semester 6/ITSARCH/Skript_Notizen/TLS 4.5.md new file mode 100644 index 0000000..25b8ee7 --- /dev/null +++ b/Semester 6/ITSARCH/Skript_Notizen/TLS 4.5.md @@ -0,0 +1,106 @@ +## 🔐 GRUNDLAGEN VON SSL / TLS +### Was ist SSL/TLS? +- SSL (Secure Socket Layer): ursprünglich von Netscape entwickelt. +- TLS (Transport Layer Security): Weiterentwicklung von SSL 3.0 durch IETF. +- Ziel: **Ende-zu-Ende sichere Kommunikation** über TCP/IP. +### Hauptfunktionen +- **Datenverschlüsselung** +- **Server-Authentifizierung** +- **Nachrichtenintegrität (MAC / HMAC)** +- **(Optional) Client-Authentifizierung** +--- +## 🧱 PROTOKOLLARCHITEKTUR +### SSL-Protokoll besteht aus: +- **Handshake Protocol**: Aushandlung der Sicherheitsparameter +- **Change Cipher Spec**: Aktivierung neuer Sicherheitsparameter +- **Alert Protocol**: Fehler- und Warnmeldungen +- **Record Protocol**: Verschlüsselung und MAC auf Anwendungsebene +### Protokollstapel: +SSL liegt zwischen TCP/IP und der Anwendungsschicht (z. B. HTTP, FTP). +--- +## 🔁 VERBINDUNGSAUFBAU (SSL Handshake) +### Ablauf +1. **Client → Server**: `Client_Hello` + - Protokollversion, Zufallswert, Session-ID, unterstützte Cipher Suites & Kompression + +2. **Server → Client**: `Server_Hello` + - Auswahl aus Vorschlägen + Server-Zertifikat (X.509) + - optional: `Certificate_Request` → Client-Zertifikat + - `Server_Hello_Done` + +3. **Client → Server**: + - Optional: `Certificate`, `Certificate_Verify` (Authentifizierung) + - `Client_Key_Exchange`: Pre-Master Secret (verschlüsselt mit Server-Public-Key) + - `Change_Cipher_Spec` + - `Finished`: verifizierbarer Hash + +4. **Server → Client**: + - `Change_Cipher_Spec` + - `Finished` + +### Wichtig: +- **Pre-Master Secret → Master Secret (384 Bit) → Key Block** +- **Schlüssel werden symmetrisch genutzt** +--- +## 🗝️ SCHLÜSSELERZEUGUNG +Aus dem **Master Secret** werden erzeugt: +- MAC-Schlüssel (Client/Server) +- Verschlüsselungsschlüssel +- Initialisierungsvektoren (IVs) +**Aufteilung (Key Block)**: +- `Client_Write_MAC_Secret` +- `Server_Write_MAC_Secret` +- `Client_Write_Key` +- `Server_Write_Key` +- `Client/Server_Write_IV` +--- +## 📄 ZUSAMMENHÄNGE: SESSION & VERBINDUNG +|Begriff|Beschreibung| +|---|---| +|**Session**|Kommunikationskanal, definiert durch Handshake| +|**Verbindung**|Instanz mit eigener Schlüsselverwendung| +- Mehrere Verbindungen können zu einer Session gehören. +- Session-ID dient zur Wiederaufnahme (Session Resumption). +--- +## 🧾 SSL RECORD LAYER +### Verarbeitungsschritte +1. Fragmentierung (max. 16 KB) +2. **Optionale Kompression** +3. **MAC-Berechnung** (z. B. mit SHA/MD5) +4. **Verschlüsselung** mit vereinbarten Algorithmen +5. Versand +### Empfängerseite: +- Umgekehrte Schritte (Decryption → MAC-Prüfung → Dekompression) +--- +## ⚙️ WICHTIGE PROTOKOLLDETAILS +- **Alert Protocol**: Meldet Fehler (z. B. Handshake Failure) +- **Cipher Suites** enthalten: + - Verschlüsselungsalgorithmus (z. B. AES, RC4, 3DES) + - MAC-Algorithmus (MD5, SHA-1) + - Schlüsselaustausch (z. B. RSA, Diffie-Hellman) +- **Wiederverwendbare Sitzungen** verbessern Performance: + - Session-ID beim `Client_Hello` senden + - Bei Erfolg: `Server_Hello` mit derselben Session-ID +--- +## 📦 PORTS FÜR SSL/TLS (laut IANA) +|Dienst|SSL-Port| +|---|---| +|HTTPS|443| +|SMTP|465| +|POP3|995| +|IMAP|993| +|NNTP|563| +|LDAP|636| +|FTP|990| +--- +## ✅ ZUSAMMENFASSUNG FÜR DIE KLAUSUR +- TLS = Weiterentwicklung von SSL +- Ziel: Verschlüsselung, Authentifizierung, Integrität +- SSL-Handshake: + - Aushandlung der Cipher Suites + - Authentifizierung via Zertifikaten (X.509) + - Session Keys für symmetrische Verschlüsselung +- SSL ist **applikationsunabhängig** +- **SSL Record Layer** = zentrale Schicht zur Absicherung der Nutzdaten +--- +Wenn du willst, kann ich dir daraus auch **Karteikarten**, ein **Quiz**, oder eine **grafische Übersicht** (z. B. Ablaufdiagramm) für den Handshake oder die Schlüsselableitung erstellen. Sag einfach Bescheid! \ No newline at end of file diff --git a/Semester 6/Veranstaltungsplan.md b/Semester 6/Veranstaltungsplan.md new file mode 100644 index 0000000..e69de29 diff --git a/conflict-files-obsidian-git.md b/conflict-files-obsidian-git.md new file mode 100644 index 0000000..d8bbd4f --- /dev/null +++ b/conflict-files-obsidian-git.md @@ -0,0 +1,17 @@ +# Conflicts +Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push` +(This file will automatically be deleted before commit) +[[#Additional Instructions]] available below file list + +- Not a file: .obsidian/workspace.json + +# Additional Instructions +I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text. + +```diff +<<<<<<< HEAD + File changes in local repository +======= + File changes in remote repository +>>>>>>> origin/main +``` \ No newline at end of file