RuberTooth - a Complete Ruby Porting of the Ubertooth Libraries and Utilities.
Today, finally my ubertooth arrived and I immediately started hacking with it.
I installed its libraries and tools both on OS X and on my Linux virtual machine, and after a while I noticed a few things:
- The compilation process is not well documented for newer versions of OS X, thus manual code patching here and there is required.
- Some of the tools are only available for GNU/Linux.
- Some of the tools are unstable.
- There’s no way to create my own UberTooth scripts without using C.
Regarding the last point, there is a Python porting which is incomplete, it lacks most of the features that the native libraries have, so ubertooth is definitely not a scriptable device … or maybe not :)
I studied the USB communication protocol implemented inside libubertooth and found out that is very easy and well implemented, so I started to write some Ruby code ( I hate Python! ) using the libusb gem and a new project was born :)
This project, RuberTooth, aims to be a complete Ruby porting of the ubertooth libraries and utilities, made by hackers for hackers, so anyone will be able to easily create scripts for their ubertooth devices.
Here’s an example BLE packet sniffer ( which is the equivalent of the ubertooth-btle native tool ).
1 | $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) |