Skip to content

Instrument and Find Out: Parasitic Tracers for High-Level Languages

Jeff Dileo

Jeff Dileo demonstrates developing parasitic runtime tracers for interpreted languages lacking native introspection, enabling low-overhead dynamic analysis and fuzzing.

Summary

The Introspection Void in High-Level Programming Languages

While modern platforms like the JVM and V8 provide robust profiling and tracing hooks, many specialized or legacy interpreted runtimes lack dynamic introspection APIs.

Building Parasitic Dynamic Tracers

Jeff Dileo demonstrates injecting lightweight instrumentation logic directly into language runtime interpreters without recompiling target binaries or source code.

Extracting Execution Telemetry and Function Traces

Parasitic tracers hook internal bytecode dispatch loops, capturing function arguments, return values, and memory allocations in real time with minimal performance overhead.

Applications in Vulnerability Research and Fuzzing

Dileo illustrates how security researchers can use custom tracers to guide dynamic application fuzzing, discover hidden API routes, and analyze obfuscated scripts.

Related talks

Main Stage·52 min

  • DEF CON
  • Malware
  • Date: Aug 2016
  • Location: Las Vegas

Chris Eagle · Sk3wlDbg

Chris Eagle and Sk3wlDbg demonstrate integrating architecture-independent CPU emulation into IDA Pro to unpack obfuscated malware and trace execution.

ida-procpu-emulationreverse-engineering+2