Freier Decompiler von Avast

Wer kennt das nicht; man steht mitten im Nirgendwo und benötigt plötzlich einen Decompiler. Da passt es nur allzu gut, dass Avast vor einigen Tagen einen Decompiler veröffentlicht hat. Der Retargetable Decompiler war, laut Aussage von Avast knapp sieben Jahre in der Entwicklung, bevor er nun das Licht der Öffentlichkeit erblickte. Mit Hilfe dieses Decompilers können Kompilate unterschiedlicher Architekturen (Intel x86, ARM, MIPS, PIC32 und PowerPC) decompiliert werden. Leider werden im Moment nur 32-Bit Binaries unterstützt. Auch die Liste der unterstützen Dateiformate für die zu decompilierende Datei reicht von ELF, PE, Mach-O, COFF, AR, Intel HEX bis zu reinem Maschinencode.

Die Online-Version des Decompilers

Als Plattformen für die Ausführung des Decompilers, werden offiziell Windows und Linux unterstützt. Unter macOS funktioniert die Ausführung ebenfalls, allerdings wird hier keine Garantie für die Funktionsfähigkeit gegeben. Daneben existiert eine Online-Version, mit welcher der Decompiler ausprobiert werden kann. Hierbei gilt eine Beschränkung von 10 MiB je Binary. Der Retargetable Decompiler unterstützt die statische Analyse der zu dekompilierenden Dateien, erkennt automatisch den verwendeten Compiler und Packer und ist in der Lange die Ausgabe in C und einer an Python angelehnten Syntax auszugeben. Der Quelltext des Decompilers ist auf GitHub zu finden. Das Projekt ist unter der MIT-Lizenz lizenziert und damit freie Software. Der Download und weitere Informationen zum Retargetable Decompiler findet man auf der offiziellen Seite des Decompilers.

Joplin mit Ende-zu-Ende-Verschlüsselung erschienen

Vor einigen Tagen stelle ich mit Joplin eine freie Evernote-Alternative vor. Joplin befindet sich in in aktiver Entwicklung und so schaffte es die letzten Tage ein Feature mit dem Titel E2EE, was für End-To-End Encryption steht, in die Anwendung. Damit ist eine Ende-zu-Ende-Verschlüsselung der Notizen gemeint. Das bedeutet, dass die Notizen nur noch auf den jeweiligen Endgeräten entschlüsselt werden können. Beginnend mit Version 0.10.41 wird dies unterstützt; auch wenn das ganze im Moment noch als Beta deklariert ist.

Die Einstellungen zur Verschlüsselung in der iOS-App

Unter iOS und Android funktioniert die Ende-zu-Ende-Verschlüsselung noch nicht. Hier existierte noch ein Bug, welcher dafür sorgte, das man das Passwort nicht eingeben konnte. Mittlerweile wurde dieser Fehler behoben und ab dem Release 0.10.42 sollte die Verschlüsselung auf den mobilen Plattformen ebenfalls funktionieren. Joplin kann über die offizielle Projektseite bezogen werden.

Digital Signage für den Raspberry Pi

Der Begriff Digital Signage beschreibt im Groben nichts anders als die Nutzung digitaler Schilder, was z.B. Bildschirme sein können. Möchte man einen solchen Bildschirm bespielen, kann man sich mit dem Raspberry Pi eine entsprechende Lösung zusammenbauen. Daneben gibt es eine spezialisierte Distribution für den Raspberry Pi. Diese hört auf den Namen Raspberry Digital Signage und stellt nach dem Booten einen Webbrowser im Vollbild dar. Als Browser wird Chromium genutzt. Daneben stellt die Distribution sicher, das man den Webbrowser nicht beenden oder anderweitig manipulieren kann.

binaryemotions.com

Zur Wartung und Nutzung der Distribution existiert ein Webinterface, in welchem die entsprechenden Einstellungen vorgenommen werden können. Heruntergeladen werden kann die Distribution von der Seite des Herstellers.

SSH mit mehreren Schlüsseln nutzen

