C# 클래스 Fuzzer.TargetConnectors.GDB.GDBConnector

상속: GDBSubProcess, ITargetConnector, ISymbolTable
파일 보기 프로젝트 열기: areiter/InMemoryFuzzing 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
_file string
_runArgs string

공개 메소드들

메소드 설명
AllocateMemory ( System.UInt64 size ) : IAllocatedMemory

Uses malloc to allocate some more memory, there might be problems if malloc is not available in the current process. Maybe there is a better GDB-only solution?

Close ( ) : void
Connect ( ) : void
CreateCStyleReferenceOperatorVariable ( string expression, int size ) : ISymbolTableVariable
CreateCalculatedVariable ( string expression, int size ) : ISymbolTableVariable
CreateLogger ( string destination ) : IDataLogger
CreateSnapshot ( ) : ISnapshot
CreateVariable ( IAddressSpecifier address, int size ) : ISymbolTableVariable
CreateVariable ( string name, int size ) : ISymbolTableVariable
DebugContinue ( ) : IDebuggerStop
DebugContinue ( bool reverse ) : IDebuggerStop
FindMethod ( string methodName ) : ISymbolTableMethod
FreeMemory ( IAllocatedMemory memory ) : void

AllocateMemory

GDBConnector ( ) : System
GetParametersForMethod ( ISymbolTableMethod method ) : ISymbolTableVariable[]
GetRegisterValue ( string register ) : UInt64?
GetRegisters ( ) : Registers
GetStackFrameInfo ( ) : IStackFrameInfo
LookupBreakpoint ( int breakpointNum ) : GDBBreakpoint
LookupBreakpointByAddress ( System.UInt64 address ) : GDBBreakpoint
ReadMemory ( byte buffer, ulong address, ulong size ) : ulong
ResolveSymbol ( ISymbol symbol ) : IAddressSpecifier
ResolveSymbolToBreakpointAddress ( ISymbolTableMethod symbol ) : IAddressSpecifier
SaveExecutionLog ( string filename ) : void

Saves the reverse execution log to the specified file

SetRegisterValue ( string name, string value ) : void
SetSoftwareBreakpoint ( ISymbolTableMethod method, System.UInt64 size, string identifier ) : IBreakpoint
SetSoftwareBreakpoint ( ulong address, ulong size, string identifier ) : IBreakpoint
Setup ( string>.IDictionary config ) : void
SourceToAddress ( string lineArg ) : IAddressSpecifier
WriteMemory ( byte buffer, ulong address, ulong size ) : ulong
WriteMemory ( byte buffer, ulong address, ulong size, ISnapshot &aSnapshot ) : ulong

비공개 메소드들

메소드 설명
BreakpointRemoveFromList ( int breakpointNum ) : void
CheckCachedMethods ( bool forced ) : void
GdbStopped ( StopReasonEnum stopReason, GDBBreakpoint breakpoint, System.UInt64 address, System.Int64 status ) : void

메소드 상세

AllocateMemory() 공개 메소드

Uses malloc to allocate some more memory, there might be problems if malloc is not available in the current process. Maybe there is a better GDB-only solution?
public AllocateMemory ( System.UInt64 size ) : IAllocatedMemory
size System.UInt64 /// A ///
리턴 IAllocatedMemory

Close() 공개 메소드

public Close ( ) : void
리턴 void

Connect() 공개 메소드

public Connect ( ) : void
리턴 void

CreateCStyleReferenceOperatorVariable() 공개 메소드

public CreateCStyleReferenceOperatorVariable ( string expression, int size ) : ISymbolTableVariable
expression string
size int
리턴 ISymbolTableVariable

CreateCalculatedVariable() 공개 메소드

public CreateCalculatedVariable ( string expression, int size ) : ISymbolTableVariable
expression string
size int
리턴 ISymbolTableVariable

CreateLogger() 공개 메소드

public CreateLogger ( string destination ) : IDataLogger
destination string
리턴 IDataLogger

CreateSnapshot() 공개 메소드

public CreateSnapshot ( ) : ISnapshot
리턴 ISnapshot

CreateVariable() 공개 메소드

public CreateVariable ( IAddressSpecifier address, int size ) : ISymbolTableVariable
address IAddressSpecifier
size int
리턴 ISymbolTableVariable

