You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
garble/testdata/script
pagran d47e0761eb
Prevent automated plaintext extraction of literals with current tools (#930)
Some programs which could automatically reverse string literals obfuscated with `-literals` exist.

They currently work by emulating the string literal decryption functions we insert.

We prevent this naive emulation from succeeding by making the decryption functions dependent on global state.

This can still be broken with enough effort, we are curious which approach reverse-engineers come up with next, we certainly still have some ideas to make this harder.

Fixes #926
---------

Co-authored-by: Paul Scheduikat <lu4p@pm.me>
9 months ago
..
asm.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
atomic.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
basic.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
cache.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
cgo.txtar avoid patching our reflect code into _cgo_gotypes.go 10 months ago
crossbuild.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
ctrlflow.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
debugdir.txtar refuse to delete unknown files with -debugdir 11 months ago
embed.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
goenv.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
gogarble.txtar clarify and test that runtime.GOROOT is not available 1 year ago
gotoolchain.txtar properly patch the linker when GOROOT is a symlink 10 months ago
goversion.txtar drop support for Go 1.23 10 months ago
help.txtar rely on `go build` stamping a version for local builds 10 months ago
implement.txtar hash structs via the bundled and altered typeutil.hash 1 year ago
imports.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
init.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
ldflags.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
linker.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
linkname.txtar add a testscript with the linknames that bytedance/sonic/loader has 10 months ago
linkname_forbid.txtar refuse to obfuscate bytedance/sonic/loader 10 months ago
list_error.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
literals.txtar Prevent automated plaintext extraction of literals with current tools (#930) 9 months ago
modinfo.txtar bump unsupportedGo to mark Go 1.24 as supported 1 year ago
plugin.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
position.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
reflect.txtar obfuscate all names used in reflection 1 year ago
reverse.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
run.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
seed-cache.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
seed.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
syntax.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
test.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
tiny.txtar drop Go 1.22 and require Go 1.23.0 or later (#876) 1 year ago
typeparams.txtar skip all type parameters in recordType 1 year ago