s2e-env icon indicating copy to clipboard operation
s2e-env copied to clipboard

Port Decree-style PoV generator to Linux (and Windows)

Open vitalych opened this issue 6 years ago • 1 comments

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.

vitalych avatar Jun 01 '18 11:06 vitalych

Partially done in #503

vitalych avatar Jun 02 '24 18:06 vitalych