C# 클래스 DeviareLiteInterop.HookLib

파일 보기 프로젝트 열기: nektra/Deviare-InProc

공개 메소드들

메소드 설명
CreateProcess ( string applicationName, string commandLine, Nullable processAttributes, Nullable threadAttributes, bool inheritHandles, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo ) : ProcessInfo
CreateProcessWithDll ( string applicationName, string commandLine, Nullable processAttributes, Nullable threadAttributes, bool inheritHandles, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo, string dllName, IntPtr signalCompletedEvent, string initFunctionName ) : ProcessInfo
CreateProcessWithLogonAndDll ( string userName, string domain, string password, int logonFlags, string applicationName, string commandLine, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo, string dllName, IntPtr signalCompletedEvent, string initFunctionName ) : ProcessInfo
CreateProcessWithTokenAndDll ( IntPtr token, int logonFlags, string applicationName, string commandLine, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo, string dllName, IntPtr signalCompletedEvent, string initFunctionName ) : ProcessInfo
EnableHook ( object o, bool enable ) : void
GetModuleBaseAddress ( string moduleName ) : IntPtr
GetProcedureAddress ( IntPtr moduleBaseAddress, string procName ) : IntPtr
GetRemoteModuleBaseAddress ( int pid, string moduleName, bool scanMappedImages ) : IntPtr
GetRemoteProcedureAddress ( int pid, IntPtr moduleBaseAddress, string procName ) : IntPtr
Hook ( IntPtr origAddr, IntPtr newAddr ) : object
Hook ( IntPtr origAddr, IntPtr newAddr, int flags ) : object
Hook ( Type origClassType, string origMethodName, Type origParams, Type newClassType, string newMethodName, Type newParams ) : object
Hook ( Type origClassType, string origMethodName, Type origParams, Type newClassType, string newMethodName, Type newParams, int flags ) : object
HookLib ( ) : System
InjectDll ( int procId, string dllName, string initFunctionName, uint processInitWaitTimeoutMs ) : void
InjectDll ( int procId, string dllName, string initFunctionName, uint processInitWaitTimeoutMs, IntPtr &injectorThreadHandle ) : void
InjectDllH ( IntPtr procHandle, string dllName, string initFunctionName, uint processInitWaitTimeoutMs ) : void
InjectDllH ( IntPtr procHandle, string dllName, string initFunctionName, uint processInitWaitTimeoutMs, IntPtr &injectorThreadHandle ) : void
RemoteHook ( IntPtr origAddr, IntPtr newAddr, int pid ) : object
RemoteHook ( IntPtr origAddr, IntPtr newAddr, int pid, int flags ) : object
RemoveHook ( object o, bool disable ) : void
ResumeThread ( IntPtr threadHandle ) : void
ResumeThread ( SafeWaitHandle threadHandle ) : void
Unhook ( object o ) : void
UnhookAll ( ) : void
UnhookProcess ( int pid ) : void
WaitForInjectorThread ( IntPtr injectorThreadHandle, uint timeoutMs ) : uint

비공개 메소드들

