Giter Site home page Giter Site logo

sbud-v2's Introduction

Sbud is being rewritten from scratch, in private for now.

This repository will be rebuild from scratch in the future. For the time being, consider it as an obsolete stepping stone.

SBuD

SBuD is an experimental playground related to file formats parsing and visualization.

It's merely a suggestion at this stage - its design and code could change at any time (it's at least its 3rd iteration). Don't expect a working tool yet.

SBuD is made of 2 types of components, Dis and Dat, which can work together but are not required to each other.

Dis (-sector/sassembler)

Parses input files to:

  • generate JSON for visual representation via Dat.
{
 "fileName": "rgb.png", 
 "length": 78, 
 "struc": {
  "name": "Type:PNG", 
  "offset": 0, 
  "subEls": [
   {
    "ASCII": true, 
    "name": "signature", 
    "offset": 0, 
    "size": 8, 
    "type": "magic", 
    "value": "\\x89PNG\\r\\n\\x1a\\n"
   }, 
[...]
  • generate Assembly source to rebuild the file via Nasm/Yasm.
db `\x89PNG\r\n\x1a\n`                            ; signature                    ;0000: 89 50 ..... 1a 0a (+8)

chunk1:                                           ; chunk1 { //Image Header
 ddbe 13                                          ;  length                      ;0008: 00 00 00 0d (+4)
;ddbe (chunk1.crc32 - chunk1.data)

.type db `IHDR`                                   ;  type                        ;000c: 49 48 44 52 (+4)

.data:                                            ; Data {
  incbin 'rgb.png', 0x10, 0xd                                                    ;0010: 00 00 ..... 00 00 (+13)
  ;}                                              ;   } //Data

.crc32 ddbe 0x948283e3                            ;  crc-32                      ;001d: 94 82 83 e3 (+4)
 ;> chunk1.crc32=CRC32(chunk1.type,chunk1.crc32)
;}                                                ; } //chunk

[...]

Dat(-a visualizer)

Exists in 2 flavors:

  • DatPy exports to ANSI text, which can then be converted to HTML (to paste in web forms), RTF (to paste in Office Files) or TeX via tools like AnsiFilter

light in narrow mode

dark in wide mode

  • DatJS is relying on Albert to render SVG in the browser. It can be converted to PDF.

light Ansi theme

Shades of Purple theme

sbud-v2's People

Contributors

angea avatar evol avatar

Stargazers

 avatar Brian Gergens avatar Anne Thorpe avatar PathFinder  avatar Johan Burati avatar  avatar  avatar Rémi Burtin avatar  avatar Jonathan Beri avatar  avatar Nguyễn Tuấn Dũng avatar  avatar  avatar KOLANICH avatar Jaroslav Lobačevski avatar Johannes Baiter avatar Ateş Göral avatar Paul avatar  avatar eau avatar Alwin Blok avatar A ghost. avatar  avatar  avatar  avatar James Eggleton avatar Gal Tashma avatar Atarii avatar Felix Guerrero avatar Matthieu avatar Jakub Czekański avatar Roman Hossain Shaon avatar Kamiya avatar Sora Morimoto avatar Gabriel Radanne avatar Eli Grey avatar Mohamed Saher avatar Stefan Hagen avatar wolfi3 avatar  avatar  avatar Jeff Carpenter avatar redshiftzero avatar Sod avatar Suri avatar  avatar  avatar Jonas Hermsmeier avatar  avatar Nicholas Porter avatar Brad Larsen avatar Benjamin Levy avatar Jiaxi ® avatar Valentino Constantinou avatar Sornram9254 avatar  avatar Alexandra Magin avatar RT Hatfield avatar  avatar ik5 avatar Nathan RYDIN avatar Aaron Lichtman avatar Aleksandr Bogdanov avatar Matthias avatar Andrii Polkovnychenko avatar Icewall avatar Yuval Kogman avatar Raghava Nellaturu avatar  avatar Paweł Grabarz avatar Lense avatar Philippe Lagadec avatar Youfu Zhang avatar Ivan Zorin avatar G.Grandes avatar  avatar Royce Williams avatar  avatar Ryan Carter avatar David Kirby avatar AW avatar Alexandre Dulaunoy avatar Mauro Risonho de Paula Assumpção avatar  avatar

Watchers

Markus Piéton avatar Valentino Constantinou avatar  avatar Philippe Lagadec avatar  avatar Thomas avatar Andrii Polkovnychenko 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.