Blog

Building a Car Hacking Test Bench

Modern cars are computers on wheel, dozens of ECUs, multiple busses, wireless interfaces, and a threat model that keeps expanding. For the past few years I dipped my toes in the automotive security scene. It’s now time to take a deep dive. So I bought a car.

Read more →

January 4, 2026

How to extract an AppImage and add it to the Ubuntu Sidebar

In this post, we’ll guide you through extracting an AppImage and integrating it into the Ubuntu sidebar for easy access. As an example, we’ll use SavvyCAN, a CANBus reverse engineering tool.

Read more →

December 25, 2024

Committing Changes to a Pull Request Branch Created from a Fork

Sometimes a pull request on GitHub.com needs some work before it can be merged into the project but you don’t want to force the required work on the pull requests original author. You’re allowed to make changes to the pull request if they are opened to a repository you have push access to, the fork is user-owned, the user has granted the required permissions and there aren’t any branch restrictions that will prevent committing.

Read more →

January 3, 2024

Spoofing Microchips used for Animal Identification

A microchip implanted under the skin of an animal can be used for identification purposes. The microchips are using Radio Frequency Identification (RFID) technology to transmit an unique tag number using an electromagnetic field when in close contact with an nearby RFID reader device. The microchips are often used to help return lost pets quickly. The unique chip numbers are registered in a designated portal to let animal shelters, animal control officers and veterinarians to look up contact information of the animal’s owner. During animal trials and events the microchips are often used to verify the animals identity.

Read more →

November 30, 2022

How to Automatically Generate Clients for your REST API

While helping a colleague with adding some code to the bunq Python SDK to allow him to retrieve some additional information from the API (bunq/sdk_python#148), we noticed that the SDK was automatically generated. We’ve eventually ended up monkey patching the SDK, as we couldn’t make a pull request to the SDK and the API specification or SDK generator wasn’t publicly available. However, this aroused some interest about the automatic generation of API clients. In this post we will automatically generate a REST API client based upon an OpenAPI specification. The OpenAPI specification allows REST APIs to be described in a standard programming language-agnostic way, making it possible for both humans and computers to interpret the specification.

Read more →

December 19, 2020

Git Branching

Introduction Like other version control systems Git also support a way to diverge from the main line of development and continue to do work without messing with that main line, it’s called branching. Unlike may other version control systems, the Git branching model is lightweight. Each Git branch is simply just a file containing the 40 character SHA-1 checksum of the commit it points to. You can nearly instantaneous create or switch branches. It’s therefore not surprising that Git users are encouraged to use workflows that branch and merge often.

Read more →

May 10, 2020

Getting Started with Git

Introduction Git is a free and opensource distributed version control system designed to handle everything from small to very large projects with speed and efficiency. While working with Git I often get asked questions about best practices or the more advanced usage of Git e.g.: a rebase, merge conflict or how to cherry pick. This post will serve as my personal Git reference as well as a getting started guide for my colleagues and friends.

Read more →

April 20, 2020

How To Create a Visual Studio Code Extension Pack

Within Visual Studio Code you will often find yourself installing multiple extensions for a certain language or framework. You might want to share those collections of extensions with your friends or colleagues, be able to easily disable or enable the full collection of extensions or provide a curated list of extensions for a blog post. Then you will find the Visual Studio Code Extension Packs to be very useful. In this blogpost, we’ll create a Extension Pack for SaltStack requested in korekontrol/vscode-saltstack#5.

Read more →

April 17, 2020

Ding Dong Ditch using SDR and Arduino

In this post we will be building a device to play Ding Dong Ditch digitally. The device will ring the doorbell every several seconds without pressing the button. This project is all about reverse engineering radio frequencies using a RLT-SDR and creating hardware using an Arduino. This project is heavily based upon the Digital Ding Dong Ditch by Samy Kamkar. The video is a short demonstration of the Ding Dong Ditch device. Once it’s powered by USB (or a battery) it will send out a RF signal every few seconds which will ring the doorbell.

Read more →

January 3, 2020

Hardware Reversing the Sitecom Wireless Router 150N X1

Last week I’ve bought a Rigol DS1102E digital oscilloscope and was very eager to test it out. When going to my bin of old hardware I’ve found a Sitecom Wireless Router 150N X1. After opening up the router I immediately spotted the UART debugging interface (top left in the picture). In this post we will go through the process of connecting to an unknown serial interface.

Read more →

December 15, 2019