Schutz und Sicherheit

Größe: px
Ab Seite anzeigen:

Download "Schutz und Sicherheit"

Transkript

1 Schutz und Sicherheit Teil 2 Prof. Dr. Margarita Esponda Freie Universität Berlin - WS 2011/2012 1

2 Sicherheit vs. Schutz - Schutzmechanismen beziehen sich auf die spezifischen Mechanismen und Methoden des Betriebssystems, die verwendet werden, um die Informationen im Rechner zu schützen und damit Sicherheit zu erzielen. - Sicherheit ist ein allgemeinerer Begriff, der die ganze Problematik umfasst. - Ein Sicherheitssystem muss das Umfeld des Systems in Betracht ziehen, um die Ressourcen schützen zu können. 2

3 Sicherheitssysteme Um ein System sicher zu machen, müssen Sicherheitsmassnahmen auf 4 verschiedenen Ebenen stattfinden. - physikalisch - menschlich - Betriebssystem - Netzwerk "Security is as weak as the weakest chain" 3

4 Sicherheitsanforderungen Vertraulichkeit der Daten - Lesezugriff - Information über die Existenz der Daten Datenintegrität - Schreiben, Ändern, Löschen oder Erstellen von Objekten Systemverfügbarkeit - Betriebsmittel des Systems Authentizität - Die Identität eines Benutzers feststellen Sicherheit muss in erster Linie vom Betriebssystem gewährleistet werden 4

5 Sicherheitsverletzungen Kategorien Verstoß gegen die Vertraulichkeit Verstoß gegen die Datenintegrität Verstoß gegen die Verfügbarkeit von Information Diebstahl von Diensten Störung der Funktionalität, Dienste arbeitsunfähig zu machen 5

6 Das Sicherheitsproblem - Insider-Angriffe Hintertüren Logische Bomben - Angriffe von außen Angriffe Ausnutzung von Programmfehlern Brechen von Sicherheitssystemen absichtlich unbeabsichtigt oder zufällig 6

7 Standard-Sicherheitsangriffe Normaler Fluss Unterbrechung Mithören Veränderung Erzeugung 7

8 Malware-Programme Malware benötigt ein Host- Programm unabhängig Hintertüren Logische Bomben Trojanische Pferde Viren Wurm Zombie Taxonomie von Malware-Programmen nach W. Stallings 8

9 Anzahl der Malware-Signaturen Symantec Report Im Jahr 2011 mehr als 10 Millionen Malware-Signaturen 9

10 Logische Bombe Insider-Angriffe eingebetteter Programmcode, der nur unter bestimmten Bedingungen ausgeführt wird. ist oft von Programmierern benutzt worden, um Arbeitgeber zu erpressen. Beispiel: In einem bekannten Fall (in Spafford et all beschrieben) suchte eine logische Bombe nach dem ID eines bestimmten Angestellten, und wenn die ID zwei Mal hintereinander nicht in der Lohnabrechnung erschien, löste sie sich aus. 10

11 Logische Bombe Donald Gene Burleson, Programmierer an der Firma USPA & IRA, Ft. Worth, Texas wurde am entlassen am um 3 Uhr wurden Datensätze aus der Datenbank des Unternehmens gelöscht Das Programm wurde bei Wiederherstellung der gelöschten Datensätze gefunden Vor Gericht: Benson, who spent four days testifying about how he uncovered the scheme, said the destructive programs were created Sept. 2 and Sept. 3, 1985, on Burlesonʼs computer terminal by someone using Burlesonʼs computer password. Quelle: 11

12 Hintertüren Insider-Angriffe Eintrittsstelle eines Programms ohne die üblichen Sicherheitsprüfungen. Jahrelang "legal" verwendet von Entwicklern während der Testphasen von Programmen. Oft von Firmen benutzt, um Wartungsaufgaben durchführen zu können. Leider in der Vergangenheit oft von skrupellosen Programmierern missbraucht worden. Schwer vom Betriebssystem aus zu kontrollieren. Sicherheitsmaßnahmen müssen sich auf Software-Entwicklungsebene konzentrieren. 12

