burrowers-garble @ v0.18.0
integrity
- size
- 250.9 KiB
- downloaded
- last checked
- overlays
- go
- detected
- go module mvdan.cc/garble · go module zip unavailable: symlinks (1): "CLAUDE.md"
release notes
This release adds support for Go 1.27 and drops support for Go 1.26.
Builds are now 10% to 15% faster, depending on the size of the build and the number of spare CPU cores, as the patched linker is now built in the background while packages are listed rather than right before linking.
Experimental control flow obfuscation via //garble:controlflow is now reproducible for a given -seed, and handles many more Go constructs: bound method values, generic conversions, types declared in block scopes, named map and string types, blank struct fields, and comma-ok receives in select. Ranging over a string now reports byte offsets as the key, as Go does.
-tiny now strips more identifying information from binaries: the text of fatal error messages routed through standard packages, and Linux runtime VMA labels. When linking externally, the native build ID added by the C toolchain is now stripped as well, except on macOS, where dyld requires it.
-tiny also no longer breaks runtime behavior which depends on function names, such as panicwrap's recoverable panics and the GC argument maps for reflect calls; the latter could affect memory safety in regular builds too.
The detection of types used with reflection now repeats until it settles, rather than stopping after a single pass, so reflection use which spreads over a long chain of calls is no longer missed.
A number of fixes are also included:
- Allow the implicit dependencies which the go command adds for the linker,
such as
runtime/cgowhen linking externally - Resolve test-variant dependencies by their suffixed key; see #1018
- Don't obfuscate string literals nested inside constant expressions
- Obfuscate parenthesized
&[]byte{...}literals; see #1056 - Preserve the capacity of decoded byte slice literals; see #1057
- Don't reference generic type aliases when keeping imports alive; see #1069
- Don't patch and build the linker for
garble reverseandgarble map
Consider becoming a sponsor if you benefit from the work that went into this release!
download
curl -fL -o v0.18.0.zip https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.zip
printf '%s %s\n' '5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8' 'v0.18.0.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.zip"
$out = "v0.18.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8") { throw "sha256 mismatch" }
curl -fL -o v0.18.0.tar.gz https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz
printf '%s %s\n' 'f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708' 'v0.18.0.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz"
$out = "v0.18.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v0.18.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.zip
printf '%s %s\n' '5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8' 'v0.18.0.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.zip"
$out = "v0.18.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8") { throw "sha256 mismatch" }
curl -fL -o v0.18.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz
printf '%s %s\n' 'f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708' 'v0.18.0.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz"
$out = "v0.18.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v0.18.0.zip | zip | 253.7 KiB |
blake3-24 6e856c9add9666229187a00d708f6097c72b422dabc8ea38
sha256 5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8
sha1 dd236264ea36b01b0e9f53e5121cf7025fde6e11
|
| v0.18.0.tar.gz | tar.gz | 199.1 KiB |
blake3-24 86faf487fbf8cb2dfbf8a23ae67dafc6135d6120ab9be64f
sha256 f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708
sha1 863a0744132db428805a7313d3344fea78b931b0
|
install
http_archive(
name = "burrowers-garble",
urls = ["https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz"],
integrity = "sha256-9a1NAS2LnQiuODreGbvIxwiLDB99feOBDThHwImwlwg=",
strip_prefix = "burrowers-garble-v0.18.0",
)
.url = "https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz",
install via yggdrasil mesh
http_archive(
name = "burrowers-garble",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz"],
integrity = "sha256-9a1NAS2LnQiuODreGbvIxwiLDB99feOBDThHwImwlwg=",
strip_prefix = "burrowers-garble-v0.18.0",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz",