## Temperature Measurement on Raspberry Pi

This is me again, having no idea about electronics and trying to get a Raspberry Pi to record the temperature of its surroundings in order to better control the environment of the previously mentioned sourdough. Get bakin'!

## Switching Power on Raspberry Pi USB Ports

I want to create a stop motion movie of sourdough growing over night. Don't ask. Since I'm very comfortable with the OS, I am using Raspberry Pi as the hardware platform. And since everyone will tell you that _Lighting_ is important for any kind of filmmaking I played around with ways to toggle power on the USB ports to control USB-powered lamps. You want to know more? !

## Java Test Coverage and The Missing Path

I started learning JUnit 4 and encountered the message "1 of 4 branches missed." when testing a code fragment like x && y where x and y depend on each other in a particular way. Here is my journey and a "solution". You want to know more? !

## Which Raspberry Pi do I have?

Run
grep Revision /proc/cpuinfo

and look it up on https://elinux.org/RPi_HardwareHistory. For posterity I copied the table by the time of writing...!

## VMware for Homelab

I am currently comparing different virtualization solutions for my home. This is because I want to do all kinds of things like openhab, cronjobs, DNS-based adblocking, and gateways both in via SSH and out via different VPNs/Tor, and splitting those into different machines sounds not only reasonable but is also necessary in some cases when there are different operating systems involved. This blag post will document a few nuggets of knowledge I collected while trying out VMware as hypervisor. You want to know more?

## Programmatically NOP the Current Selection in Ghidra

The Zlob malware contains lots of bogus API calls to hinder analysis. This blag post describes how to use a script in Ghidra to automate the process of patching out those calls with NOP instructions. Is that even hard?!

## Custom JSONEncoder and JSONDecoder to handle datetime in Python’s json library

Sometimes it really surprises me how something as mundane as JSON encoding and decoding datetime objects in Python is not readily solve-able with a simple google query. I guess this is caused by the sheer amount of code fragments floating around confusing The Kraken. With this blag post, I'd happily like to add to this mess: Show me your code snippet!

## How to Update ArangoDb when running it in Docker

Since I already ran into this problem twice, here is a tiny reminder for my future self and potentially others that google something along the lines of the title. If you did docker pull arangodb at some point in the past, then ran a ArangoDB container for a while with something like the command blow and want to update, just follow the error messages! Follow them already!

## Wrapping integers in Python with Metaclassing

I often require a wrapping integer type in Python, by which I actually mean a subclass of int where all operations are performed modulo some constant number $N$. There are two main use cases for this: 1. Working in a finite field for some cryptographic stuff, or solving problems on [Project Euler](https://projecteuler.net/about). 2. Having Python integers behave like machine registers (8, 16, 32, 64, even 128 bits - you name it.) I decided to solve this once and for all and wrote the integer wrapper class to end all integer wrapper classes. I also managed to keep it rather compact by using *»gasp«* metaclassing. Do you want to know more?

## API Hashing in the Zloader malware

Directing your attention as a reverse engineer is key for not wasting your life looking at irrelevant code. This blag post will use an anti-analysis technique used in the Zloader malware as an example to practice this art. We will also take a short detour into code-level obfuscation and are going to re-implement the API hashing function from Zloader in Python. This post is aimed towards reverse engineering beginners that have already heard about API hashing. If you don't know, what Ghidra is or how to use it, you will need to brush over some parts of this post. Tell me everything!

## String Obfuscation in the Hamweq IRC-bot

In this blog post, we will follow one of herrcore's awesome videos and re-implement the automation as a Ghidra script in Java. The video in question is part of a series about a legacy malware family called Hamweq. CERT Polska published an extensive analysis of Hamweq: The malware implements a IRC-based botnet with worm-like capabilities. In this post we will solely focus on the string deobfuscation functionality in the malware. Show me what you got!