Diving into the Go toolchain to obfuscate builds

Come for a deep dive into the Go toolchain, including how "go build" runs the compiler and linker, and how all of it can be leveraged to write advanced tools like a code obfuscator. 

Abstract

Come for a deep dive into the Go toolchain, including how "go build" runs the compiler and linker, and how all of it can be leveraged to write advanced tools like a code obfuscator.  Go has a great ecosystem for tooling. Not only is the language fairly simple, but there are also excellent libraries to parse, type-check, and manipulate code. Thanks to the above, many tools exist out there, from linters to dependency analyzers and editor integrations. However, there's a space that hasn't been explored much so far - modifying Go builds, in particular by hooking straight into the "go build" command and its components, such as the compiler and linker.  We'll dive deep into how the Go toolchain works, what pieces are the most interesting, and what kind of tools could be built with them. Finally, we will walk through a real use case; obfuscating Go code. Thanks to the legwork in the previous section, we'll quickly show how to obfuscate Go code straight from "go build" without a custom pre-process step.

Video

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS