awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
burrowers avatar

burrowers/garble

0
View on GitHub↗
5,308 stars·340 forks·Go·bsd-3-clause·5 views

Garble

Garble is an obfuscation tool for Go binaries. It transforms compiled Go programs by hashing identifiers, package paths, and filenames into short, opaque strings, making reverse engineering more difficult. The tool produces reproducible results from identical source and a user-supplied seed, enabling verifiable builds. Obfuscation can be restricted to only those packages that match user-defined patterns, leaving other parts of the codebase untouched. Constant string literals in the binary are replaced with runtime-resolved expressions to hide their original content.

The tool integrates directly into the Go build pipeline, automatically intercepting and modifying compilation and linking steps. It works by rewriting the Go AST at compile time, replacing identifiers and paths before the binary is produced. Build metadata such as debug position information, symbol tables, and unused symbols are stripped out, reducing binary size and removing clues for attackers. The obfuscation process is deterministic: given the same seed and source code, the output is identical across builds. Scope selection uses pattern matching to decide which packages to obfuscate, giving fine-grained control.

Features

  • Go Binary Obfuscation - Obfuscates Go binaries by hashing identifiers, package paths, and filenames.
  • Compile-Time Identifier Rewriting - Rewrites identifiers and package paths into short hashes during Go compilation.
  • Binary Metadata Stripping - Strips debug positions, symbol tables, and runtime metadata from compiled Go binaries.
  • Go Binary Obfuscators - Transforms compiled Go binaries by hashing names and paths to hinder reverse engineering.
  • Go - Hooks into the Go build pipeline to intercept and modify compilation and linking steps.
  • Obfuscation Scope Filters - Applies obfuscation only to Go packages matching user-defined filters.
  • Seed-Driven Hashing - Uses a user-supplied seed to produce repeatable obfuscated output from identical inputs.
  • String Literal Obfuscation - Hides constant string values in Go binaries by replacing them with runtime-resolved expressions.
  • Obfuscation Scope Filters - Restricts obfuscation to packages matching user-defined name patterns.
  • String Literal Decoding - Replaces constant strings with runtime-resolved expressions to hide their original content.
  • Obfuscation Scope Filters - Restricts obfuscation to packages matching user-defined pattern filters.
  • String Literal Obfuscation - Replaces constant strings with runtime-resolved values to hide their original contents.
  • Deterministic Obfuscation Builds - Produces identical obfuscated binaries from the same source and seed for verifiable builds.
  • Build and Compilation Tools - Obfuscates Go source code.
  • Obfuscation - Obfuscator for Go builds.

Star history

Star history chart for burrowers/garbleStar history chart for burrowers/garble

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Garble

Similar open-source projects, ranked by how many features they share with Garble.
  • javascript-obfuscator/javascript-obfuscatorjavascript-obfuscator avatar

    javascript-obfuscator/javascript-obfuscator

    16,129View on GitHub↗

    This project is a JavaScript code protection tool designed to transform source code into a version that is difficult for humans to read. Its primary purpose is to protect intellectual property and prevent reverse engineering by altering the original program logic. The tool employs several advanced techniques to hinder analysis, including control flow flattening and the injection of dead code. It can compile functions into custom bytecode executed by an embedded virtual machine and encrypt string literals to prevent static analysis of text. Additional capabilities include anti-debugging mecha

    TypeScript
    View on GitHub↗16,129
  • trickster0/offensiverusttrickster0 avatar

    trickster0/OffensiveRust

    2,984View on GitHub↗

    OffensiveRust is a red team toolkit and malware development kit written in Rust. It serves as an evasion framework and post-exploitation library, providing a collection of offensive security primitives and a Windows API wrapper for interacting with low-level system functions and undocumented APIs. The project focuses on bypassing security software through direct system calls, memory obfuscation, and stealthy payload execution. It implements techniques to defeat static binary analysis via compile-time string encryption and payload obfuscation, while avoiding detection using parent process ID s

    Rust
    View on GitHub↗2,984
  • unixpickle/gobfuscateunixpickle avatar

    unixpickle/gobfuscate

    1,574View on GitHub↗

    Obfuscate Go binaries and packages

    Go
    View on GitHub↗1,574
  • bflattened/bflatbflattened avatar

    bflattened/bflat

    3,957View on GitHub↗

    bflat is a native compiler and ahead-of-time binary generator for C#. It transforms source code into self-contained native executables and machine code that run without requiring a separate runtime environment. The project features a cross-platform native toolchain capable of generating binaries for multiple operating systems and architectures from a single environment. It includes a mechanism for exporting C# logic as shared native libraries via a foreign function interface for integration with other programming languages. To support resource-constrained environments, it provides a binary o

    C#
    View on GitHub↗3,957
See all 30 alternatives to Garble→

Frequently asked questions

What does burrowers/garble do?

Garble is an obfuscation tool for Go binaries. It transforms compiled Go programs by hashing identifiers, package paths, and filenames into short, opaque strings, making reverse engineering more difficult. The tool produces reproducible results from identical source and a user-supplied seed, enabling verifiable builds. Obfuscation can be restricted to only those packages that match user-defined patterns, leaving other parts of the codebase untouched. Constant string…

What are the main features of burrowers/garble?

The main features of burrowers/garble are: Go Binary Obfuscation, Compile-Time Identifier Rewriting, Binary Metadata Stripping, Go Binary Obfuscators, Go, Obfuscation Scope Filters, Seed-Driven Hashing, String Literal Obfuscation.

What are some open-source alternatives to burrowers/garble?

Open-source alternatives to burrowers/garble include: javascript-obfuscator/javascript-obfuscator — This project is a JavaScript code protection tool designed to transform source code into a version that is difficult… trickster0/offensiverust — OffensiveRust is a red team toolkit and malware development kit written in Rust. It serves as an evasion framework and… unixpickle/gobfuscate — Obfuscate Go binaries and packages. obfuscar/obfuscar — Obfuscar is a .NET assembly obfuscator and managed code protector designed to prevent reverse engineering of compiled… bflattened/bflat — bflat is a native compiler and ahead-of-time binary generator for C#. It transforms source code into self-contained… sindresorhus/type-fest — type-fest is a library of reusable utility types for performing complex transformations and validations on objects,…