C# 클래스 EasyHook.NativeAPI

파일 보기 프로젝트 열기: gerich-home/lua-inject 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
EASYHOOK_INJECT_DEFAULT System.Int32
EASYHOOK_INJECT_MANAGED System.Int32
Is64Bit System.Boolean

공개 메소드들

메소드 설명
DbgAttachDebugger ( ) : void
DbgGetProcessIdByHandle ( IntPtr InProcessHandle, Int32 &OutProcessId ) : void
DbgGetThreadIdByHandle ( IntPtr InThreadHandle, Int32 &OutThreadId ) : void
DbgHandleToObjectName ( IntPtr InNamedHandle, IntPtr OutNameBuffer, Int32 InBufferSize, Int32 &OutRequiredSize ) : void
GacCreateContext ( ) : IntPtr
GacInstallAssembly ( IntPtr InContext, String InAssemblyPath, String InDescription, String InUniqueID ) : void
GacReleaseContext ( IntPtr &RefContext ) : void
GacUninstallAssembly ( IntPtr InContext, String InAssemblyName, String InDescription, String InUniqueID ) : void
LhBarrierBeginStackTrace ( IntPtr &OutBackup ) : void
LhBarrierEndStackTrace ( IntPtr OutBackup ) : void
LhBarrierGetAddressOfReturnAddress ( IntPtr &OutValue ) : void
LhBarrierGetCallback ( IntPtr &OutValue ) : void
LhBarrierGetCallingModule ( IntPtr &OutValue ) : void
LhBarrierGetReturnAddress ( IntPtr &OutValue ) : void
LhInstallHook ( IntPtr InEntryPoint, IntPtr InHookProc, IntPtr InCallback, IntPtr OutHandle ) : void
LhIsThreadIntercepted ( IntPtr InHandle, Int32 InThreadID, System.Boolean &OutResult ) : void
LhSetExclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount, IntPtr InHandle ) : void
LhSetGlobalExclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount ) : void
LhSetGlobalInclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount ) : void
LhSetInclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount, IntPtr InHandle ) : void
LhUninstallAllHooks ( ) : void
LhUninstallHook ( IntPtr RefHandle ) : void
LhWaitForPendingRemovals ( ) : void
RhGetProcessToken ( Int32 InProcessId, IntPtr &OutToken ) : void
RhInjectLibrary ( Int32 InTargetPID, Int32 InWakeUpTID, Int32 InInjectionOptions, String InLibraryPath_x86, String InLibraryPath_x64, IntPtr InPassThruBuffer, Int32 InPassThruSize ) : void
RhInjectLibraryEx ( Int32 InTargetPID, Int32 InWakeUpTID, Int32 InInjectionOptions, String InLibraryPath_x86, String InLibraryPath_x64, IntPtr InPassThruBuffer, Int32 InPassThruSize ) : Int32
RhInstallDriver ( String InDriverPath, String InDriverName ) : void
RhInstallSupportDriver ( ) : void
RhIsAdministrator ( ) : System.Boolean
RhIsX64Process ( Int32 InProcessId, System.Boolean &OutResult ) : void
RhIsX64System ( ) : System.Boolean
RhWakeUpProcess ( ) : void
RtlCreateSuspendedProcess ( String InEXEPath, String InCommandLine, Int32 InProcessCreationFlags, Int32 &OutProcessId, Int32 &OutThreadId ) : void
RtlGetLastError ( ) : Int32
RtlGetLastErrorString ( ) : String
RtlInstallService ( String InServiceName, String InExePath, String InChannelName ) : void

비공개 메소드들

메소드 설명
CloseHandle ( IntPtr InHandle ) : void
ComposeString ( ) : String
Force ( Int32 InErrorCode ) : void
GetCurrentProcessId ( ) : int
GetCurrentThreadId ( ) : int
GetModuleHandle ( String InPath ) : IntPtr
GetProcAddress ( IntPtr InModule, String InProcName ) : IntPtr
LoadLibrary ( String InPath ) : IntPtr
RtlCaptureStackBackTrace ( Int32 InFramesToSkip, Int32 InFramesToCapture, IntPtr OutBackTrace, IntPtr OutBackTraceHash ) : Int16

메소드 상세

DbgAttachDebugger() 공개 정적인 메소드

public static DbgAttachDebugger ( ) : void
리턴 void