메소드 설명
DotNetInit ( ) : void
DuplicateAndConvertToSafeWaitHandle ( IntPtr h ) : SafeWaitHandle
GetMethodAddress ( Type classType, string methodName, Type parameters ) : IntPtr
GetProperty ( Object obj, string propName ) : Object
IntPtr2Obj ( IntPtr val ) : object
Invoke ( Object obj, string methodName ) : Object
Invoke ( Object obj, string methodName, object parameters ) : Object
Invoke ( Object obj, string methodName, object parameters, ParameterModifier modifiers ) : Object
NativeCloseHandle ( IntPtr hThread ) : uint
NativeCreateProcess ( string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes, [ bInheritHandles, uint dwCreationFlags, string lpEnvironment, string lpCurrentDirectory, IntPtr lpStartupInfo, PROCESS_INFORMATION &lpProcessInformation ) : bool
NativeDuplicateHandle ( IntPtr hSourceProcessHandle, IntPtr hSourceHandle, IntPtr hTargetProcessHandle, IntPtr &lpTargetHandle, uint dwDesiredAccess, [ bInheritHandle, uint dwOptions ) : bool
NativeGetCurrentProcess ( ) : IntPtr
NativeGetExitCodeThread ( IntPtr hThread, uint &lpExitCode ) : bool
NativeResumeThread ( IntPtr hThread ) : uint
NativeWaitForSingleObject ( IntPtr hHandle, UInt32 dwMilliseconds ) : UInt32
Obj2IntPtr ( object o ) : IntPtr
SetProperty ( Object obj, string propName, object propValue ) : void

메소드 상세

CreateProcess() 공개 메소드

public CreateProcess ( string applicationName, string commandLine, Nullable processAttributes, Nullable threadAttributes, bool inheritHandles, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo ) : ProcessInfo
applicationName string
commandLine string
processAttributes Nullable
threadAttributes Nullable
inheritHandles bool
creationFlags ProcessCreationFlags
environment string
currentDirectory string
startupInfo Nullable
리턴 ProcessInfo

CreateProcessWithDll() 공개 메소드

public CreateProcessWithDll ( string applicationName, string commandLine, Nullable processAttributes, Nullable threadAttributes, bool inheritHandles, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo, string dllName, IntPtr signalCompletedEvent, string initFunctionName ) : ProcessInfo
applicationName string
commandLine string
processAttributes Nullable
threadAttributes Nullable
inheritHandles bool
creationFlags ProcessCreationFlags
environment string
currentDirectory string
startupInfo Nullable
dllName string
signalCompletedEvent System.IntPtr
initFunctionName string
리턴 ProcessInfo

CreateProcessWithLogonAndDll() 공개 메소드

public CreateProcessWithLogonAndDll ( string userName, string domain, string password, int logonFlags, string applicationName, string commandLine, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo, string dllName, IntPtr signalCompletedEvent, string initFunctionName ) : ProcessInfo
userName string
domain string
password string
logonFlags int
applicationName string
commandLine string
creationFlags ProcessCreationFlags
environment string
currentDirectory string
startupInfo Nullable
dllName string
signalCompletedEvent System.IntPtr
initFunctionName string
리턴 ProcessInfo

CreateProcessWithTokenAndDll() 공개 메소드

public CreateProcessWithTokenAndDll ( IntPtr token, int logonFlags, string applicationName, string commandLine, ProcessCreationFlags creationFlags, string environment, string currentDirectory, Nullable startupInfo, string dllName, IntPtr signalCompletedEvent, string initFunctionName ) : ProcessInfo
token System.IntPtr
logonFlags int
applicationName string
commandLine string
creationFlags ProcessCreationFlags
environment string
currentDirectory string
startupInfo Nullable
dllName string
signalCompletedEvent System.IntPtr
initFunctionName string
리턴 ProcessInfo

EnableHook() 공개 메소드

public EnableHook ( object o, bool enable ) : void
o object
enable bool
리턴 void

GetModuleBaseAddress() 공개 메소드

public GetModuleBaseAddress ( string moduleName ) : IntPtr
moduleName string
리턴 System.IntPtr

GetProcedureAddress() 공개 메소드

public GetProcedureAddress ( IntPtr moduleBaseAddress, string procName ) : IntPtr
moduleBaseAddress System.IntPtr
procName string
리턴 System.IntPtr

GetRemoteModuleBaseAddress() 공개 메소드

public GetRemoteModuleBaseAddress ( int pid, string moduleName, bool scanMappedImages ) : IntPtr
pid int
moduleName string
scanMappedImages bool
리턴 System.IntPtr

GetRemoteProcedureAddress() 공개 메소드

public GetRemoteProcedureAddress ( int pid, IntPtr moduleBaseAddress, string procName ) : IntPtr
pid int
moduleBaseAddress System.IntPtr
procName string
리턴 System.IntPtr

Hook() 공개 메소드

public Hook ( IntPtr origAddr, IntPtr newAddr ) : object
origAddr System.IntPtr
newAddr System.IntPtr
리턴 object

Hook() 공개 메소드

public Hook ( IntPtr origAddr, IntPtr newAddr, int flags ) : object
origAddr System.IntPtr
newAddr System.IntPtr
flags int
리턴 object

Hook() 공개 메소드

public Hook ( Type origClassType, string origMethodName, Type origParams, Type newClassType, string newMethodName, Type newParams ) : object
origClassType System.Type
origMethodName string
origParams System.Type
newClassType System.Type
newMethodName string
newParams System.Type
리턴 object

Hook() 공개 메소드

public Hook ( Type origClassType, string origMethodName, Type origParams, Type newClassType, string newMethodName, Type newParams, int flags ) : object
origClassType System.Type
origMethodName string
origParams System.Type
newClassType System.Type
newMethodName string
newParams System.Type
flags int
리턴 object

HookLib() 공개 메소드

public HookLib ( ) : System
리턴 System

InjectDll() 공개 메소드

public InjectDll ( int procId, string dllName, string initFunctionName, uint processInitWaitTimeoutMs ) : void
procId int
dllName string
initFunctionName string
processInitWaitTimeoutMs uint
리턴 void

InjectDll() 공개 메소드

public InjectDll ( int procId, string dllName, string initFunctionName, uint processInitWaitTimeoutMs, IntPtr &injectorThreadHandle ) : void
procId int
dllName string
initFunctionName string
processInitWaitTimeoutMs uint
injectorThreadHandle System.IntPtr
리턴 void

InjectDllH() 공개 메소드

public InjectDllH ( IntPtr procHandle, string dllName, string initFunctionName, uint processInitWaitTimeoutMs ) : void
procHandle System.IntPtr
dllName string
initFunctionName string
processInitWaitTimeoutMs uint
리턴 void

InjectDllH() 공개 메소드

public InjectDllH ( IntPtr procHandle, string dllName, string initFunctionName, uint processInitWaitTimeoutMs, IntPtr &injectorThreadHandle ) : void
procHandle System.IntPtr
dllName string
initFunctionName string
processInitWaitTimeoutMs uint
injectorThreadHandle System.IntPtr
리턴 void

RemoteHook() 공개 메소드

public RemoteHook ( IntPtr origAddr, IntPtr newAddr, int pid ) : object
origAddr System.IntPtr
newAddr System.IntPtr
pid int
리턴 object

RemoteHook() 공개 메소드

public RemoteHook ( IntPtr origAddr, IntPtr newAddr, int pid, int flags ) : object
origAddr System.IntPtr
newAddr System.IntPtr
pid int
flags int
리턴 object

RemoveHook() 공개 메소드

public RemoveHook ( object o, bool disable ) : void
o object
disable bool
리턴 void

ResumeThread() 공개 메소드

public ResumeThread ( IntPtr threadHandle ) : void
threadHandle System.IntPtr
리턴 void

ResumeThread() 공개 메소드

public ResumeThread ( SafeWaitHandle threadHandle ) : void
threadHandle Microsoft.Win32.SafeHandles.SafeWaitHandle
리턴 void

Unhook() 공개 메소드

public Unhook ( object o ) : void
o object
리턴 void

UnhookAll() 공개 메소드

public UnhookAll ( ) : void
리턴 void

UnhookProcess() 공개 메소드

public UnhookProcess ( int pid ) : void
pid int
리턴 void

WaitForInjectorThread() 공개 메소드

public WaitForInjectorThread ( IntPtr injectorThreadHandle, uint timeoutMs ) : uint
injectorThreadHandle System.IntPtr
timeoutMs uint
리턴 uint