DavidBuchanan314 / TARDIS

Trace And Rewrite Delays In Syscalls: Hooking time-related Linux syscalls to warp a process's perspective of time, using ptrace.
MIT License
158 stars 14 forks source link

Bypass VDSO More Robustly #6

Open DavidBuchanan314 opened 4 years ago

DavidBuchanan314 commented 4 years ago

As described here: https://news.ycombinator.com/item?id=14200889

maxbla commented 4 years ago

The suggested way to drop vdso in the linked gist doesn't work for me. What does work for me is using dlopen to open novdso.so with the flags RTLD_NOW and RTLD_DEEPBIND. This is just a workaround that allows the same LD_PRELOAD "trick" to work at the library (rather than user) level.

bigb4ng commented 7 months ago

@maxbla I have a fix to this I will post later today inspired by the gist, so there is no need for novdso.so anymore. The reason it probably didn't work for you is because you've modified vsdo of the tracer, not the tracee, so I fixed it with some ptrace magic.