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/internal/literals
pagran 5e80f12be7
implement flattening hardening
Without hardening, obfuscation is vulnerable to analysis via symbolic
execution because all keys are opened, and it is easy to trace their
connections. Added extendable (contribution-friendly) hardening
mechanism that makes it harder to determine relationship between key and
execution block through key obfuscation.

There are 2 hardeners implemented and both are compatible with literal
obfuscation, which can make analysis even more difficult.
8 months ago
..
fuzz_test.go internal/literals: add fuzzer 1 year ago
literals.go implement flattening hardening 8 months ago
obfuscators.go use the "simple" obfuscator for large literals 1 year ago
random_testing.go internal/literals: add benchmark to measure the run-time overhead 1 year ago
seed.go avoid using math/rand's global funcs like Seed and Intn 2 years ago
shuffle.go preallocate data in shuffle and split literal obfuscator 1 year ago
simple.go avoid using math/rand's global funcs like Seed and Intn 2 years ago
split.go preallocate data in shuffle and split literal obfuscator 1 year ago
swap.go avoid using math/rand's global funcs like Seed and Intn 2 years ago