13 Beispiel: Insider-Angriffe Login-Code mit Hintertür aus Tanenbaum: Modern Operating Systems, 2001, S. 610 while (TRUE) { printf( "login: " ); get_string( name ); disable_echoing(); printf( "password: " ); get_string( password ); enable_echoing(); v = check_validity( name, password ); if (v strcmp( name, "zzzzz" ) == 0) break; } execute_shell( name ); } 13

14 Hintertüren 1983 Ken Thompson. "Reflections on Trusting Trust" (Turing Award lecture to the ACM) Hintertür in früheren UNIX-Versionen Der C-Compiler hat jedes Mal beim Übersetzen des login-programms ein Programmteil eingeführt, das ein Passwort, vom Thomson gewählt, erkannt hat. Der Compiler erkannte auch seine eigene Übersetzung und fügte jedes Mal in den neuen übersetzten Compiler den Teil des C-Compilers ein, der das Übersetzen des login-programms erkannte. Diese Hintertür blieb eine Weile aktiv und war nirgendwo im Quellprogramm sichtbar. 14

15 Hintertür Juni 2003 unbekannter Entwickler modifizierte (unautorisiert) die Linux-Kernel- Quellen die modifizierte Programmzeilen gehörten zur sys_wait4()-funktion oder wait4() Systemaufruf current->uid = 0 anstatt current->uid == 0 wenn jemand die wait4()-funktion mit der gesetzten Optionen WCLONE und WALL benutzte (illegale Kombination), bekam der aufrufende Prozess root-privilegien die zwei manipulierten Programmzeilen wurden entdeckt (casual checking) 15

16 Trojanische Pferde Angriffe von Außen - Meistens holen sich naive Benutzer den Angriff selber, indem sie Software aus unsicheren Quellen im eigenen Rechner installieren. - Ein Trojanisches Pferd ist ein scheinbar nützliches Programm, das einen verborgenen Programmcode enthält, der bei Aktivierung schädigende Funktionen ausführt. Beispiele: Spyware, Pop-Up-Fenster, Verdeckte Kanäle, usw. 16

17 NetBus in Delphi geschrieben - von Carl-Fredrik Neikter - nur für Pranks entwickelt - Client- und Server-Anteil - als Fernwartung-Programm verwendet - oft als Trojaner verwendet 17

18 Trojanische Pferde - Im Jahr 2006 waren mehr als 55 Prozent der vom Informationsverbund des Bundes registrierten Malware-Programme Trojanische Pferde. - Moderne Trojaner sind von Virenscannern nur noch schwer erkennbar. 9% 1% 3% Trojan 13% Worm Other Adware Spyware 74% Information aus Panda Q1 Report

19 Das Ausnutzen von Programmierfehlern Pufferüberlauf - Pufferüberlauf (buffer overflow) ist einer der meist ausgenutzten Programmierfehler. - Entstehung des Problems C-Compiler führen keine Überprüfung der Indexgrenzen eines Arrays durch. C-Programmierer kontrollieren die Indexgrenzen auch nicht. Folgendes C-Programm wird problemlos übersetzt. int main(){ char c[10]; c[1010] = 10; return 0; } Ein Byte, das 1000 Positionen vom ursprünglichen Array entfernt ist, wird überschrieben 19

20 Virtueller Adressraum Pufferüberlauf Lokale Variablen in Hauptprogramm Ausführung- Stapel Lokale Variablen in Hauptprogramm Lokale Variablen in Hauptprogramm Rücksprung-Adresse Rücksprung-Adresse Lokale Variablen von Funktion A Lokale Variablen von Funktion A x x Puffer X in A Programm Programm Programm Nachdem Funktion A aufgerufen wird Die Rücksprung-Adresse wird überschrieben 20

21 Pufferüberlauf #include <stdio.h> #define BUFFER SIZE 256 int main(int argc, char *argv[]) { char buffer[buffer SIZE]; if (argc < 2) return -1; else { strcpy(buffer,argv[1]); } return 0; } Hier kann als Argument ein String beliebiger Länge eingegeben werden. 21

