Giter Site home page Giter Site logo

neo4reo / ooktools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leonjza/ooktools

0.0 2.0 0.0 68 KB

๐Ÿ“ก On-off keying tools for your SD-arrrR

Home Page: https://leonjza.github.io/blog/2016/10/08/ooktools-on-off-keying-tools-for-your-sdr/

License: MIT License

Python 100.00%

ooktools's Introduction

ooktools

ooktools aims to help with the reverse engineering of on-off keying data sources such as wave files or raw frames captured using RfCat.


why?

I recently played around a little with static key remotes, and wrote some code to help with the reverse engineering thereof.

major features

  • Binary string extraction from wave file recordings.
  • Wave file cleanups to remove noise in On-off keying recordings.
  • Graphing capabilities for wave files.
  • General information extraction of wave files.
  • Signal recording and playback using json definition files that can be shared.
  • Plotting of data from the previously mentioned json recordings.
  • Signal searching for On-off keying type data.
  • Sending signals in both binary, complete PWM formatted or hex strings using an RfCat dongle.
  • Gnuradio .grc template file generation.
  • Signal 'jammer' by continuously sending a loud, static signal.
  • Signal brute forcer that can iterate over a bitstring range.

installation

You can install ooktools in two ways. Either from pip or from source. In case of a source installation, you may want to optionally consider installing it in a virtualenv.

rfcat

In both installation cases, you need to install RfCat. This too can be done in two ways. On Kali Linux, you can install it with a simple apt command:

$ apt install rfcat

Or, if you need to manually install it, download the latest RfCat sources and run the setup.py script:

$ wget -c https://bitbucket.org/atlas0fd00m/rfcat/downloads/rfcat_150225.tgz
$ tar xjvf rfcat_150225.tgz
$ cd rfcat_150225
$ python setup.py install

ooktools

Pip Package:

$ pip install ooktools

Using this method, you should have the ooktools command available globally.

From source:

$ git clone https://github.com/leonjza/ooktools.git
$ cd ooktools
$ pip install -r requirements.txt

If you installed from source then you can invoke ooktools with as a module using python -m ooktools.console from the directory you cloned to.

usage

There are a number of sub commands that are grouped by major category. At anytime, add the --help argument to get a full description of any other sub commands and or arguments available.

$ ooktools --help
         _   _           _
 ___ ___| |_| |_ ___ ___| |___
| . | . | '_|  _| . | . | |_ -|
|___|___|_,_|_| |___|___|_|___| v0.1
On-off keying tools for your SD-arrrR
https://github.com/leonjza/ooktools

Usage: ooktools [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  gnuradio  GNU Radio Commands.
  signal    Signal Commands.
  wave      Wave File Commands.

For full examples, please refer to the blogpost here

known issues

Nothing is perfect I guess. One of the biggest problems would be test cases and variations. So, here is the stuff that I know is not 100% perfect. Pull requests welcome!

  • Wave file operations such as graph and clean break when the wave file is too long. ~50M samples seem to start hitting the point of breakage.
  • The matplotlib usage is silly from a performance perspective. Its the main reason I don't have live graphs in too as I just cant get it working great.

license

Please refer to the LICENSE file.

ooktools's People

Contributors

leonjza avatar

Watchers

Dennis M Senyonjo avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.