從Go 二進位檔案中的文字指令中刪除檔案路徑
使用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
此指令將從產生的可執行檔中的檔案路徑中刪除指定的前綴。
使用 strip 工具
strip 工具也可用於從 ELF 二進位檔案中移除符號,包括檔案路徑。但是,不建議與 Go 二進位檔案一起使用,因為它可能會導致可執行檔案損壞或意外行為。
更多資訊
-trimpath 標誌是一個更從 Go 二進位檔案中刪除檔案路徑的可靠且一致的方法。它還得到 Go 工具鏈的支持,提供了穩定有效的解決方案。
透過使用 -trimpath 標誌,您可以產生減少檔案路徑資訊的 Go 二進位文件,提高安全性和隱私性。
以上是如何從 Go 二進位檔案中刪除檔案路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!