In this tutorial, I will go over an easy way to learn how assembly and binaries work on your own. I will show you a technique you can use to teach yourself on a practical level how assembly and binaries work. This is meant as an introduction, and will not go into detail on assembly itself (perhaps another tutorial!). However, by the end of this tutorial you will be able to create and answer some of your own questions regarding binary analysis and programming.

I recently had the need to build a Python 2.7 debugging environment for my porting work of the angr platform to Windows. The problem I have run into is that there is not terribly good documentation on this subject. Not only was some of the official documentation from python misleading, but the links to the tools required were not easy to find. Here's how I built my debugging environment.

As a side interest, I've become curious about video and audio encoding. I've been looking into the many different flavors of encoding there are, and attempting to determine the best way forward. This is purely selfish as I have a collection of videos that are taking up too much space and I want to make them smaller, but also keep as much detail as possible.

 

Getting more to the point, my primary system is a Windows desktop with NVidia graphics card. While I was able to encode videos using Linux, the machine running Linux was either a Virtual Machine or a laptop. Either way, performance for encoding was not great. I wanted to not only get my much stronger desktop involved, but also utilize the graphics card. I was previously using HandBrake, which is a neat application. However, I wanted more control over what was happening, and also just get a bad vibe from that tool (and don't want it running on my primary system). One of the most well known and respected tools in this area is ffmpeg. If you haven't looked at it, I'd highly recommend reading their docs. Really cool stuff.

The other day I was looking into creating transparent tunneling using my router (with dd-wrt version 24 sp 2) and ProXPN. This would be handy in any number of situations to include the ability to proxy those devices which don't naturally have that ability (i.e.: the internet of things). Sadly, there seems to be a dearth of information regarding how to set this up, so after some research and floundering on my own, here's how I've gotten it to work.