It's worth mentioning that libfaketime [1] is a more mature alternative with macOS support and more complete coverage of the relevant system calls. Nothing against the current project but that might be a better choice for many people. [1] - https://github.com/wolfcw/libfaketime
Sadly, the license is GPL rather than the expected LGPL.
Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
21–30 of 31 posts
Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#22Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#23Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#24Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#25Nice Implementation! I built something similar a while ago to warp time in video games (for training reinforcement learning agents). Some issues off the top of my head (that I ran into): VDSO censoring is a lot harder than just symbol overriding, it has to actually be removed from the aux vector (third thing on the process stack when the process launches after arguments and environment variables. The EHDR entry is wh…
And the most foolproof way would be to run in a virtual machine or a prepared container. Pretty fast too. Having a clock cgroup would be easier and more useful than you'd think. Also, you can play tricks like ntpd does in a container. (e.g. adjtime)
A proposal should be made, if that's not part of the planned features.
Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#26It's worth mentioning that libfaketime [1] is a more mature alternative with macOS support and more complete coverage of the relevant system calls. Nothing against the current project but that might be a better choice for many people. [1] - https://github.com/wolfcw/libfaketime
Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#27I designed something similar for general fault injection [1] (and to learn rust). There's no intercept written for time syscalls yet, but it's on the issues list. [1] https://github.com/androm3da/libfaultinj
How does it compare to libfiu? https://blitiri.com.ar/p/libfiu/
Oh well, it's an interesting undertaking anyways.
It looks to me like libfiu has a pretty clever way of generating the libc wrappers from a config file.
Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#28cool name, sadly copyrighted http://tardis.wikia.com/wiki/Tardis:Copyrights
But trademarks have limited scope and the standard test for infringement is that it be "confusingly similar". Hilariously, BBC's TARDIS USPTO word mark [1] includes "... computer software for use in database management; ... computer, electronic and video games programs and equipment, namely, software,"
[1] registration #4161487 -- http://tmsearch.uspto.gov/bin/showfield?f=doc&state=4803:loe...
Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#29It uses ptrace, and ptrace sucks under Linux because you can't use it recursively (i.e., a process under ptrace can't ptrace another process).
Re: Show HN: TARDIS – Warp a process's perspective of time by hooking syscalls
#30cool name, sadly copyrighted http://tardis.wikia.com/wiki/Tardis:Copyrights
As pointed out elsewhere this page identifies a trademark on the term "TARDIS" and not a copyright. Terms like "TARDIS" cannot be copyrighted. But trademarks have limited scope and the standard test for infringement is that it be "confusingly similar". Hilariously, BBC's TARDIS USPTO word mark [1] includes "... computer software for use in database management; ... computer, electronic and video games programs and equ…
This search session has expired. Please start a search session again by clicking on the TRADEMARK icon, if you wish to continue.