Beispiel #1
0
 public static void RhInjectLibrary(
     Int32 InTargetPID,
     Int32 InWakeUpTID,
     Int32 InInjectionOptions,
     String InLibraryPath_x86,
     String InLibraryPath_x64,
     RhAssemblyInfo[] Assemblies,
     IntPtr InPassThruBuffer,
     Int32 InPassThruSize)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RhInjectLibrary(
                   InTargetPID, InWakeUpTID, InInjectionOptions,
                   InLibraryPath_x86, InLibraryPath_x64,
                   Assemblies, Assemblies.Length,
                   InPassThruBuffer, InPassThruSize));
     }
     else
     {
         Force(NativeAPI_x86.RhInjectLibrary(
                   InTargetPID, InWakeUpTID, InInjectionOptions,
                   InLibraryPath_x86, InLibraryPath_x64,
                   Assemblies, Assemblies.Length,
                   InPassThruBuffer, InPassThruSize));
     }
 }
Beispiel #2
0
 public static String RtlGetLastErrorString()
 {
     if (Is64Bit)
     {
         return(NativeAPI_x64.RtlGetLastErrorStringCopy());
     }
     else
     {
         return(NativeAPI_x86.RtlGetLastErrorStringCopy());
     }
 }
Beispiel #3
0
 public static Int32 RtlGetLastError()
 {
     if (Is64Bit)
     {
         return(NativeAPI_x64.RtlGetLastError());
     }
     else
     {
         return(NativeAPI_x86.RtlGetLastError());
     }
 }
Beispiel #4
0
 public static void LhGetHookBypassAddress(IntPtr handle, out IntPtr address)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhGetHookBypassAddress(handle, out address));
     }
     else
     {
         Force(NativeAPI_x86.LhGetHookBypassAddress(handle, out address));
     }
 }
Beispiel #5
0
 public static void GacReleaseContext(ref IntPtr RefContext)
 {
     if (Is64Bit)
     {
         NativeAPI_x64.GacReleaseContext(ref RefContext);
     }
     else
     {
         NativeAPI_x86.GacReleaseContext(ref RefContext);
     }
 }
Beispiel #6
0
 public static void LhUninstallAllHooks()
 {
     if (Is64Bit)
     {
         NativeAPI_x64.LhUninstallAllHooks();
     }
     else
     {
         NativeAPI_x86.LhUninstallAllHooks();
     }
 }
Beispiel #7
0
 public static Boolean RhIsX64System()
 {
     if (Is64Bit)
     {
         return(NativeAPI_x64.RhIsX64System());
     }
     else
     {
         return(NativeAPI_x86.RhIsX64System());
     }
 }
Beispiel #8
0
 public static void LhUninstallHook(IntPtr RefHandle)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhUninstallHook(RefHandle));
     }
     else
     {
         Force(NativeAPI_x86.LhUninstallHook(RefHandle));
     }
 }
Beispiel #9
0
 public static void RhGetProcessToken(Int32 InProcessId, out IntPtr OutToken)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RhGetProcessToken(InProcessId, out OutToken));
     }
     else
     {
         Force(NativeAPI_x86.RhGetProcessToken(InProcessId, out OutToken));
     }
 }
Beispiel #10
0
 public static void DbgAttachDebugger()
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.DbgAttachDebugger());
     }
     else
     {
         Force(NativeAPI_x86.DbgAttachDebugger());
     }
 }
Beispiel #11
0
 public static void LhBarrierGetAddressOfReturnAddress(out IntPtr OutValue)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhBarrierGetAddressOfReturnAddress(out OutValue));
     }
     else
     {
         Force(NativeAPI_x86.LhBarrierGetAddressOfReturnAddress(out OutValue));
     }
 }
Beispiel #12
0
 public static IntPtr GacCreateContext()
 {
     if (Is64Bit)
     {
         return(NativeAPI_x64.GacCreateContext());
     }
     else
     {
         return(NativeAPI_x86.GacCreateContext());
     }
 }
Beispiel #13
0
 public static void RhWakeUpProcess()
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RhWakeUpProcess());
     }
     else
     {
         Force(NativeAPI_x86.RhWakeUpProcess());
     }
 }
Beispiel #14
0
 public static void LhBarrierGetCallback(out IntPtr OutValue)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhBarrierGetCallback(out OutValue));
     }
     else
     {
         Force(NativeAPI_x86.LhBarrierGetCallback(out OutValue));
     }
 }
Beispiel #15
0
 public static void RhInstallSupportDriver()
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RhInstallSupportDriver());
     }
     else
     {
         Force(NativeAPI_x86.RhInstallSupportDriver());
     }
 }
Beispiel #16
0
 public static void LhWaitForPendingRemovals()
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhWaitForPendingRemovals());
     }
     else
     {
         Force(NativeAPI_x86.LhWaitForPendingRemovals());
     }
 }
Beispiel #17
0
 public static Boolean RhIsAdministrator()
 {
     if (Is64Bit)
     {
         return(NativeAPI_x64.RhIsAdministrator());
     }
     else
     {
         return(NativeAPI_x86.RhIsAdministrator());
     }
 }
Beispiel #18
0
 public static void LhBarrierEndStackTrace(IntPtr OutBackup)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhBarrierEndStackTrace(OutBackup));
     }
     else
     {
         Force(NativeAPI_x86.LhBarrierEndStackTrace(OutBackup));
     }
 }
