謝謝回答我的問題。我最近在為一個項目工作。在這個項目中,我編寫了一個共享庫并將 設置LD_PRELAOD為共享庫的路徑。我想通過使用這個共享庫來攔截一些程序的系統調用,例如socket(), bind(), send(). 它適用于 C 程序和 Python 程序,但不適用于 Golang 程序。后來我知道 Go 程序符合靜態庫。所以我嘗試了這個命令:go build -linkshared <test-name>,不幸的是,它失敗了。最后,我使用命令nm檢查應用程序中的符號。我發現了這些:# nm -Do <go-program-name> | grep socket# results are as follows<go-program-name>: <address> T net.socket<go-program-name>: <address> D net.socektFunc<go-program-name>: <address> T syscall.socket# nm -Do <C-program-name> | grep socket<C-program>: U socket這是屏幕截圖。 在此處輸入圖像描述 再次感謝。
- 1 回答
- 0 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消
