Package ghidra.pcode.emu.taint
Class TaintPcodeEmulator
java.lang.Object
ghidra.pcode.emu.AbstractPcodeMachine<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
- All Implemented Interfaces:
PcodeMachine<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
An emulator with taint analysis
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.emu.PcodeMachine
PcodeMachine.AccessKind, PcodeMachine.SwiMode -
Field Summary
Fields inherited from class ghidra.pcode.emu.AbstractPcodeMachine
accessBreakpoints, arithmetic, cb, injects, language, library, stubLibrary, suspended, swiMode, threads, threadsView -
Constructor Summary
ConstructorsConstructorDescriptionTaintPcodeEmulator(Language language) Create an emulatorTaintPcodeEmulator(Language language, PcodeEmulationCallbacks<org.apache.commons.lang3.tuple.Pair<byte[], TaintVec>> cb) Create an emulator -
Method Summary
Modifier and TypeMethodDescriptionprotected AuxEmulatorPartsFactory<TaintVec> Get the factory that manufactures parts for this emulatorGet the machine's shared (memory) stateMethods inherited from class ghidra.pcode.emu.auxiliary.AuxPcodeEmulator
createArithmetic, createLocalState, createSharedState, createThread, createThreadStubLibrary, createUseropLibraryMethods inherited from class ghidra.pcode.emu.AbstractPcodeMachine
addAccessBreakpoint, addBreakpoint, assertSleigh, checkLoad, checkStore, clearAccessBreakpoints, clearAllInjects, clearInject, compileSleigh, doPluggableInitialization, getAllThreads, getArithmetic, getInject, getLanguage, getPluggableInitializer, getSoftwareInterruptMode, getStubUseropLibrary, getThread, getUseropLibrary, inject, isSuspended, newThread, newThread, setSoftwareInterruptMode, setSuspended, stepped, swi
-
Constructor Details
-
TaintPcodeEmulator
public TaintPcodeEmulator(Language language, PcodeEmulationCallbacks<org.apache.commons.lang3.tuple.Pair<byte[], TaintVec>> cb) Create an emulator- Parameters:
language- the language (processor model)cb- callbacks to receive emulation events
-
TaintPcodeEmulator
Create an emulator- Parameters:
language- the language (processor model)
-
-
Method Details
-
getPartsFactory
Get the factory that manufactures parts for this emulatorHere, we just return the singleton parts factory. This appears simple because all the complexity is encapsulated in the factory. See
TaintPartsFactoryto see everything the implementation actually entails.- Specified by:
getPartsFactoryin classAuxPcodeEmulator<TaintVec>- Returns:
- the factory
-