Beispiel #19
0
 public static void DbgGetThreadIdByHandle(
     IntPtr InThreadHandle,
     out Int32 OutThreadId)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.DbgGetThreadIdByHandle(InThreadHandle, out OutThreadId));
     }
     else
     {
         Force(NativeAPI_x86.DbgGetThreadIdByHandle(InThreadHandle, out OutThreadId));
     }
 }
Beispiel #20
0
 public static void LhSetGlobalExclusiveACL(
     Int32[] InThreadIdList,
     Int32 InThreadCount)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhSetGlobalExclusiveACL(InThreadIdList, InThreadCount));
     }
     else
     {
         Force(NativeAPI_x86.LhSetGlobalExclusiveACL(InThreadIdList, InThreadCount));
     }
 }
Beispiel #21
0
 public static void DbgGetProcessIdByHandle(
     IntPtr InProcessHandle,
     out Int32 OutProcessId)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.DbgGetProcessIdByHandle(InProcessHandle, out OutProcessId));
     }
     else
     {
         Force(NativeAPI_x86.DbgGetProcessIdByHandle(InProcessHandle, out OutProcessId));
     }
 }
Beispiel #22
0
 public static void RhIsX64Process(
     Int32 InProcessId,
     out Boolean OutResult)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RhIsX64Process(InProcessId, out OutResult));
     }
     else
     {
         Force(NativeAPI_x86.RhIsX64Process(InProcessId, out OutResult));
     }
 }
Beispiel #23
0
 public static void RhInstallDriver(
     String InDriverPath,
     String InDriverName)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RhInstallDriver(InDriverPath, InDriverName));
     }
     else
     {
         Force(NativeAPI_x86.RhInstallDriver(InDriverPath, InDriverName));
     }
 }
Beispiel #24
0
 public static void LhIsThreadIntercepted(
     IntPtr InHandle,
     Int32 InThreadID,
     out Boolean OutResult)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhIsThreadIntercepted(InHandle, InThreadID, out OutResult));
     }
     else
     {
         Force(NativeAPI_x86.LhIsThreadIntercepted(InHandle, InThreadID, out OutResult));
     }
 }
Beispiel #25
0
 public static void RtlInstallService(
     String InServiceName,
     String InExePath,
     String InChannelName)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RtlInstallService(InServiceName, InExePath, InChannelName));
     }
     else
     {
         Force(NativeAPI_x86.RtlInstallService(InServiceName, InExePath, InChannelName));
     }
 }
Beispiel #26
0
 public static void LhSetExclusiveACL(
     Int32[] InThreadIdList,
     Int32 InThreadCount,
     IntPtr InHandle)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhSetExclusiveACL(InThreadIdList, InThreadCount, InHandle));
     }
     else
     {
         Force(NativeAPI_x86.LhSetExclusiveACL(InThreadIdList, InThreadCount, InHandle));
     }
 }
Beispiel #27
0
 public static void LhInstallHook(
     IntPtr InEntryPoint,
     IntPtr InHookProc,
     IntPtr InCallback,
     IntPtr OutHandle)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.LhInstallHook(InEntryPoint, InHookProc, InCallback, OutHandle));
     }
     else
     {
         Force(NativeAPI_x86.LhInstallHook(InEntryPoint, InHookProc, InCallback, OutHandle));
     }
 }
Beispiel #28
0
 public static void DbgHandleToObjectName(
     IntPtr InNamedHandle,
     IntPtr OutNameBuffer,
     Int32 InBufferSize,
     out Int32 OutRequiredSize)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.DbgHandleToObjectName(InNamedHandle, OutNameBuffer, InBufferSize, out OutRequiredSize));
     }
     else
     {
         Force(NativeAPI_x86.DbgHandleToObjectName(InNamedHandle, OutNameBuffer, InBufferSize, out OutRequiredSize));
     }
 }
Beispiel #29
0
 public static void RtlCreateSuspendedProcess(
     String InEXEPath,
     String InCommandLine,
     Int32 InProcessCreationFlags,
     out Int32 OutProcessId,
     out Int32 OutThreadId)
 {
     if (Is64Bit)
     {
         Force(NativeAPI_x64.RtlCreateSuspendedProcess(InEXEPath, InCommandLine, InProcessCreationFlags,
                                                       out OutProcessId, out OutThreadId));
     }
     else
     {
         Force(NativeAPI_x86.RtlCreateSuspendedProcess(InEXEPath, InCommandLine, InProcessCreationFlags,
                                                       out OutProcessId, out OutThreadId));
     }
 }
Beispiel #30
0
 public static Int32 RhInjectLibraryEx(
     Int32 InTargetPID,
     Int32 InWakeUpTID,
     Int32 InInjectionOptions,
     String InLibraryPath_x86,
     String InLibraryPath_x64,
     IntPtr InPassThruBuffer,
     Int32 InPassThruSize)
 {
     if (Is64Bit)
     {
         return(NativeAPI_x64.RhInjectLibrary(InTargetPID, InWakeUpTID, InInjectionOptions,
                                              InLibraryPath_x86, InLibraryPath_x64, InPassThruBuffer, InPassThruSize));
     }
     else
     {
         return(NativeAPI_x86.RhInjectLibrary(InTargetPID, InWakeUpTID, InInjectionOptions,
                                              InLibraryPath_x86, InLibraryPath_x64, InPassThruBuffer, InPassThruSize));
     }
 }