For Go programmers, a cheap CGo pattern to give Jia Tan a headache(gist.github.com) |
For Go programmers, a cheap CGo pattern to give Jia Tan a headache(gist.github.com) |
Another mechanism could be using go routines to modify memory and pointers/references to a slice that is held by the main process, because that would add another layer of noise. You could also make it so that only a magic value in that memory leads to successful API calls, and the other values will just throw errors down the line which are ignored/stubbed. That would make effectively debugging it impossible.
And, of course, to use garble to obfuscate symbols. Maybe the goal of a project like this could be an "unexploitable" binary?
Has anyone compiled and used go/compile with muslc?