[ Official Site ] [ About ] [ Features ] [ BENCHMARKS ] [ DOCUMENTATION ]
DByte is a fast low-level scripting language for binary parsing, buffer patching, byte search, typed integer work, and automation scripts that need simple syntax with predictable performance.
Built for byte-level jobs. Not for hype. Not for framework circus. Just open the data, hit the buffer, patch what needs patching, and ship.
Public Alpha — Expect breaking changes before stable release.
Caution
Warning: This OS is experimental. Run it in a VM if you value your data.
- Low-level scripting focused on binary parsing, buffer patching, byte search, and typed integer work
- Statically checked, Python-like syntax with a bytecode VM
bytesand mutablebufferdata types with powerful stdlib- DByteOS userland experiments (host-runnable, not a full OS)
- Handmade, minimal, direct — no framework bloat
- Project workflow with
Dbyte.toml - Binary stdlib for endian-aware operations
- Buffer stdlib (
load,save,find,replace,slice, etc.) - Built-in test runner:
dbyte test - Interactive REPL + real DByte-native shell
- Personal tools for hexdump, patching, binary inspection
- Try the ISO (VM recommended): Download Latest ISO
- Read the docs: https://dbytelang.site/docs/
- Try MusicPlayers: bytedeck
dbyte --version
dbyte repl
dbyte shell
dbyte run examples/hello.dby
dbyte testdbyte shell --rc examples/dbyteos/.dbytercimport std.buffer as buf
import std.fs as fs
let b: buffer = buf.load("sample.bin")
let pos: int = buf.find(b, b"\xDE\xAD\xBE\xEF")
if pos >= 0:
buf.replace(b, pos, b"\x90\x90\x90\x90")
buf.save("sample.patched.bin", b)
personal_tools/ — hexdump, bininfo, find-bytes, patch-bytes, u32-table
Run with shortcuts inside the shell: hexdump, patch-bytes, etc.
Rust host applications can embed the tree runtime through dbyte_embed:
use dbyte_embed::DByteRuntime;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut rt = DByteRuntime::new();
rt.run_source("host", "let x: int = 40")?;
let out = rt.run_source_capture("host", "print(x + 2)")?;
assert_eq!(out.stdout.trim(), "42");
Ok(())
}The embed API uses persistent tree-interpreter state and does not auto-load
.dbyterc; host applications opt into startup scripts with load_rc().
- Repository: Deadbytes101/DByte
- Creator: About DEADBYTE
- Discord: Join Community
This is alpha software. Run in VM if you value your data.