Normalerweise erzeugt man einen privaten und einen öffentlichen Teil seines SSH-Schlüssels, hinterlegt den öffentlichen Teil auf den entsprechenden Servern und loggt sich mit diesen dort ein. Nun kann es aber durchaus vorkommen, dass man mit unterschiedlichen Schlüsselpaaren arbeiten muss um sich auf verschiedenen Servern einzuloggen. Zur Lösung dieses Problems existieren zwei Herangehensweisen, welche beide mit der SSH-Konfigurationsdatei arbeiten. Die Konfigurationsdatei ist im Home-Verzeichnis der Nutzers unter .ssh/config zu finden ist. Bei der ersten Möglichkeit werden die entsprechenden Schlüssel in der Konfigurationsdatei hinterlegt:

IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa_production
IdentityFile ~/.ssh/id_rsa_test
IdentityFile ~/.ssh/id_rsa_integration

Damit werden bei einem Login auf einem Server die Schlüssel der Reihe nach durchprobiert. Bei der zweiten Möglichkeit wird ein Host pro Server konfiguriert:

Host production production.example.com
    HostName production.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_production
    

Host test test.example.com
    HostName test.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_test

Host integration integration.example.com
    HostName integration.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_integration

In der Konfiguration des Hosts befinden sich neben dem Host auch die zu nutzende Schlüsseldatei. Als weiteren Vorteil kann man die SSH-Verbindung nun über den definierten Kurznamen aufrufen:

ssh production

Dabei wird die Verbindung mit der definierten Schlüsseldatei aufgebaut, so dass ein durchprobieren der unterschiedlichen Schlüssel vermieden wird.

Webseite im Kiosk-Modus auf dem Raspberry Pi darstellen

Für einen speziellen Anwendungsfall wollte ich eine Webseite im Kiosk-Modus mittels eines Raspberry Pi darstellen. Der Raspberry Pi sollte hochfahren und anschließend die Webseite anzeigen. In diesem Fall wurde Midori als Browser und Raspbian als Distribution ausgewählt. Im ersten Schritt werden die entsprechenden Pakete installiert:

apt-get install xorg matchbox midori unclutter

Nachdem die benötigten Pakete installiert wurden, geht es an die Konfiguration. Dazu wird Home-Verzeichnis des Nutzers pi die Datei .xinitrc angelegt und mit folgendem Inhalt befüllt:

#!/bin/sh
/usr/bin/unclutter &
/usr/bin/matchbox-window-manager &
xset -dpms
xset s off
while true; do
/usr/bin/midori -e Fullscreen -a https://example.org
done

Mittels unclutter wird der Mauscursor ausgeblendet; anschließend wird der Window-Manager gestartet. Danach geht es an die Konfiguration von X11 – die Energiesparoptionen und der Bildschirmschoner werden deaktiviert. Zum Abschluss folgt der eigentliche Start des Browsers in einer Schleife. Dies führt dazu dass Midori nach einem Absturz sofort wieder neugestartet wird. Die aufzurufende URL sollte dabei natürlich angepasst werden. Damit X11 automatisch gestartet wird, editieren wir wir ebenfalls die Datei .bashrc – dort fügen wir an das Ende Datei folgenden Befehl hinzu:

# Start X11
startx

In diesem speziellen Fall war der Anzeigemonitor um 90 Grad gedreht, so das der Inhalt des Bildschirms ebenfalls gedreht werden musste. Dazu muss die Datei /boot/config.txt bearbeitet werden und folgender Wert hinzugefügt werden:

display_rotate=1

Nun muss nur noch dafür gesorgt werden, dass der Raspberry Pi nach dem Start automatisch in den Nutzer pi einloggt. Dazu kann das Konfigurationswerkzeug raspi-config genutzt werden.

Die Einstellung um automatisch mit dem Nutzer pi zu starten

Die entsprechende Einstellung befindet sich in den Boot Options und dort im Punkt Desktop / CLI. An dieser Stelle muss Console Autologin ausgewählt werden. Anschließend kann der Raspberry Pi neugestartet werden und das ganze getestet werden.