CreateVariable() 공개 메소드

public CreateVariable ( string name, int size ) : ISymbolTableVariable
name string
size int
리턴 ISymbolTableVariable

DebugContinue() 공개 메소드

public DebugContinue ( ) : IDebuggerStop
리턴 IDebuggerStop

DebugContinue() 공개 메소드

public DebugContinue ( bool reverse ) : IDebuggerStop
reverse bool
리턴 IDebuggerStop

FindMethod() 공개 메소드

public FindMethod ( string methodName ) : ISymbolTableMethod
methodName string
리턴 ISymbolTableMethod

FreeMemory() 공개 메소드

AllocateMemory
public FreeMemory ( IAllocatedMemory memory ) : void
memory IAllocatedMemory /// A ///
리턴 void

GDBConnector() 공개 메소드

public GDBConnector ( ) : System
리턴 System

GetParametersForMethod() 공개 메소드

public GetParametersForMethod ( ISymbolTableMethod method ) : ISymbolTableVariable[]
method ISymbolTableMethod
리턴 ISymbolTableVariable[]

GetRegisterValue() 공개 메소드

public GetRegisterValue ( string register ) : UInt64?
register string
리턴 UInt64?

GetRegisters() 공개 메소드

public GetRegisters ( ) : Registers
리턴 Registers

GetStackFrameInfo() 공개 메소드

public GetStackFrameInfo ( ) : IStackFrameInfo
리턴 IStackFrameInfo

LookupBreakpoint() 공개 메소드

public LookupBreakpoint ( int breakpointNum ) : GDBBreakpoint
breakpointNum int
리턴 GDBBreakpoint

LookupBreakpointByAddress() 공개 메소드

public LookupBreakpointByAddress ( System.UInt64 address ) : GDBBreakpoint
address System.UInt64
리턴 GDBBreakpoint

ReadMemory() 공개 메소드

public ReadMemory ( byte buffer, ulong address, ulong size ) : ulong
buffer byte
address ulong
size ulong
리턴 ulong

ResolveSymbol() 공개 메소드

public ResolveSymbol ( ISymbol symbol ) : IAddressSpecifier
symbol ISymbol
리턴 IAddressSpecifier

ResolveSymbolToBreakpointAddress() 공개 메소드

public ResolveSymbolToBreakpointAddress ( ISymbolTableMethod symbol ) : IAddressSpecifier
symbol ISymbolTableMethod
리턴 IAddressSpecifier

SaveExecutionLog() 공개 메소드

Saves the reverse execution log to the specified file
public SaveExecutionLog ( string filename ) : void
filename string
리턴 void

SetRegisterValue() 공개 메소드

public SetRegisterValue ( string name, string value ) : void
name string
value string
리턴 void

SetSoftwareBreakpoint() 공개 메소드

public SetSoftwareBreakpoint ( ISymbolTableMethod method, System.UInt64 size, string identifier ) : IBreakpoint
method ISymbolTableMethod
size System.UInt64
identifier string
리턴 IBreakpoint

SetSoftwareBreakpoint() 공개 메소드

public SetSoftwareBreakpoint ( ulong address, ulong size, string identifier ) : IBreakpoint
address ulong
size ulong
identifier string
리턴 IBreakpoint

Setup() 공개 메소드

public Setup ( string>.IDictionary config ) : void
config string>.IDictionary
리턴 void

SourceToAddress() 공개 메소드

public SourceToAddress ( string lineArg ) : IAddressSpecifier
lineArg string
리턴 IAddressSpecifier

WriteMemory() 공개 메소드

public WriteMemory ( byte buffer, ulong address, ulong size ) : ulong
buffer byte
address ulong
size ulong
리턴 ulong

WriteMemory() 공개 메소드

public WriteMemory ( byte buffer, ulong address, ulong size, ISnapshot &aSnapshot ) : ulong
buffer byte
address ulong
size ulong
aSnapshot ISnapshot
리턴 ulong

프로퍼티 상세

_file 보호되어 있는 프로퍼티

File to read the symbol table from.
protected string _file
리턴 string

_runArgs 보호되어 있는 프로퍼티

In case the program is not started yet and the gdb connector executes a "run" command the _runArgs are appended and passed to the program
protected string _runArgs
리턴 string