Osx

libfaketime 和 Mac OS,LD_PRELOAD

  • December 4, 2017

執行 Mac OS 10.7.2 並嘗試執行libfaketime並沒有任何反應。我完全按照指示安裝和執行,只是時間和日期與系統中設置的完全一致?有其他人能夠在 OSX 上成功執行它嗎?

$ date
Mon Jan 30 21:05:09 CST 2012
$ LD_PRELOAD=./libfaketime.so.1 FAKETIME="-15d" date
Mon Jan 30 21:05:32 CST 2012

在 Mac OS 上使用 DYLD_INSERT_LIBRARIES 而不是 LD_PRELOAD。您可能還需要設置 DYLD_FORCE_FLAT_NAMESPACE。例如

DYLD_INSERT_LIBRARIES=./libfaketime.so.1 DYLD_FORCE_FLAT_NAMESPACE=y FAKETIME="-15d" date

如果你像這樣編譯庫:

gcc -shared -fPIC mylib.c -o mylib.so

您可以創建環境變數:

export DYLD_INSERT_LIBRARIES=./mylib.so
export DYLD_FORCE_FLAT_NAMESPACE=y

然後使用新載入的庫執行:

./program

筆記:

使用 macOS High Sierra (v 10.13.1)

引用自:https://unix.stackexchange.com/questions/30444