Settings

Theme

For Go programmers, a cheap CGo pattern to give Jia Tan a headache

gist.github.com

44 points by CanaryLayout 2 years ago · 2 comments

Reader

CanaryLayoutOP 2 years ago

TL;DR: force them to learn not just systemd, ld, but also all of pthreads and the go runtime itself

  • cookiengineer 2 years ago

    Well, I mean, this is pretty similar to muslc's approach of randomizing memory offsets on bootup of the binary. Only that there's a lot of obfuscation added on top.

    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?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection