難読化されたビルド
Wailsでは、garbleを使用したアプリケーションの難読化をサポートしています。
wails build
コマンドで-obfuscate
フラグを使用することで、ビルド時に難読化を有効にすることができます:
wails build -obfuscated
また、難読化に関する設定をカスタマイズするために、-garbleargs
フラグを使用できます:
wails build -obfuscated -garbleargs "-literals -tiny -seed=myrandomseed"
These settings may be persisted in your project config.
動作の仕組み
標準のビルドでは、バインドされたすべてのメソッドは、フロントエンドのwindow.go
変数から利用することができます。 これらのメソッドが呼び出されると、対応するバックエンドメソッドが完全修飾関数名で呼び出されます。 難読化ビルドの場合、メソッドは名前の代わりにIDでバインドされます。 wailsjs
ディレクトリに生成されたバインディングは、このIDを使用してバックエンドの関数を呼び出します。
備考
アプリケーションを難読化した状態で動作させるためには、wailsjs
ディレクトリの配下に生成されたバインディングを使用する必要があります。
例
Importing the "Greet" method from the bindings like this:
import { Greet } from "../../wailsjs/go/main/App";
// snip
Greet("World");
これは、バインディングがIDで再生成され、呼び出しメカニズムが更新されるため、難読化モードでメソッドが正しく動作することを保証します。