22 Pufferüberlauf #include <stdio.h> int main( int argc, char *argv[]){ execvp("\bin\sh","\bin\sh",null); return 0; } Dieses Programm in übersetzter Form kann in dem Buffer gespeichert werden. Der Rest des Buffers kann bis einer Position vor der Rückgabeadresse mit NOPs ausgefüllt werden. Die Rückgabeadresse wird mit der Anfangsadresse des Buffers (Buffer[0]) überschrieben. Wenn die Funktion, wo der Buffer ist, beendet wird, geht die Ausführung in dem Programm weiter, das gerade in dem Buffer gespeichert worden ist. 22

23 Pufferüberlauf Rücksprung-Adresse Frame-Zeiger buffer[buffer_size-1]. buffer[1] buffer[0] - Rücksprung-Adresse des modifizierten Shell-Programms. NO_OPs Modifiziertes Shell-Programms Nachdem das ausführbare Programm kopiert worden ist. 23

24 Gegenmaßnahme #include <stdio.h> #define BUFFER_SIZE 256 int main(int argc, char *argv[]) { char buffer[buffer_size]; if (argc < 2) return -1; else { - Hier wird die Länge begrenzt strncpy( buffer, argv[1], sizeof(buffer)-1); } return 0; } 24

25 Gegenmaßnahme void input_line() { char line[10]; if ( gets(line) )... } - unsicher - sicherer void safe_input_line() { char line[10]; if ( fgets(line, sizeof line, stdin) )... } - fgets kontrolliert die Eingabelänge 25

26 Gegenmaßnahme Unterstützung durch den Compiler Lokale Variablen in Hauptprogramm Rücksprung-Adresse Zufallszahl-Barriere... buffer[2] buffer[1] buffer[0] - Neue GNU-Compiler bieten Übersetzungs-Optionen, um Überprüfungen zu aktivieren. - Eine Zahl vor der Rücksprung- Adresse wird vom Compiler erzeugt und als Überprüfungszahl verwendet. Canary- Zahl Programm 26

27 Gegenmaßnahme Unterstützung durch den Compiler Eine Sicherheitskopie der Rücksprung-Adresse wird erzeugt Lokale Variablen in Hauptprogramm Rücksprung-Adresse... buffer[2] buffer[1] buffer[0] Rücksprung-Adresse Sicherheitskopie Programm 27

28 Das Ausnutzen von Programmierfehlern Formatstring-Angriffe - Das Problem entsteht durch die Verwendung ungefilterter Benutzereingaben in C-Funktionen wie printf() - Eine ungefilterte Eingabe, die zuerst in buffer gespeichert ist, wird wie folgt ausgegeben: printf( buffer ); die Variable buffer wird als String mit Formatangabe interpretiert Besser wäre: printf("%s", buffer); die Variable buffer wird als einfache Zeichenkette ausgegeben 28

29 #include <stdio.h> #include <string.h> Formatstring-Angriffe int main(){ int i = 0; char line[20], greetings[20] = "Hello "; gets(line); strcat(greetings,line); printf(greetings, &i); printf("i=%d\n",i); return 0; } Eingabe: Peter %n Ausgabe: Hallo Peter i=12 Anzahl der Zeichen, die bis zu dieser Stelle ausgegeben wurden 29

30 Zufallsgestaltung des Adressraum-Aufbaus Address Space Layout Randomization ASLR - ASLR vergibt den Programmen zufällige Adressbereiche - das System ist nicht mehr deterministisch - Pufferüberlauf-Angriffe werden damit erschwert - zuerst in Open BSD - später im Windows Vista und Mac OS

31 Gegenmaßnahme Compiler und Compiler-Erweiterungen GNU-Compiler Erweiterungen: Der Stack Smashing Protector von IBM ehemals als ProPolice bekannt Der Stack Guard entwickelt an der Oregon Health and Science University und bei der Linux-Distribution Immunix Microsoft Visual Studio Option /GS ab GCC 4.1 GCC fstack-protector filename.c 31

