Skip to main content

Fuzzy bit library

Project description

Fuzzybit is a library for determining possible values of bits in integers based on observed concrete values.

Install

To install fuzzybit (after downloading):

python setup.py install

To install fuzzybit with pip:

pip install fuzzybit

Using fuzzybit

Here is an example of tracking a single bit using the FuzzyBit class:

>>> import fuzzybit
>>> b = fuzzybit.FuzzyBit()
>>> b.get_value()
'?'

>>> b.observe_value('0')
>>> b.get_value()
'0'
>>> b.get_entropy()
0

>>> b.observe_value('0')
>>> b.get_value()
'0'
>>> b.get_entropy()
0

>>> b.observe_value('1')
>>> b.get_value()
'*'
>>> b.get_entropy()
1

Here is an example of tracking an integer using the FuzzyInt class:

>>> import fuzzybit
>>> x = fuzzybit.FuzzyInt(16)  # Create 16 bit integer
>>> x.get_value()
'????????????????'

>>> x.observe_value(0x0ff0)
>>> x.get_value()
'0000111111110000'
>>> x.get_entropy()
0

>>> x.observe_value(0x0000)
>>> x.get_value()
'0000********0000'
>>> x.get_entropy()
8

>>> x.observe_value(0x0dd1)
>>> x.get_value()
'0000********000*'
>>> x.get_entropy()
9

Project details


Release history Release notifications

This version
History Node

0.2.0

History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
fuzzybit-0.2.0.tar.gz (3.1 kB) Copy SHA256 hash SHA256 Source None Oct 13, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page