MCPcopy Index your code
hub / github.com/WINSDK/bite

github.com/WINSDK/bite @v0.43

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.43 ↗ · + Follow
2,257 symbols 5,345 edges 94 files 291 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Ever wanted to inspect every bite of your binary.

Test

BiTE is a platform-agnostic executable analysis tool. It aims to offer an environment for inspecting the content of binaries and their debug info. While it is still in early development, various architectures are supported.

Showcase

Here is an example of the assembly listing viewing.

Assembly listing

The ability to view a binary's disassembly and the associated source code.

Source Code

Installation

Building from source.

cargo install --path .

Features yet to be implemented

Whenever I have time this year I'll try implementing most of these. \ If you feel like it, submit a pull request and I'll have a look at it!

  • [x] Port GUI to wgpu + winit
  • [x] Header with buttons and options
  • [x] Assembly listing exploration
  • [x] Interactive terminal
  • [ ] Assembly instruction byte patching
  • [x] Hex binary viewer
  • [ ] Debugging front-end's
  • [ ] GDB
  • [ ] LLDB
  • [ ] WinDbg
  • [x] X86-64 support
  • [x] AArch64/Armv7 support
  • [x] Riscv64gc/Riscv32gc support
  • [x] MIPS-V support
  • [x] Demangling support for most targets
  • [x] MSVC
  • [x] Itanium
  • [x] Rust
  • [x] Decoding datastructures depending on each section
  • [ ] Assembly listing lifting
  • [x] Resolving addresses
  • [x] Interpreting non-code data
  • [ ] Creating labels for relative jumps

Extension points exported contracts — how you extend this code

Demangle (Interface)
Converts an trivially printable node to a string. [16 implementers]
debugvault/src/msvc/mod.rs
ToTokens (Interface)
(no doc) [13 implementers]
decoder/src/lib.rs
Display (Interface)
(no doc) [23 implementers]
gui/src/common.rs
GetSaferUnchecked (Interface)
(no doc) [1 implementers]
decoder-x86_64/src/safer_unchecked.rs
ToData (Interface)
(no doc)
binformat/src/lib.rs
Parse (Interface)
Parses node potentially modifying the context. Output may depend on child nodes or the parent as they modify the context [27 …
debugvault/src/msvc/mod.rs
Decoded (Interface)
(no doc) [6 implementers]
decoder/src/lib.rs
GetTemplateArgs (Interface)
Determine whether this AST node is an instantiated[*] template function, and get its concrete template arguments. [*] N [7 …
debugvault/src/itanium/ast.rs

Core symbols most depended-on inside this repo

push
called by 1131
debugvault/src/demangler.rs
push
called by 317
debugvault/src/itanium/ast.rs
read_modrm
called by 264
decoder-x86_64/src/long_mode/mod.rs
read_modrm
called by 261
decoder-x86_64/src/protected_mode/mod.rs
evex_unchecked
called by 256
decoder-x86_64/src/protected_mode/mod.rs
evex_unchecked
called by 252
decoder-x86_64/src/long_mode/mod.rs
push
called by 244
debugvault/src/rust/mod.rs
parse
called by 239
debugvault/src/itanium/mod.rs

Shape

Method 1,060
Function 872
Class 185
Enum 121
Interface 19

Languages

Rust100%

Modules by API surface

decoder-x86_64/src/long_mode/mod.rs306 symbols
decoder-x86_64/src/protected_mode/mod.rs302 symbols
debugvault/src/itanium/ast.rs144 symbols
debugvault/src/msvc/tests.rs136 symbols
decoder-x86_64/src/long_mode/tests/mod.rs80 symbols
decoder-arm/tests/armv8/a64.rs79 symbols
decoder-x86_64/src/protected_mode/tests/mod.rs78 symbols
decoder-arm/src/armv7.rs69 symbols
debugvault/src/itanium/tests.rs60 symbols
decoder-arm/src/armv8/a64.rs47 symbols
decoder-riscv/src/lib.rs46 symbols
config/src/lib.rs44 symbols

For agents

$ claude mcp add bite \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact