bddisasm

(โ˜… 1,084)

bddisasm is a fast, lightweight, x86/x64 instruction decoder. The project also features a fast, basic, x86/x64 instruction emulator, designed specifically to detect shellcode-like behavior.

  • .gitignore
  • .readthedocs.yaml
  • .vsconfig
  • bddisasm.pc.in
  • bddisasm.sln
  • bddisasmConfig.cmake
  • benchmark.sh
  • CHANGELOG.md
  • CMakeLists.txt
  • CMakePresets.json
  • Dockerfile.fuzzing
  • LICENSE
  • Makefile
  • prepare_fuzzing_image.sh
  • README.md
  • SECURITY.md

# Installation Guide

1. Get the code
git clone https://github.com/bitdefender/bddisasm

Downloads the entire project code from GitHub to your computer.

cd bddisasm

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -f Dockerfile.fuzzing -t bddisasm .

Builds a runnable image based on the Dockerfile.

docker run -p 8080:80 bddisasm

Runs the built image as an actual container.

โœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

3. CMake

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • CMake The tool used to generate build configuration.
  • C/C++ ์ปดํŒŒ์ผ๋Ÿฌ Windows needs Visual Studio (Community edition, free), macOS needs Xcode Command Line Tools, Linux needs the gcc/g++ package.
cmake -B build .

Type this command into your terminal and run it.

cmake --build build

Type this command into your terminal and run it.

cmake -B build . -DBDD_INCLUDE_TOOL=OFF

Type this command into your terminal and run it.

cmake --build build --target install

Type this command into your terminal and run it.

cmake --build build --target isagenerator

Type this command into your terminal and run it.

โœ… Check that an executable was created inside the build folder, then run it directly (e.g. ./build/app_name).

Pulled directly from this repo's README.

4. .NET

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • .NET SDK The SDK required for the dotnet command.
dotnet restore

Downloads the packages the project depends on.

dotnet run

Builds the project and runs it immediately.

โœ… After dotnet run, check the message or address shown in the terminal.

5. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
โš ๏ธ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
pip install .

Installs the package published on PyPI directly โ€” no need to clone the source.

python <์‹คํ–‰ํ•  ํŒŒ์ผ๋ช…>.py # README์—์„œ ์ •ํ™•ํ•œ ์‹คํ–‰ ํŒŒ์ผ๋ช…์„ ํ™•์ธํ•˜์„ธ์š”

Runs the Python script (or module).

โœ… If it runs without errors and prints output in the terminal, it worked.

6. Rust

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Rust (rustup) Installing via rustup also installs cargo.
โš ๏ธ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd bindings/rsbddisasm

This project's files live in a subfolder, so move into it first.

cargo build --release

Compiles the Rust project.

cargo run

Builds and then immediately runs the program.

โœ… If cargo build finishes without errors, it worked. The executable is created under target/.

7. Make

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make

Compiles the code based on the generated build configuration to produce an executable.

โœ… If it finishes without errors, it worked. Try running the generated executable directly.
// repository documentation