email contact

NOTE: You should not use the above for legitimate contacts. This is a spam honeypot. All messages sent to that domain are assumed malicious/spam.

Solving seVeb's Crackme05

A skill set that I haven’t quite had the chance to foster just yet is that of reverse engineering software. It’s not so much that I lack any fundamental understanding of high-level software development, low-level software concepts, or operating system concepts, but more that I just haven’t taken the time to practice and develop the skill. I’ve decided it’s time to change that! One of the ways I’ll be doing this is by working on crackmes....

August 23, 2020 · 18 min · Adam Thompson

Dumping Map Tiles from MBTiles with Python

MBTiles is a database format, developed by Mapbox, for storing tiled data. It’s a relatively simple database format that allows for a convenient, portable way to store map tile data. Here recently, I’ve been developing code that works with tiled map data, including data contained within an MBTiles database. As part of this, I’ve needed an easy way to dump the map tiles from an MBTiles database to my local disk....

February 12, 2018 · 6 min · Adam Thompson
Capturing video from a webcam with OpenCV.

Python - How to Capture Video from a Webcam with OpenCV

Have you ever written code to interface with a webcam? Well, if you have then you know that it can be a royal pain in the ass. And God forbid you want it to be a cross-platform solution! The good news is that there is a ready-made solution that can help us out: OpenCV. Yes, you heard me right. Not only is OpenCV and amazing computer vision library, but it also provides a handy, cross-platform way of interfacing with webcams....

August 7, 2017 · 2 min · Adam Thompson

Quickly Generating Primes Below n with the Sieve of Eratosthenes

The uses for prime numbers in computer science are nearly endless. They are useful for everything from hashing, cryptology, factorization, and all sorts of applications in-between. There exists a great number of algorithms that allow us to quickly generate primes, but today we are going to take a look at a popular method known as a prime sieve. There are a number of different implementations of prime sieves, but one of the simplest to implement is known as the Sieve of Eratosthenes....

May 17, 2017 · 3 min · Adam Thompson

How to Route URLLib2 Through TOR (Python)

I’ve recently been experimenting on a new project to scrape data from webpages located on the Tor network. For simplicity’s sake, I decided to write this bit of code in Python and use the handy urllib2 library to handle the HTTP requests. For those that don’t know, Tor runs a SOCKS5 proxy, which, by default, runs on I thought things would be as simple as telling urllib2 to use a proxy located at IP 127....

January 6, 2016 · 3 min · Adam Thompson