HelloWorld – Es ist das wohl am häufigsten geschriebene Programm der Weltgeschichte – im Verhältnis dazu mit hoher Wahrscheinlichkeit aber auch das am wenigsten verstandene.
Am 2. Juli ab 19.30 Uhr geht es bei Back to Hack um das Zerpflücken eines simplen C-Programmes. Dieses Mal gibt es keinen Vortrag – stattdessen ist eine gemeinsam Erkundungsreise geplant.
Ausgangspunkt ist HelloWorld.c und das erklärte Ziel ist, die wesentlichen Zusammenhänge beim Kompilieren, Linken und Ausführen von Programmen zu verstehen. Je nach eingeschlagener Richtung können wir dabei folgende Themengebiete streifen:
- C
- GCC und Binutils
- (Inline-) Assembler
- C-Preprozessor
- Prozessor-Register
- Sektionen: .text, .data, .debug, etc.
- Speicherbereiche: Heap, Stack
- Dynamische Speicherverwaltung
- Linker & Linker-Skripte
- C Runtime
- Aufrufkonventionen
- Deklarationen und Definitionen
- Symbole (auch „undefined symbols“)
- Statische Bibliotheken
- Tools wie „nm“ und „objdump“
- Systemspezifische Dateiformate (EXE / ELF)
- … und was macht eigentlich „___security_init_cookie“ in meiner helloworld.exe?
Insbesondere für Embedded- bzw. Arduino-Interessierte (Arduino nutzt C/C ++ und den GCC), die nicht immer eine fertige IDE nutzen möchten, gibt es jede Menge relevante Informationen, da C nachwievor die Sprache der Wahl für hardwarenahe Programmierung ist.
Hilfreich sind auf dieser Reise Grundkenntnisse im Programmieren; für die aktive Teilnahme ist außerdem ein Rechner mit installiertem GCC/Binutils von Vorteil.
Back to Hack
„Back to Hack“ ist ein Themenabend mit Schwerpunkt auf Softwareentwicklung und Computersicherheit und findet jeden Dienstag ab 19:30 Uhr im Attraktor statt. Die Themen richten sich nach der Gruppe und werden vorab abgestimmt. Entweder es findet sich jemand, der sich auf das Thema vorbereitet hat. Andernfalls betreiben wir gemeinsam „Jugend forscht“. Aufgrund des „hands on“-Charakters werden grundlegende Betriebssystem- und Programmierkenntnisse vorausgesetzt.