32 Gegenmaßnahme mit Hardware-Unterstützung Die NX-Bit Abkürzung von No execute-bit ist eine einfache Hardware-Unterstützung zur Verbesserung der Sicherheit eines Computers. Zuerst von AMD mit dem Prozessor Athlon 64 x86-markt eingeführt mit dem Namen Enhanced Virus Protection (EVP) Intel verwendet in seinen neuesten Prozessoren die gleiche Technik mit der Bezeichnung XD-Bit (Execute Disable). Andere Firmen verwenden ähnliche Techniken. Mit dem NX-Bit können Speichersegmente mit Daten von Speichersegmenten mit Programmcode unterschieden werden. Dieser Schutz funktioniert allerdings nur mit Betriebssystemen, die die Unterstützung des NX-Bit ausnutzen. - ab Hier! 32

7.11.2006. int ConcatBuffers(char *buf1, char *buf2, size_t len1, size_t len2) {

7.11.2006. int ConcatBuffers(char *buf1, char *buf2, size_t len1, size_t len2) { Universität Mannheim Lehrstuhl für Praktische Informatik 1 Prof. Dr. Felix C. Freiling Dipl.-Inform. Martin Mink Dipl.-Inform. Thorsten Holz Vorlesung Angewandte IT-Sicherheit Herbstsemester 2006 Übung

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Sicherheit in Software

Sicherheit in Software Sicherheit in Software Fabian Cordt und Friedrich Eder 3. Juni 2011 Allgemeines Begriffserklärung Woher Die 19 Todsünden 1 - Teil 2 - Teil 3 - Teil Was kann passieren Probleme beim Porgramm Durch Lücken

Mehr

Buffer Overflow 1c) Angriffsstring: TTTTTTTTTTTTTTTT (16x) Beachte: Padding GCC-Compiler Zusatz: gcc O2 verhindert hier den Angriff (Code Optimierung)

Buffer Overflow 1c) Angriffsstring: TTTTTTTTTTTTTTTT (16x) Beachte: Padding GCC-Compiler Zusatz: gcc O2 verhindert hier den Angriff (Code Optimierung) Buffer Overflow 1c) 1 char passok='f'; 2 char password[8]; 3 printf( Passwort: ); 4 gets(password); 5 if(!strcmp(password, daspassw )){passok = 'T';} 6 if(passok=='t'){printf( %s, Willkommen! );} 7 else

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Matthias Hanreich - TheGreyKnight

Matthias Hanreich - TheGreyKnight Matthias Hanreich - TheGreyKnight Grundlagen Code Injection Beispiel: Buffer Overflow Gegenmaßnahmen Code Injection Return Oriented Programming (ROP) Gegenmaßnahmen ROP Demonstration CVE-2012-4969 Hands

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012 Übung zu Grundlagen der Betriebssysteme 3. Übung 30.10.2012 Aufgabe 1 Schließen Sie sich über die URL http://userpages.uni-koblenz.de/~mips/bs/anmeldung/ Bearbeitungsgruppen bestehend aus 3 Teilnehmern

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Dynamische Web-Anwendung

Dynamische Web-Anwendung Dynamische Web-Anwendung Christiane Lacmago Seminar Betriebssysteme und Sicherheit Universität Dortmund WS 02/03 Gliederung Einleitung Definition und Erläuterung Probleme der Sicherheit Ziele des Computersysteme

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Address Space Layout Randomization Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 19. Januar 2011 c (Lehrstuhl Informatik 1 + 4) Übungen

Mehr

MALWARE AM BEISPIEL VON STUXNET

MALWARE AM BEISPIEL VON STUXNET MALWARE AM BEISPIEL VON STUXNET IAV10/12 24.05.2011 Jan Heimbrodt Inhalt 1. Definition Was ist Malware? 2. Kategorisierung von Malware Viren, Würmer, Trojaner, 3. Was macht Systeme unsicher? Angriffsziele,

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

Angewandte IT-Sicherheit

Angewandte IT-Sicherheit Angewandte IT-Sicherheit Johannes Stüttgen Lehrstuhl für praktische Informatik I 30.11.2010 Lehrstuhl für praktische Informatik I Angewandte IT-Sicherheit 1 / 28 Aufgabe 1 Betrachten sie folgendes Programm:

Mehr

