Compiling C

Die ersten Compiler stammen aus den 1950er Jahren und haben sich, wie die Informatik, stark weiter entwickelt. Im Alltag werden Compiler wie eine Blackbox gesehen, die aus Programmcode Binärcode erzeugt. In den letzten 65 Jahre Entwicklung haben sich verschiedene Eigenheiten und Feinheiten in Compilern ergeben, die zu Problemen führen können. In diesem Talk werden wir die Blackbox öffnen und uns die Compiler GCC und clang genauer ansehen.

Um diese Blackbox etwas besser zu verstehen, werden wir uns zuerst ansehen, wie ein Compiler grob funktioniert und aufgebaut ist. Außerdem werden wir einige Open-Source C-Compiler gemeinsam vergleichen und über ihre Vor- und Nachteile sprechen. Nach einer Pause werden wir uns überblicksmäßig und anhand von Beispielen ansehen, wie optimierende Compiler funktionieren und warum ihre Algorithmen nicht immer korrekt funktionieren. Dies wird anhand des LLVM Optimizers erklärt werden, bei dem wir auch genauer auf einige Sanitizer und undefiniertes Verhalten eingehen werden.


The first compilers were built in 1950 and have been developed ever since, similarily to the rest of computing. Mostly, they are viewed as blackboxes, which transform code into binaries. During the last 65 years, several subtleties and some quirks occured, which lead to the modern compilers we know. During the talk, we will look at some of the black boxes, namely GCC and clang.

First, we will look at the structure of a compiler. Then, we will compare some compilers and discuss the advantages and disadvantages of their approaches. After a break we are going to analyze some examples of optimizing compilers and find out why they are not always working flawlessly, as well as the workarounds and current research. Most of this part will revolve around the LLVM Optimizer, as well as some sanitizers found in LLVM and GCC.

Was: Compiling C
Wann: 12. April 2018, 19:00
Wo: HS4, FH2
Wer: Lena Heimberger

Updates, Slides und den ganzen Rest gibts unter http://fhLUG.at.


Die Slides zum Vortrag sind nun als PDF online.

Dynamic instrumentation with Frida and friends

Binaries are rigid black boxes, quite secretive about their internal implementation and stubborn if you attempt to change them, but there is a way to modify their runtime behavior long after they have been compiled via the magic of dynamic instrumentation.

This magic is often used to do evil, but studying it can help you defend what you consider righteous. Alternatively it can help you achieve your own selfish day-to-day software development goals without the need for such moral absolutism.

The talk gives an introduction into one popular dynamic instrumentation toolkit called Frida and demonstrates how you can use it to intercept and change function calls on the fly. Some alternative tools and tools built on top of Frida are also presented. We will discuss some of the possibilities this opens up and then finish up by trying to get you started on putting them into practice.

Windows, macOS, GNU/Linux, Android and iOS are all supported targets. If you want to actively participate, bring a laptop.  For the desktop ones this will also run the app that you want to inspect, for the mobile ones you will also need to bring a phone in addition to the laptop.

People use these tools to:

  • interactively inspect some binary that they want to reverse engineer or dump it after it did some fancy unpacking
  • add logging to code that is in production at a customer site to track down some tricky bug
  • fake tricky error conditions like a lot of dropped TCP packets without polluting your production code with testing code
  • see their own app from a hackers perspective

What: Dynamic instrumentation with Frida
When: 21. März 2018, 19:00
Where: LBS3, FH3
Who: Martin Schwaighofer und Thomas Wimmer

Updates and additional info can be found on our website http://fhLUG.at.

PS. We will bring the new T-Shirts. If you have ordered a shirt, stop by.


The slides of the talk/workshop are now available. More in-depth information can be found at https://mschwaig.github.io/2018/05/15/dynamic-instrumentation-with-frida-and-friends.

System Hardening

Los gehts ins neue Jahr mit einem Talk zur Härtung von IT-Systemen. Im Zeitalter von Cyberwarfare und steigender Internetkriminalität, sollten die eigenen IT-Systeme auf den einen oder anderen Angriff vorbereitet sein. In dem Talk geht es weniger darum, was konkrete Maßnahmen sind, sonderen woher man Maßnahmen bekommt und wie man am besten vorgeht, wenn man die eigenen Systeme abhärtet.

Es sind keine eigenen Laptops erforderlich.

Was: System Hardening
Wann: 23. Jänner 2018, 19:00 – 21:00
Wo: LBS3, FH3

Updates und Infos sind wie üblich auf http://fhLUG.at zu finden.


Die Slides des Vortrags sind nun als PDF verfügbar.

Christmas Lightning Talks

Als Abschluss vor den wohlverdienten Weihnachtsferien gibt es noch ein Treffen der Linux User Group. Jede und jeder ist am Montag, 18. Dezember, eingeladen, ein interessantes Thema in 10 bis 20 Minuten vorzustellen. Mit oder ohne Slides, mit oder ohne Katzenbildern, mit oder ohne … das steht euch vollkommen frei. Wer möchte, darf auch gerne Kekserl in Tux-Form mitbringen.

Für folgende Themen wurde bereits Interesse angekündigt:

Was: Christmas Lightning Talks
Wann: 18. Dezember 2017, ab 19:00
Wo: LBS3, FH3

Eine Kurzübersicht über die vorgestellten Themen wird es im Nachhinein auf http://fhLUG.at geben.

Wir freuen uns auf spannende Talks und einen gemütlichen Abend,
fhLUG


Folgende weitere Themen wurden noch kurzerhand vorgestellt:

LaTeX Knowledge Night

Auf den Inhalt konzentrieren und weniger auf das Layout achten zu müssen ist eines der Mantras von LaTeX, einem Softwarepaket zur vereinfachten Benutzung des Textsatzsystems TeX. Als Draufgabe gibt es zahlreiche nützliche Features, wie zum Beispiel Syntaxhighlighting von Sourcecode, einen Mathematikmodus, auflösungsunabhängige Grafiken und Bibliographie-Verwaltung. Das macht es nicht nur für wissenschaftliche Arbeiten interessant, sondern auch für Übungsabgaben oder Papers an der FH.

Bei einer IF-Knowledge-Night am 4. Dezember werden die Grundlagen erklärt, angefangen bei einfacher Textformatierung bis hin zum Einbinden von externen Dateien. Geplant ist das Ganze für ca. 2 bis 3 Stunden, bei entsprechendem Interesse kann aber verlängert werden.

Ein eigener Laptop ist von Vorteil und es empfiehlt sich, bereits im Vorfeld eine LaTeX-Distribution, z.B. texlive, zu installieren.

Was: LaTeX-Knowledge-Night
Wann: 4. Dezember 2017, 19:00 – 22:00
Wo: HS3, FH2
Wer: Daniel Knittl-Frank

Auf unserer Website http://fhLUG.at gibt es weitere Infos.


Die Slides der LaTeX-Knowledge-Night können ab sofort online nachgelesen werden.