Class TaintEmulatorFactory

java.lang.Object
ghidra.pcode.emu.taint.TaintEmulatorFactory
All Implemented Interfaces:
EmulatorFactory, ExtensionPoint

public class TaintEmulatorFactory extends Object implements EmulatorFactory
An emulator factory for making the TaintPcodeEmulator discoverable to the UI

This is the final class to create a full Debugger-integrated emulator. This class is what makes it appear in the menu of possible emulators the user may configure.

  • Constructor Details

    • TaintEmulatorFactory

      public TaintEmulatorFactory()
  • Method Details

    • delayedWriteTrace

      public static TraceEmulationIntegration.Writer delayedWriteTrace(PcodeTraceAccess access)
      This is conventionally available for testing and for scripts that would like to create a trace-integrated emulator without using the service.
      Parameters:
      access - the means of accessing the integrated trace
      Returns:
      a writer with callbacks for trace integration
    • addHandlers

      public static void addHandlers(TraceEmulationIntegration.Writer writer)
      A common place to factor addition of the required handler.

      It is presumed something else has or will add the other handlers, e.g., for the bytes.

      Parameters:
      writer - the writer to add handlers to
    • getTitle

      public String getTitle()
      Description copied from interface: EmulatorFactory
      Get the title, to appear in menus and dialogs
      Specified by:
      getTitle in interface EmulatorFactory
      Returns:
      the title
    • create

      Description copied from interface: EmulatorFactory
      Create the emulator
      Specified by:
      create in interface EmulatorFactory
      Parameters:
      access - the trace-and-debugger access shim
      writer - the Debugger's emulation callbacks for UI integration
      Returns:
      the emulator with callbacks installed