PS Kryptographie und IT-Sicherheit. Thema: Software-Sicherheit. Thomas Loch, Michael Streif 2012

PS Kryptographie und IT-Sicherheit. Thema: Software-Sicherheit. Thomas Loch, Michael Streif 2012 PS Kryptographie und IT-Sicherheit Thema: Software-Sicherheit Thomas Loch, Michael Streif 2012 Malicious / Invalid Input Exploits nutzen Nebeneffekte von ungültigen Benutzereingaben aus, die vom Programmierer

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Sichere Programmierung in C 296

Sichere Programmierung in C 296 Sichere Programmierung in C 296 Systemnahe Software ist in vielen Fällen in Besitz von Privilegien und gleichzeitig im Kontakt mit potentiell gefährlichen Nutzern, denen diese Privilegien nicht zustehen.

Mehr

Computerviren, Würmer, Trojaner

Computerviren, Würmer, Trojaner Computerviren, Würmer, Trojaner Computerviren, Würmer und Trojaner zählen zur Familie unerwünschter bzw. schädlicher Programme, der so genannten Malware. Diese Programme können sich selbst verbreiten und

Mehr

Hausarbeit. Thema: Computersicherheit. Friedrich-Schiller-Universität Jena Informatik B.Sc. Wintersemester 2009 / 2010

Hausarbeit. Thema: Computersicherheit. Friedrich-Schiller-Universität Jena Informatik B.Sc. Wintersemester 2009 / 2010 1 Friedrich-Schiller-Universität Jena Informatik B.Sc. Wintersemester 2009 / 2010 Hausarbeit Thema: Computersicherheit Seminar: Datenschutz und Datenpannen Verfasser: Dmitrij Miller Abgabetermin: 5.3.2010

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 10 Sicheres Programmieren Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Literatur Klein, Buffer Overflows und Format-String-Schwachstellen.

Mehr

Computergrundlagen Programmieren in C

Computergrundlagen Programmieren in C Computergrundlagen Programmieren in C Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2013/14 Die Sprache C D. M. Ritchie, 1941 2011 Entwickelt 1971-1973 aktueller Standard:

Mehr

Absicherung von Linux- Rechnern mit grsecurity

Absicherung von Linux- Rechnern mit grsecurity Absicherung von Linux- Rechnern mit grsecurity Brandenburger Linux Infotag, 23. April 2005 Wilhelm Dolle, Director Information Technology interactive Systems GmbH 1 Agenda Grundlagen und Historie von grsecurity

Mehr

IT-Sicherheit IAIK 1

IT-Sicherheit IAIK 1 IT-Sicherheit IAIK 1 Motivation Rechner enthalten Informationen Informationen haben Wert Manche Firmen: gesamter Wert in elektronischer Form Aufgabe von Betriebssystemen: Information vor unautorisierter

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 10 Sicheres Programmieren Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Literatur Klein, Buffer Overflows und Format-String-Schwachstellen.

Mehr

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

C Überlebenstraining

C Überlebenstraining C Überlebenstraining Dies ist nur ein Schnellkurs in C, der genug Einstiegswissen vermitteln soll, daß weiterführende Literatur schnell benutzt werden kann. Dies ist kein vollständiger Programmier oder

Mehr

Kapitel 3. Mein erstes C-Programm

Kapitel 3. Mein erstes C-Programm Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL

Mehr

Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P)

Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Zum Selbststudium Foliensatz 0 Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Dr. Thomas Schaaf,

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Systemsicherheit (SS 2015) 30. April 2015. Übungsblatt 2. Buffer-Overflow-Angriffe

Systemsicherheit (SS 2015) 30. April 2015. Übungsblatt 2. Buffer-Overflow-Angriffe Peter Amthor, Winfried E. Kühnhauser [email] Department of Computer Science and Automation Distributed Systems and Operating Systems Group Ilmenau University of Technology Systemsicherheit (SS 2015) 30.

Mehr

Grundlagen von C. Ausarbeitung von Jonas Gresens

Grundlagen von C. Ausarbeitung von Jonas Gresens Grundlagen von C Ausarbeitung von Jonas Gresens 1 Allgemein Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und

