Bitcoins minen

Wer die digitale Währung Bitcoins minen möchte, sollte sich bewusst sein, das dies meist ein Minusgeschäft ist. Durch die gestiegene Komplexität verbraucht das Erzeugen von Bitcoins mehr Strom als es im Endeffekt liefert. Wer hier mit CPU, GPU oder FPGA minert, hat eigentlich schon verloren. Einigermaßen erträglich wird das Mining wenn man mit sogenannten ASICs arbeitet. ASIC steht dabei für „Application Specific Integrated Circuit“. Gemeint ist damit das die Chips nur für das Mining konzipiert sind und somit natürlich sehr effizient arbeiten.

Ein ASIC basierter Miner in Form eines USB-Sticks

Ein ASIC basierter Miner in Form eines USB-Sticks

Ein Miner welcher sich anbietet ist CGMiner welcher im Quelltext auf GitHub zu finden ist. Neben der Mac OS X und der Windows-Version ist er auch in einer Linux-Version verfügbar. CGMiner selbst steht dabei unter einer freien Lizenz (GPLv3). Um den Miner unter Linux in Betrieb zu nehmen müssen einige Abhängigkeiten installiert werden:

apt-get install autoconf make libcurl4-openssl-dev libtool pkg-config libudev-dev

Danach kann sich der Quelltext beschafft werden und das Kompilat erzeugt werden:

git clone https://github.com/ckolivas/cgminer.git
cd cgminer
./autogen.sh
./configure --enable-icarus
make

In diesem Fall wurde die Unterstützung für ASICs welche mit dem Icarusprotokol arbeiten aktiviert. Mittels:

./cgminer -o http://pool:port -u username -p password

kann das Mining anschließend gestartet werden. Beim Start werden entsprechende Geräte wie angeschlossene ASICs erkannt und automatisch mit eingebunden.

OpenVPN unter Mac OS X einrichten

Wie man OpenVPN unter Windows betreibt, hatte ich vor einigen Jahren beschrieben. Auch unter Mac OS X lässt sich das ganze einrichten. Als grafischer Client bietet sich der quelloffende und unter GPLv2 stehende Client Tunnelblick an, dessen offizielle Seite auf Google Code zu finden ist. Nach der Installation der aktuellen (stabilen) Version 3.3, kann Tunnelblick auch gleich ausgeführt werden. Für die Konfiguration des Clients benötigt man eine Datei mit den benötigten Parametern, welche die Endung „ovpn“ oder „conf“ trägt. Tunnelblick kann dabei bei Bedarf eine Beispielkonfiguration anlegen. In dieser Konfigurationsdatei werden nur folgende Werte geändert:

remote vpn.example.org 1194

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca ca.crt
cert client.crt
key client.key

Die ovpn Datei wird mit der ca.crt Datei und der client.crt sowie der client.key Datei (beide erhält man vom VPN Anbieter) in einen Ordner gepackt und dieser Ordner mit der Erweiterung „.tblk“ versehen. Anschließend wie der Ordner im Finder geöffnet und somit der Tunnelblick-Konfiguration hinzugefügt. Danach kann die Verbindung im Kontextmenü aktiviert werden. Nach einigen Sekunden ist die Initialisierung beendet und die VPN Verbindung kann genutzt werden.

OTR unter Android

„Off-the-Record Mes­sa­ging“ ist eine schöne Sache, allerdings nutzen die wenigsten Menschen ihre Chatprogramme nur am Desktop. Auch die Mobilgeräte wollen bedient werden. Hier bietet sich für Android die App Xabber an. Dabei handelt es sich um einen freien XMPP Client welcher unter der GPLv3 lizenziert ist.

Xabber
Xabber
Entwickler: redsolution OÜ
Preis: Kostenlos

Der Quelltext von Xabber kann dabei auf Github bezogen werden. Neben den Standardfeatures bietet Xabber auch OTR-Integration. Nachdem man Xabber installiert und einen Account eingerichtet hat, muss nur noch OTR aktiviert werden. Dazu öffnet man die Einstellungen und wählt dort den Punkt Sicherheit aus.

Die Sicherheitseinstellungen von Xabber

Die Sicherheitseinstellungen von Xabber

Dort kann dann der OTR-Modus festgelegt werden. Zur Auswahl stehen dabei „deaktiviert“, „manuell“, „automatisch“ und „erforderlich“. Wenn der passende Modus ausgewählt wurde, kann die Kommunikation mittels OTR beginnen (außer man stellt den Modus auf „deaktiviert“). Im manuellen Modus kann OTR Kommunikation dabei über die Menütaste im Chat aktiviert (Mehr -> OTR Verschlüsselung) werden.

Kindle Uploader

Der Kindle als eBook Reader macht vieles richtig. Nur beim Übertragen von eigenen Dokumenten wird es schwierig. Es gibt zwar die Möglichkeit Dokumente per Mail oder USB auf den Kindle zu bringen, allerdings wird das in manchen Fällen etwas umständlich.

Der Kindle Paperwhite im ausgeschalteten Zustand

Der Kindle Paperwhite im ausgeschalteten Zustand

So bietet Amazon eine Konvertierung von PDFs in ein auf dem Kindle lesbares Format an. Um das ganze zu vereinfachen, habe ich eine kleine Anwendung namens „Kindle Uploader“ geschrieben. Nach der Konfiguration kann man ganze Ordner oder auch einzelne Dateien an seinen Kindle senden. Mit Hilfe der Option „-convert“ ist es möglich die Konvertierung in das AZW Format (für bessere Lesbarkeit) anzustoßen:

kindleuploader.exe -convert test.pdf folder test.txt

Die Anwendung ist dabei freie Software unter der GPLv3 und kann auf GitHub „besichtigt“ werden. Alternativ kann das ganze als ausführbare Datei heruntergeladen werden.

de4dot

Ein Programm welches in C# geschrieben wird, wird beim kompilieren in ein Intermediate-Assembly umgewandelt. Das bedeutet das der Code in einer Zwischensprache darauf wartet auf seinem Zielsystem in nativen Code umgewandelt zu werden. Der Vor- und auch Nachteil dieser Vorgehensweise ist, das sich der Quellcode sehr einfach aus dem IL-Code zurückwandeln lässt. Im Idealfall verliert man bloß einige Variablennamen.

Um das zu verhindern gibt es sogenannte Obfuscatoren, welche versuchen den entsprechenden Quelltext zu verschleiern, so das er nicht mehr einfach zurückgewandelt werden kann. Aber wie so oft im Leben gibt es auch hier einen Wettlauf mit der Zeit. So gibt es einige Tools welche den obfuskierten Quelltext wieder deobfuskieren. Eines dieser Projekte ist „de4dot“ welches unter https://bitbucket.org/0xd4d/de4dot/ zu finden ist. Das unter der GPL stehende Projekte, erkennt dabei den verwendeten Obfuscator und versucht seine Änderungen soweit wie möglich rückgängig zu machen. Dabei werden eine stattliche Anzahl von Obfuscatoren, wie der Dotfuscator, Goliath.NET und Skater.NET unterstützt.