DbgGetProcessIdByHandle() 공개 정적인 메소드

public static DbgGetProcessIdByHandle ( IntPtr InProcessHandle, Int32 &OutProcessId ) : void
InProcessHandle System.IntPtr
OutProcessId System.Int32
리턴 void

DbgGetThreadIdByHandle() 공개 정적인 메소드

public static DbgGetThreadIdByHandle ( IntPtr InThreadHandle, Int32 &OutThreadId ) : void
InThreadHandle System.IntPtr
OutThreadId System.Int32
리턴 void

DbgHandleToObjectName() 공개 정적인 메소드

public static DbgHandleToObjectName ( IntPtr InNamedHandle, IntPtr OutNameBuffer, Int32 InBufferSize, Int32 &OutRequiredSize ) : void
InNamedHandle System.IntPtr
OutNameBuffer System.IntPtr
InBufferSize System.Int32
OutRequiredSize System.Int32
리턴 void

GacCreateContext() 공개 정적인 메소드

public static GacCreateContext ( ) : IntPtr
리턴 System.IntPtr

GacInstallAssembly() 공개 정적인 메소드

public static GacInstallAssembly ( IntPtr InContext, String InAssemblyPath, String InDescription, String InUniqueID ) : void
InContext System.IntPtr
InAssemblyPath String
InDescription String
InUniqueID String
리턴 void

GacReleaseContext() 공개 정적인 메소드

public static GacReleaseContext ( IntPtr &RefContext ) : void
RefContext System.IntPtr
리턴 void

GacUninstallAssembly() 공개 정적인 메소드

public static GacUninstallAssembly ( IntPtr InContext, String InAssemblyName, String InDescription, String InUniqueID ) : void
InContext System.IntPtr
InAssemblyName String
InDescription String
InUniqueID String
리턴 void

LhBarrierBeginStackTrace() 공개 정적인 메소드

public static LhBarrierBeginStackTrace ( IntPtr &OutBackup ) : void
OutBackup System.IntPtr
리턴 void

LhBarrierEndStackTrace() 공개 정적인 메소드

public static LhBarrierEndStackTrace ( IntPtr OutBackup ) : void
OutBackup System.IntPtr
리턴 void

LhBarrierGetAddressOfReturnAddress() 공개 정적인 메소드

public static LhBarrierGetAddressOfReturnAddress ( IntPtr &OutValue ) : void
OutValue System.IntPtr
리턴 void

LhBarrierGetCallback() 공개 정적인 메소드

public static LhBarrierGetCallback ( IntPtr &OutValue ) : void
OutValue System.IntPtr
리턴 void

LhBarrierGetCallingModule() 공개 정적인 메소드

public static LhBarrierGetCallingModule ( IntPtr &OutValue ) : void
OutValue System.IntPtr
리턴 void

LhBarrierGetReturnAddress() 공개 정적인 메소드

public static LhBarrierGetReturnAddress ( IntPtr &OutValue ) : void
OutValue System.IntPtr
리턴 void

LhInstallHook() 공개 정적인 메소드

public static LhInstallHook ( IntPtr InEntryPoint, IntPtr InHookProc, IntPtr InCallback, IntPtr OutHandle ) : void
InEntryPoint System.IntPtr
InHookProc System.IntPtr
InCallback System.IntPtr
OutHandle System.IntPtr
리턴 void

LhIsThreadIntercepted() 공개 정적인 메소드

public static LhIsThreadIntercepted ( IntPtr InHandle, Int32 InThreadID, System.Boolean &OutResult ) : void
InHandle System.IntPtr
InThreadID System.Int32
OutResult System.Boolean
리턴 void

LhSetExclusiveACL() 공개 정적인 메소드

public static LhSetExclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount, IntPtr InHandle ) : void
InThreadIdList System.Int32
InThreadCount System.Int32
InHandle System.IntPtr
리턴 void

LhSetGlobalExclusiveACL() 공개 정적인 메소드

public static LhSetGlobalExclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount ) : void
InThreadIdList System.Int32
InThreadCount System.Int32
리턴 void

LhSetGlobalInclusiveACL() 공개 정적인 메소드

public static LhSetGlobalInclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount ) : void
InThreadIdList System.Int32
InThreadCount System.Int32
리턴 void

LhSetInclusiveACL() 공개 정적인 메소드

