https://github.com/tsoding/binviz
Binary Visualization based on Christopher Domas talk: https://www.youtube.com/watch?v=4bM3Gut1hIk
https://github.com/tsoding/binviz
Last synced: 8 months ago
JSON representation
Binary Visualization based on Christopher Domas talk: https://www.youtube.com/watch?v=4bM3Gut1hIk
- Host: GitHub
- URL: https://github.com/tsoding/binviz
- Owner: tsoding
- License: mit
- Created: 2023-10-18T14:39:18.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-10-18T15:02:35.000Z (about 2 years ago)
- Last Synced: 2023-10-19T15:59:38.271Z (about 2 years ago)
- Language: C
- Size: 915 KB
- Stars: 21
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Binary Visualization
Binary Visualization based on Christopher Domas talk: https://www.youtube.com/watch?v=4bM3Gut1hIk
## Main Idea
- Scan the pairs of bytes of a file with a sliding window. (`AA BB CC DD ...` -> `(AA, BB) (BB, CC) (CC, DD) ...`);
- Interpret the pairs of bytes as coordinates on a 256x256 2D plain;
- Place a dot for each pair on the plain;
- The more frequent the dot, the brighter it is;
- Different patterns emerge depending on the type of the data of the file.
## Demo
### x86_64 ELF executables



### RGBA32 Raw Images



### Ogg Files with Chiptune



### Wav Files with Chiptune



## Quick Start
```console
$ cc -o nob nob.c
$ ./nob binviz ./nob.c
$ feh ./nob.c.binviz.png
```