s2e-env
s2e-env copied to clipboard
Port Decree-style PoV generator to Linux (and Windows)
Test with https://github.com/trailofbits/cb-multios
Linux and Windows only support file-based PoVs, i.e., programs that read input from a file. In general, CTF binaries read/write to stdin/stdout, which is currently supported by the DecreePovGenerator plugin. Unfortunately, DecreePovGenerator depends on DecreeMonitor, which prevents it from being usable on Linux/Windows.
This issue is about making DecreePovGenerator OS-independent, or at least work on Linux. This will consist of identifying what Decree-specific signals the plugin depends on and porting/refactoring these signals to Linux. The signals a read()/write() and random() syscalls mostly.
There are several ways that could be used to intercept these syscalls:
- LD_PRELOAD (doesn't work with statically-linked binaries)
- Instrumenting the Linux kernel (either hard-coding or using system tap hooks).
Windows may be a bit trickier, as the syscall interface is much more complex.
Partially done in #503