Daniel Martí
c7d1fc7c60
strip buildid information from linked binaries
...
Otherwise, one can use 'go tool buildid' to obtain the main package's
build ID, which can make de-obfuscating the main package much simpler.
Fixes #43 .
5 years ago
Daniel Martí
462f60a307
sto pusing -toolexec directly in the tests
...
Since we introduced $GARBLE_DIR, we stopped recommending the use of
toolexec directly. It's still possible to set up the right flags and env
vars, but that will be a moving target.
In particular, string obfuscation in #16 will require using $GARBLE_DIR
in more scenarios. A work-in-progress patch for string obfuscation
triggered this test script to start failing for the reason above.
While at it, we don't care about what the second build contains, since
we already compare it with the previous build.
5 years ago
Daniel Martí
53272a1eda
do less work in 'go test -short'
...
Only reduces the approximate elapsed time on my laptop from 7.8s to
7.5s, but that's still a win.
5 years ago
Daniel Martí
308e984293
don't use regexes when searching binaries for strings
...
This is a bit simpler, and saves us a small amount of CPU work in the
tests.
5 years ago
Daniel Martí
30524ea282
shorten 'go test -short' run time
...
Down from ~11s to ~7s, as we can skip some extra checks.
While at it, avoid duplicate 'go test' builds in test.txt.
5 years ago
Daniel Martí
5556be7402
make the tool work on Windows, enable tests
...
The tests required a few last tweaks to work on Windows.
5 years ago
Daniel Martí
0058dfc12a
make output binaries deterministic
...
We were leaking temporary file paths, which is no longer the case.
5 years ago
Daniel Martí
ab560ff007
start testing on GitHub Actions
...
No windows yet, because a few portability issues remain.
5 years ago
Daniel Martí
e08dd99c1e
introduce a binary grep command for the tests
...
The problem with the "grep" built-in command is that it prints the
entire data if there is an error. We don't want megabytes of binary
output for a test.
5 years ago
Daniel Martí
766bb47b82
support std imports
5 years ago
Daniel Martí
764af03e89
introduce 'garble build' shortcut
...
This way, the user doesn't need to remember to use flags like -a and
-trimpath. Also because we might need more 'go build' flags in the
future.
5 years ago
Daniel Martí
63f58242fb
move garble binary setup with $PATH to Setup
...
This way, it's ready for multiple scripts.
5 years ago
Daniel Martí
8119fa0e62
use readelf in a way that it prints less output
5 years ago
Daniel Martí
f4e356ab13
start hashing identifiers
5 years ago
Daniel Martí
f47c12caba
add a bit more docs
5 years ago
Daniel Martí
a670f80fe9
error if the user forgot -trimpath
5 years ago
Daniel Martí
f81b92a0fa
start enforcing the link flags -w -s
5 years ago
Daniel Martí
f5f72ef626
initial commit
5 years ago