https://github.com/davidegrayson/binshow
Will eventually be a handy program for thoroughly showing the contents of any binary file.
https://github.com/davidegrayson/binshow
Last synced: 6 months ago
JSON representation
Will eventually be a handy program for thoroughly showing the contents of any binary file.
- Host: GitHub
- URL: https://github.com/davidegrayson/binshow
- Owner: DavidEGrayson
- Created: 2017-08-24T15:49:48.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-03T15:59:58.000Z (over 8 years ago)
- Last Synced: 2025-10-13T22:38:40.250Z (7 months ago)
- Language: Ruby
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# binshow - explore binary files
*binshow* is not much right now, but eventually it will allow you to explore binary files such as executables, images, and videos, and show the meanings of every byte in such files.
Features that would be nice to have:
- Core:
- Converts a binary file to a data structure that is easy to show to humans.
- Works efficiently with very large files and pathological files.
- Supports lazily-loading parts of the data structure.
- Indivisible load operations should always be O(ln(N)) or less.
- Supports freeing unneeded parts of the data structure (garbage collection).
- Supports iterating through the data in heirarchical order or file order.
- For a given byte offset or set of offsets, can locate its position in the
heirarchy efficiently (might be O(N) for some file formats).
- Nothing is obscured: the human-readable form always has enough information
to reproduce the file byte-for-byte.
- Support for PE and ELF files.
- A DSL for describing binary formats to make it easier and safer to add support for more formats, or for use outside of binshow.
For now, the binshow prototype will be written in Ruby. Later, we might switch
to a language like C++ or Rust to make the program faster and easier to distribute.