MCPcopy Create free account
hub / github.com/connorjaydunn/BinaryShield

github.com/connorjaydunn/BinaryShield @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
232 symbols 457 edges 17 files 1 documented · 0% updated 21mo ago★ 3231 open issues

Browse by type

Functions 159 Types & classes 73
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BinaryShield

BinaryShield is an open-source, bin-to-bin x86-64 code virtualizer designed to offer strong protection against reverse engineering efforts. It translates commonly used x86-64 instructions into a custom bytecode, which is executed by a secure, purpose-built virtual machine. For more information on virtualization and the technical details of how the BinaryShield VM works, click here.

Features

  • Bytecode encryption (soon)
  • Multi-Thread safe VM
  • VM handler mutation (soon)
  • Stack-Based, RISC VM
  • Multiple VM handler instances
  • Wide range of supported opcodes
  • Trivial to implement support for new opcodes
  • VM handler integrity checks (soon)
  • Over 60+ VM handlers

Screenshots

before virtualization

after virtualization

Dependencies

Usage

binaryshield.exe <target binary path> <start-rva> <end-rva>

Example:

binaryshield.exe calc.exe 0x16D0 0x16E6

TODO

  • Bytecode encryption
  • ~~VM context collision check~~
  • VM handler mutation
  • VM handler integrity checks
  • ~~Multiple VM handler instances~~
  • Anti-Debugger checks
  • Add function by code markers
  • Randomised VM context
  • Ability to virtualize areas of code, not just functions

Disclaimer

BinaryShield is currently in a very early stage of development and is not suitable for commercial use at this time. While the core functionality is in place, there may still be bugs, incomplete features, and potential security vulnerabilities.

I am actively working on improving and expanding the tool, and will continue to release updates regularly. Feedback and contributions are welcome.

Core symbols most depended-on inside this repo

Shape

Method 121
Class 71
Function 38
Enum 2

Languages

C++100%

Modules by API surface

src/vm_handler.h130 symbols
src/vm.cpp32 symbols
src/pe.cpp19 symbols
src/instruction.cpp11 symbols
src/vm_section.cpp10 symbols
src/function.cpp8 symbols
src/vm_handler.cpp6 symbols
src/util.cpp4 symbols
src/virtual_instruction.cpp3 symbols
src/vm.h2 symbols
src/vm_section.h1 symbols
src/virtual_instruction.h1 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page