Mehr

Übung zu Grundlagen der Betriebssysteme. Einführungsveranstaltung 16.10.2012

Übung zu Grundlagen der Betriebssysteme. Einführungsveranstaltung 16.10.2012 Übung zu Grundlagen der Betriebssysteme Einführungsveranstaltung 16.10.2012 Termine Übungen wöchentlich, Dienstags 14 Uhr (c.t.), Raum E312 15 Uhr (s.t.), Raum E312 Jede Woche 1 Übungsblatt http://userpages.uni-koblenz.de/~mips/bs/uebung/

Mehr

Native Zeichenketten (C-Strings)

Native Zeichenketten (C-Strings) Native Zeichenketten (C-Strings)... sind in C/C++ char-arrays. D.h. die Deklaration char msg[80]; kann Zeichenketten bis zur Länge 79 enthalten. (Direkte Zuweisungen wie msg="hallo!" sind jedoch nicht

Mehr

Sichere Programmierung in C

Sichere Programmierung in C Sichere Programmierung in C Systemnahe Software ist in vielen Fällen in Besitz von Privilegien und gleichzeitig im Kontakt mit potentiell gefährlichen Nutzern, denen diese Privilegien nicht zustehen. Daher

Mehr

Personal Firewall (PFW) und Virenscanner. Präsentation von Gunawati A.-Tillmann, Miguel Lopez und Andreas Angelkorte

Personal Firewall (PFW) und Virenscanner. Präsentation von Gunawati A.-Tillmann, Miguel Lopez und Andreas Angelkorte Personal Firewall (PFW) und Virenscanner Präsentation von Gunawati A.-Tillmann, Miguel Lopez und Andreas Angelkorte Gliederung Personal Firewall Virenscanner 1. Zweck einer Firewall 2. Funktionsweise einer

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven MPI-Programmierung unter Windows mit MPIH2 Installieren von MPIH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 02/2007 luster-installationsworkshop

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

Praktikum Ingenieurinformatik. Termin 1. Textdateien (ASCII, Unicode) Mein erstes C-Programm

Praktikum Ingenieurinformatik. Termin 1. Textdateien (ASCII, Unicode) Mein erstes C-Programm Praktikum Ingenieurinformatik Termin 1 Textdateien (ASCII, Unicode) Mein erstes C-Programm 1 1. EDV-Labor 2. Text-Editor (ASCII-Editor) 3. Mein erstes C-Programm 4. Installation Eclipse CDT 2 1.1. EDV-Labor

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung Aufzählungen, Zeichenketten Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Aufzählungen enumerations,

Mehr

Persona-SVS e-sync GUI/Client Installation

Persona-SVS e-sync GUI/Client Installation Persona-SVS e-sync GUI/Client Installation 2014 by Fraas Software Engineering GmbH (FSE). Alle Rechte vorbehalten. Fraas Software Engineering GmbH Sauerlacher Straße 26 82515 Wolfratshausen Germany http://www.fraas.de

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Rechnerorganisation Tutorium Nr. 1

Rechnerorganisation Tutorium Nr. 1 Rechnerorganisation Tutorium Nr. 1 Tutorium 3 Nicholas Kjär - uadnm@student.kit.edu 20. April 2015 INSTITUT FÜR INFORMATIK KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

LaFonera Erweiterung - Erstinstallation -

LaFonera Erweiterung - Erstinstallation - LaFonera Erweiterung - Erstinstallation - Inhaltsverzeichnis Benötigte Software SSH-Client z.b. Putty SFTP-Client z.b. WinSCP Vorraussetzungen Firmwareversion SSH Zugriff WinSCP3 Zugriff Installation der

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

GCC 3.x Stack Layout. Auswirkungen auf Stack-basierte Exploit-Techniken. Tobias Klein, 2003 tk@trapkit.de Version 1.0

GCC 3.x Stack Layout. Auswirkungen auf Stack-basierte Exploit-Techniken. Tobias Klein, 2003 tk@trapkit.de Version 1.0 1 GCC 3.x Stack Layout Auswirkungen auf Stack-basierte Exploit-Techniken Tobias Klein, 2003 tk@trapkit.de Version 1.0 2 Abstract Eine spezielle Eigenschaft des GNU C Compilers (GCC) der Version 3.x wirkt

Mehr

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Übersicht Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Integer Overflows Format-String-Angriffe (SQL) Injection Cross Site Scripting

Mehr

Praktikum Ingenieurinformatik. Termin 2. Mein erstes C-Programm

Praktikum Ingenieurinformatik. Termin 2. Mein erstes C-Programm Praktikum Ingenieurinformatik Termin 2 Mein erstes C-Programm 1 1. Einleitung 2. Erstes C-Programm 3. Fehler ins Programm einbauen 4. Zweites und drittes C-Programm 5. Installation der Visual C++ 2010

Mehr

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac A Desktop Security Installationshilfe Symantec Endpoint Protection. für Windows/Mac Inhalt. Systemvoraussetzung & Vorbereitung S. Download der Client Software (Windows) S. 4 Installation am Computer (Windows)

Mehr

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier Sicherheit von Smartphone-Betriebssystemen im Vergleich Andreas Jansche Gerhard Klostermeier 1 / 24 Inhalt ios Sicherheitsmechanismen allgemein Sicherheits-APIs weitere Features Probleme Android Architektur

Mehr

Lösungsvorschlag zur 9. Übung

Lösungsvorschlag zur 9. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 9. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der folgenden Aussagen über

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans... Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau

Mehr

Softwareentwicklung 2 (ILV) Übung 1

Softwareentwicklung 2 (ILV) Übung 1 Fragen: Softwareentwicklung 2 (ILV) Übung 1 1.) Was ist Git? (siehe http://de.wikipedia.org/wiki/git ) git clone https://its-git.fh-salzburg.ac.at/eforsthofer.lba/swe2.git 2.) Was sind Zeiger und wie wird

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Übersicht In den ersten Wochen: Einführung in objektorientierte Programmierung mit C++ Anschließend: Einführung in die programmierbare

Mehr

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*

Mehr

Exploits & Rootkits. Betriebssystemdienste & -administration Seminar. Betriebssysteme und Middleware. Sebastian.Roschke@hpi.uni-potsdam.

Exploits & Rootkits. Betriebssystemdienste & -administration Seminar. Betriebssysteme und Middleware. Sebastian.Roschke@hpi.uni-potsdam. Exploits & Rootkits Betriebssystemdienste & -administration Seminar Betriebssysteme und Middleware Sebastian.Roschke@hpi.uni-potsdam.de Steffen.Ryll@hpi.uni-potsdam.de Steffen Ryll & Sebastian Roschke

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Lösung Übungszettel 6

Lösung Übungszettel 6 Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include

Mehr

12.5 Sicherer Programmcode

12.5 Sicherer Programmcode 12.5 Sicherer Programmcode Typische Beispiele für unsicheren Code: Pufferüberlauf ungeschützte kritische Abschnitte (im Englischen: software vulnerabilities) SS-12 1 12.5.1 Pufferüberlauf ausschließen!

Mehr

Aktuelle Themen der Informatik Daniel Renoth CN 8

Aktuelle Themen der Informatik Daniel Renoth CN 8 HFU Furtwangen Aktuelle Themen der Informatik Daniel Renoth CN 8 Agenda 1. Definition Rootkit? 2. Historie 3. Szenario 4. Funktionalität 5. Arten von Rootkits HFU Furtwangen - Aktuelle Themen der Informatik

Mehr

Schleifenprogrammierung in C/C++, Fortran und Pascal

Schleifenprogrammierung in C/C++, Fortran und Pascal Schleifenprogrammierung in C/C++, Fortran und Pascal Stefan Ackermann Mathematisches Institut der Universität Leipzig 8. April 2009 1 Die kopfgesteuerte Schleife Bei der kopfgesteuerten Schleife steht

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr

Einführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian

Einführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian Einführung in die Programmierung Arvid Terzibaschian 1 Arrays 2 Arrays: Motivation Gegeben: monatliche Durchschnittstemperaturen der letzten 5 Jahre Gesucht: Mittelwerte für Jahre, Monate, Jahreszeiten,

Mehr

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Organisatorisches Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Wenn Sie kommen...... kommen Sie pünktlich

Mehr

Dienstspezifikation nach RFC 2396 193

Dienstspezifikation nach RFC 2396 193 Dienstspezifikation nach RFC 2396 193 Für die Kombination aus Rechnernamen (oder alternativ einer IP-Adresse) und einer Portnummer gibt es mit RFC 2396 einen Standard: hostport host [ : port ] host hostname

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

Medienkompetenz, Grafik und DTP

Medienkompetenz, Grafik und DTP VO 340381 Informationsdesign; Medienkompetenz, Grafik und DTP Zentrum für Translationswissenschaft Letztes Mal sprachen wir über: Computer Aufbau Software Was ist Software? Software Soft im Sinne von weich/veränderbar

Mehr

1A05 64-bit Adressierung unter Alpha OpenVMS

1A05 64-bit Adressierung unter Alpha OpenVMS 1A05 64-bit Adressierung unter Alpha OpenVMS Mit Compaq C und Compaq C++ www.swg-gmbh.de IT-Symposium 20.04.2004, 1A05 Seite 1 64 Bit Adressierung Raymund Grägel SWG GmbH, Sandhausen OpenVMS seit 1980,

Mehr

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken Im Folgenden finden Sie jeweils die korrekte Antwort zu den im Buch abgedruckten Prüfungsfragen, soweit die Antworten in Textform

Mehr

Kompaktkurs C-Programmierung

Kompaktkurs C-Programmierung Kompaktkurs C-Programmierung 26. 03. 2007 Franz Schenk Organisatorisches Vorlesung Accountvergabe Skriptverkauf Übungen: zwei Blöcke (13:15-14:45 / 14:45-16:15) Gruppenübung Rechnerübung Klausur Ferien:

Mehr

Lange Nacht der Wissenschaften 2007. Gefahr aus dem Internet Wie kann ich mein Windows System schützen?

Lange Nacht der Wissenschaften 2007. Gefahr aus dem Internet Wie kann ich mein Windows System schützen? Lange Nacht der Wissenschaften 2007 Gefahr aus dem Internet Wie kann ich mein Windows System schützen? Manuel Selling Humboldt Universität zu Berlin ZE Computer und Medienservice Abt. Systemsoftware und

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff Programmieren in C Die C-Standardbibliothek Prof. Dr. Nikolaus Wulff Die C-Standard Bibliothek Mit dem C Compiler werden viel fertige Bibliotheksfunktionen ausgeliefert. Eine genaue Kenntnis dieser Funktionen

Mehr

Security-Webinar. Februar 2015. Dr. Christopher Kunz, filoo GmbH

Security-Webinar. Februar 2015. Dr. Christopher Kunz, filoo GmbH Security-Webinar Februar 2015 Dr. Christopher Kunz, filoo GmbH Ihr Referent _ Dr. Christopher Kunz _ CEO Hos4ng filoo GmbH / TK AG _ Promo4on IT Security _ X.509 / SSL _ Vorträge auf Konferenzen _ OSDC

Mehr

Rechnerarchitekturen und Betriebssysteme (CS201): Sicherheit: ACM und Passworte, OS-Timeline

Rechnerarchitekturen und Betriebssysteme (CS201): Sicherheit: ACM und Passworte, OS-Timeline Rechnerarchitekturen und Betriebssysteme (CS201): Sicherheit: ACM und Passworte, OS-Timeline 12. Dezember 2014 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung

Mehr

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert

Mehr

Praktikum Ingenieurinformatik. Termin 1. Textdateien (ASCII, Unicode) Mein erstes C-Programm

Praktikum Ingenieurinformatik. Termin 1. Textdateien (ASCII, Unicode) Mein erstes C-Programm Praktikum Ingenieurinformatik Termin 1 Textdateien (ASCII, Unicode) Mein erstes C-Programm 1 1. Aufbau des EDV-Labors 2. Text-Editor (ASCII-Editor) 3. Mein erstes C-Programm 4. Installation von Visual

Mehr