Class TaintFileReadsLinuxAmd64SyscallLibrary

java.lang.Object
ghidra.pcode.exec.AnnotatedPcodeUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
ghidra.pcode.emu.sys.AnnotatedEmuSyscallUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
ghidra.pcode.emu.unix.AbstractEmuUnixSyscallUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
ghidra.pcode.emu.linux.AbstractEmuLinuxSyscallUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
ghidra.pcode.emu.linux.EmuLinuxAmd64SyscallUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
ghidra.pcode.emu.taint.lib.TaintFileReadsLinuxAmd64SyscallLibrary
All Implemented Interfaces:
EmuSyscallLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>, PcodeUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>

public class TaintFileReadsLinuxAmd64SyscallLibrary extends EmuLinuxAmd64SyscallUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
A library for performing Taint Analysis on a Linux-amd64 program that reads from tainted files

This library is not currently accessible from the UI. It can be used with scripts by overriding a taint emulator's userop library factory method.

TODO: A means of adding and configuring userop libraries in the UI.

TODO: Example scripts.

  • Constructor Details

  • Method Details

    • unix_read

      public org.apache.commons.lang3.tuple.Pair<byte[],TaintVec> unix_read(PcodeExecutorState<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>> state, org.apache.commons.lang3.tuple.Pair<byte[],TaintVec> fd, org.apache.commons.lang3.tuple.Pair<byte[],TaintVec> bufPtr, org.apache.commons.lang3.tuple.Pair<byte[],TaintVec> count)
      Description copied from class: AbstractEmuUnixSyscallUseropLibrary
      The UNIX read system call
      Overrides:
      unix_read in class AbstractEmuUnixSyscallUseropLibrary<org.apache.commons.lang3.tuple.Pair<byte[],TaintVec>>
      Parameters:
      state - to receive the thread's state
      fd - the file descriptor
      bufPtr - the pointer to the buffer to receive the data
      count - the number of bytes to read
      Returns:
      the number of bytes successfully read