Passer au contenu principal
Version: Prochaine version 🚧

Obfuscated Builds

Wails includes support for obfuscating your application using garble.

To produce an obfuscated build, you can use the -obfuscate flag with the wails build command:

wails build -obfuscated

To customise the obfuscation settings, you can use the -garbleargs flag:

wails build -obfuscated -garbleargs "-literals -tiny -seed=myrandomseed"

These settings may be persisted in your project config.

How it works

In a standard build, all bound methods are available in the frontend under the window.go variable. When these methods are called, the corresponding backend method is called using the fully qualified function name. When using an obfuscated build, methods are bound using an ID instead of a name. The bindings generated in the wailsjs directory use these IDs to call the backend functions.


To ensure that your application will work in obfuscated mode, you must use the generated bindings under the wailsjs directory in your application.


Importing the "Greet" method from the bindings like this:

import { Greet } from "../../wailsjs/go/main/App";

// snip

will ensure that the method will work correctly in obfuscated mode, as the bindings will be regenerated with IDs and the call mechanism updated.