ホームページ >バックエンド開発 >Golang >Go バイナリからファイル パスを削除するにはどうすればよいですか?

Go バイナリからファイル パスを削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 08:39:10399ブラウズ

How Can I Remove File Paths from Go Binaries?

Go バイナリの TEXT ディレクティブからファイル パスを削除する

go build を使用して Go バイナリをビルドすると、結果の実行可能ファイルにファイルが含まれていることに気づくかもしれません。アセンブリコード内のパス。セキュリティまたはプライバシー上の理由から、この情報を削除することが望ましい場合があります。

-trimpath フラグの使用

Go バイナリの TEXT ディレクティブからファイル パスを削除するには、-trimpath フラグを使用します。使用されます。このフラグを使用すると、記録されたソース ファイル パスから削除するプレフィックスを指定できます。

このフラグを使用するには、go build コマンドの -gcflags 引数と -asmflags 引数に追加します。例:

CGO_ENABLED=0 go build -v -a -ldflags="-w -s" \
    -gcflags=-trimpath=/Users/myuser/dev/go/src \
    -asmflags=-trimpath=/Users/myuser/dev/go/src \
    -o ./fooapi spikes/mongoapi.go

このコマンドは、結果の実行可能ファイルのファイル パスから指定されたプレフィックスを削除します。

ストリップ ツールの使用

ストリップ ツールは、ファイル パスを含む ELF バイナリからシンボルを削除するために使用することもできます。ただし、実行可能ファイルの破損や予期しない動作が発生する可能性があるため、Go バイナリでの使用はお勧めできません。

詳細情報

-trimpath フラグは詳細です。 Go バイナリからファイル パスを削除するための信頼性と一貫性のある方法。 Go ツールチェーンでもサポートされており、安定した効果的なソリューションを提供します。

-trimpath フラグを使用すると、ファイル パス情報を削減した Go バイナリを生成でき、セキュリティとプライバシーが向上します。

以上がGo バイナリからファイル パスを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。