Using LD_PRELOAD to make date return a specific date

Kelly Jones kelly.terry.jones at gmail.com
Wed Apr 25 02:39:55 UTC 2007


I recently discovered LD_PRELOAD, a cool environment variable that
lets a library "intercept" system calls. For example, setting
LD_PRELOAD to /usr/lib/libtsocks.so lets tsocks intercept socket
connections and redirect them to a SOCKS proxy.

My question: how can I write a library that intercepts the
gettimeofday() system call (or time() or whatever the 'date' command
uses) and gets 'date' to return, say, "Thu Jan 1 00:00:00 UTC 1970"?

I realize this involves a couple of steps (writing a C "library" for
one), so any pointers are appreciated. My real intentions are more
complex (and sinister <G>).

-- 
We're just a Bunch Of Regular Guys, a collective group that's trying
to understand and assimilate technology. We feel that resistance to
new ideas and technology is unwise and ultimately futile.


More information about the freebsd-questions mailing list