GithubHelp home page GithubHelp logo

bark's Introduction

BARK

BARK - the Binary ARmy Knife. A tool for visualizing and editing binary files. A "blade" is a plugin for BARK.

BARK screenshot

NOTE: This software is in very "pre-alpha" status and still has a lot of bugs. There is also a (private) refactor effort to use Qt instead, so there will likely be no more updates to this code base.

Building

These instruction assume Ubuntu 20.04 Desktop (64-bit), but the build process should be similar for other version of Ubuntu or other Linux distributions.

First, build and install wxWidgets from source.

Install dependencies for BARK:

$ sudo apt-get update
$ sudo apt-get install libboost-all-dev

Make and install the BARK core library and desktop application. The output files will be in the local bin/ directory. It would be wise to multi-thread the make command (something like make -j8) since there are quite a few source files to compile.

$ make -j$(nproc)
$ sudo make install
$ sudo ldconfig

Run the desktop applicaiton:

$ cd bin/
bin/$ ./barkapp

If you get the following error, you likely skipped the make install command above (the BARK core library was not installed to /usr/local/lib).

bin/$ ./barkapp
./barkapp: error while loading shared libraries: libbark.so: cannot open shared object file: No such file or directory

Usage

First, load a file (specimen) into the analysis engine with File --> Load Specimen. Then deploy a few blade instances with Blades --> Deploy....

The Editor blade is a hex editor that can display in hexadecimal or binary (as well as ASCII) and has a right-click context menu to insert/delete bytes, apply an XOR mask, delete selections, and other byte-level operations. Open up several instances of the Editor and see how the selection propagates automatically to every deployment in real-time. Drag the bottom-right corner of the Editor window to dynamically change the amount of data elements displayed per line.

The Visualizer blade is much more experimental. It creates a raster plot of the bits in the specimen with user-specified separators and color schemes.

Where did the name come from?

It is a play on QuArK (the "Quake Army Knife"), a 3D level editor for the Quake series of computer games.

bark's People

Contributors

herrameise avatar

Stargazers

 avatar

Watchers

 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.