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.

Versionsverwaltung mit Git

(Software-)Projekte wachsen mit der Zeit. Später möchte man oft noch wissen, wer welche Änderung wann durchgeführt hat. Oder man ist interessiert daran, welche Dateien sich zwischen zwei Versionen geändert haben und wer an einem Release beteiligt war.

Diese und weitere nützliche Features werden von Versionsverwaltungsystemen geboten. Eines der verbreitesten Systeme dieser Art ist Git, das auch für die Verwaltung des Linux-Kernels und des Android-Projektes verwendet wird.

Im Workshop am 15. November wird der grundlegende Workflow mit Git vorgestellt. Nach dem Workshop werdet ihr in der Lage sein, eure Projekte schmerzlos mit Git zu verwalten. Um am Workshop teilnehmen zu können, ist kein Vorwissen mit Git erforderlich. Fortgeschrittene Themen können gerne für alle Interessenten gegen Ende des Abends diskutiert werden.

Was: Versionsverwaltung mit Git (Workshop)
Wann: 15. November 2017, 19 Uhr
Wer: Daniel Knittl-Frank
Wo: LBS3, FH3

Wie üblich ist auch alles auf unsere Website unter http://fhLUG.at abrufbar.


Das Slidedeck ist ab sofort online verfügbar.

Processing-Workshop

Die plattformunabhängige Open-Source Software Processing wurde von Ben Fry und Casey Reas am MIT entwickelt und basiert hauptsächlich auf Java. Die Software wird vorwiegend für generative Kunst bzw. zur Erstellung visueller Elementen genutzt. Jedoch bietet Processing ebenso andere Möglichkeiten der Anwendung und Visualisierung, z.B. für interaktive Anwendungen, das Coden von Spielen, Simulationen, Animationen oder auch die Nutzung für Datenzugriffe und -transfer etc.

Der Workshop richtet sich im Besonderen an Anfänger, die noch nicht mit Processing gearbeitet haben. Im Laufe des Workshops wird ein Space-Invader-ähnliches Spiel entwickelt, um die wichtigsten Grundkonzepte von Processing zu vermitteln. Im Anschluss sollte noch genug Zeit für eine Frage- und Antwort-Session bleiben.

Was: Processing Workshop
Wann: Donnerstag, 22. Juni 2017, 19:00
Wo: LBS3, FH3

Nach den Ferien geht’s dann wieder weiter! Updates unter http://fhLUG.at.

Statistical Computing mit R

R — Auf Platz 5 im IEEE Spectrum Ranking der Programmiersprachen finden wir das 1993 gegründete GNU-Projekt, das sich ganz und gar der Statistik verschrieben hat. Besonders interessant wird R durch die für die Statistik entworfenen Datenstrukturen, Funktionen und den Möglichkeiten zur Grafikerzeugung, die R von anderen Sprachen abgrenzt.

Wir werden das R-Enviroment installieren, die Basics der Sprache schaffen und natürlich die Anwendung von R in der Praxis beleuchten. Dabei ist das Ziel sich in R zurechtzufinden, um zukünftig R als Tool verfügbar zu haben.

Was: Statistical Computing mit R
Wann: Montag, 22. Mai 2017, 19:00
Wo: LBS3, FH3
Wer: Arthur Naefe

Weiterführende Infos und alle anderen Termine auf http://fhLUG.at.

Do-it-yourself Lisp Workshop

Viele kennen Lisp als die Programmiersprache mit den meisten Klammern. Sie ist die zweitälteste Hochsprachenfamilie, welche heutzutage noch immer im Einsatz ist. Oft trifft man auf sie im Kontext von Künstlicher Intelligenz.

Im Workshop basteln wir uns test-driven einen eigenen Lisp-Interpreter für eine simple Lisp-Variante. Dazu benötigen wir nichts weiter als Python und das Nose Testframework. Davor gibt es noch etwas Theorie zu Lisp und Compilerbau.

Was: DIY Lisp Workshop
Wann: Mittwoch, 19. April 2017, 19:00
Wo: LBS3, FH3
Wer: Daniel Knittl-Frank

Wie üblich gibt’s die Updates dann unter http://fhLUG.at.

PS Lisp Cycles


Wer sich noch näher mit der Materie beschäftigen möchte, dem sei die Seite http://diy-lang.com/ ans Herz gelegt. Dort finden sich noch weiterführende Infos und Hinweise zur Lösung der Aufgabenstellungen.

Eine mögliche Implementierung findet sich im GitHub-Repository fhLUG/diy-lang. Viel Spaß!