C# Класс EasyHook.NativeAPI

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
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