public static LhSetInclusiveACL ( Int32 InThreadIdList, Int32 InThreadCount, IntPtr InHandle ) : void
InThreadIdList System.Int32
InThreadCount System.Int32
InHandle System.IntPtr
리턴 void

LhUninstallAllHooks() 공개 정적인 메소드

public static LhUninstallAllHooks ( ) : void
리턴 void

LhUninstallHook() 공개 정적인 메소드

public static LhUninstallHook ( IntPtr RefHandle ) : void
RefHandle System.IntPtr
리턴 void

LhWaitForPendingRemovals() 공개 정적인 메소드

public static LhWaitForPendingRemovals ( ) : void
리턴 void

RhGetProcessToken() 공개 정적인 메소드

public static RhGetProcessToken ( Int32 InProcessId, IntPtr &OutToken ) : void
InProcessId System.Int32
OutToken System.IntPtr
리턴 void

RhInjectLibrary() 공개 정적인 메소드

public static RhInjectLibrary ( Int32 InTargetPID, Int32 InWakeUpTID, Int32 InInjectionOptions, String InLibraryPath_x86, String InLibraryPath_x64, IntPtr InPassThruBuffer, Int32 InPassThruSize ) : void
InTargetPID System.Int32
InWakeUpTID System.Int32
InInjectionOptions System.Int32
InLibraryPath_x86 String
InLibraryPath_x64 String
InPassThruBuffer System.IntPtr
InPassThruSize System.Int32
리턴 void

RhInjectLibraryEx() 공개 정적인 메소드

public static RhInjectLibraryEx ( Int32 InTargetPID, Int32 InWakeUpTID, Int32 InInjectionOptions, String InLibraryPath_x86, String InLibraryPath_x64, IntPtr InPassThruBuffer, Int32 InPassThruSize ) : Int32
InTargetPID System.Int32
InWakeUpTID System.Int32
InInjectionOptions System.Int32
InLibraryPath_x86 String
InLibraryPath_x64 String
InPassThruBuffer System.IntPtr
InPassThruSize System.Int32
리턴 System.Int32

RhInstallDriver() 공개 정적인 메소드

public static RhInstallDriver ( String InDriverPath, String InDriverName ) : void
InDriverPath String
InDriverName String
리턴 void

RhInstallSupportDriver() 공개 정적인 메소드

public static RhInstallSupportDriver ( ) : void
리턴 void

RhIsAdministrator() 공개 정적인 메소드

public static RhIsAdministrator ( ) : System.Boolean
리턴 System.Boolean

RhIsX64Process() 공개 정적인 메소드

public static RhIsX64Process ( Int32 InProcessId, System.Boolean &OutResult ) : void
InProcessId System.Int32
OutResult System.Boolean
리턴 void

RhIsX64System() 공개 정적인 메소드

public static RhIsX64System ( ) : System.Boolean
리턴 System.Boolean

RhWakeUpProcess() 공개 정적인 메소드

public static RhWakeUpProcess ( ) : void
리턴 void

RtlCreateSuspendedProcess() 공개 정적인 메소드

public static RtlCreateSuspendedProcess ( String InEXEPath, String InCommandLine, Int32 InProcessCreationFlags, Int32 &OutProcessId, Int32 &OutThreadId ) : void
InEXEPath String
InCommandLine String
InProcessCreationFlags System.Int32
OutProcessId System.Int32
OutThreadId System.Int32
리턴 void

RtlGetLastError() 공개 정적인 메소드

public static RtlGetLastError ( ) : Int32
리턴 System.Int32

RtlGetLastErrorString() 공개 정적인 메소드

public static RtlGetLastErrorString ( ) : String
리턴 String

RtlInstallService() 공개 정적인 메소드

public static RtlInstallService ( String InServiceName, String InExePath, String InChannelName ) : void
InServiceName String
InExePath String
InChannelName String
리턴 void

프로퍼티 상세

EASYHOOK_INJECT_DEFAULT 공개적으로 정적으로 프로퍼티

public static Int32,System EASYHOOK_INJECT_DEFAULT
리턴 System.Int32

EASYHOOK_INJECT_MANAGED 공개적으로 정적으로 프로퍼티

public static Int32,System EASYHOOK_INJECT_MANAGED
리턴 System.Int32

Is64Bit 공개적으로 정적으로 프로퍼티

public static Boolean,System Is64Bit
리턴 System.Boolean