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)); } }
public static String RtlGetLastErrorString() { if (Is64Bit) { return(NativeAPI_x64.RtlGetLastErrorStringCopy()); } else { return(NativeAPI_x86.RtlGetLastErrorStringCopy()); } }
public static Int32 RtlGetLastError() { if (Is64Bit) { return(NativeAPI_x64.RtlGetLastError()); } else { return(NativeAPI_x86.RtlGetLastError()); } }
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)); } }
public static void GacReleaseContext(ref IntPtr RefContext) { if (Is64Bit) { NativeAPI_x64.GacReleaseContext(ref RefContext); } else { NativeAPI_x86.GacReleaseContext(ref RefContext); } }
public static void LhUninstallAllHooks() { if (Is64Bit) { NativeAPI_x64.LhUninstallAllHooks(); } else { NativeAPI_x86.LhUninstallAllHooks(); } }
public static Boolean RhIsX64System() { if (Is64Bit) { return(NativeAPI_x64.RhIsX64System()); } else { return(NativeAPI_x86.RhIsX64System()); } }
public static void LhUninstallHook(IntPtr RefHandle) { if (Is64Bit) { Force(NativeAPI_x64.LhUninstallHook(RefHandle)); } else { Force(NativeAPI_x86.LhUninstallHook(RefHandle)); } }
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)); } }
public static void DbgAttachDebugger() { if (Is64Bit) { Force(NativeAPI_x64.DbgAttachDebugger()); } else { Force(NativeAPI_x86.DbgAttachDebugger()); } }
public static void LhBarrierGetAddressOfReturnAddress(out IntPtr OutValue) { if (Is64Bit) { Force(NativeAPI_x64.LhBarrierGetAddressOfReturnAddress(out OutValue)); } else { Force(NativeAPI_x86.LhBarrierGetAddressOfReturnAddress(out OutValue)); } }
public static IntPtr GacCreateContext() { if (Is64Bit) { return(NativeAPI_x64.GacCreateContext()); } else { return(NativeAPI_x86.GacCreateContext()); } }
public static void RhWakeUpProcess() { if (Is64Bit) { Force(NativeAPI_x64.RhWakeUpProcess()); } else { Force(NativeAPI_x86.RhWakeUpProcess()); } }
public static void LhBarrierGetCallback(out IntPtr OutValue) { if (Is64Bit) { Force(NativeAPI_x64.LhBarrierGetCallback(out OutValue)); } else { Force(NativeAPI_x86.LhBarrierGetCallback(out OutValue)); } }
public static void RhInstallSupportDriver() { if (Is64Bit) { Force(NativeAPI_x64.RhInstallSupportDriver()); } else { Force(NativeAPI_x86.RhInstallSupportDriver()); } }
public static void LhWaitForPendingRemovals() { if (Is64Bit) { Force(NativeAPI_x64.LhWaitForPendingRemovals()); } else { Force(NativeAPI_x86.LhWaitForPendingRemovals()); } }
public static Boolean RhIsAdministrator() { if (Is64Bit) { return(NativeAPI_x64.RhIsAdministrator()); } else { return(NativeAPI_x86.RhIsAdministrator()); } }
public static void LhBarrierEndStackTrace(IntPtr OutBackup) { if (Is64Bit) { Force(NativeAPI_x64.LhBarrierEndStackTrace(OutBackup)); } else { Force(NativeAPI_x86.LhBarrierEndStackTrace(OutBackup)); } }
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)); } }
public static void LhSetGlobalExclusiveACL( Int32[] InThreadIdList, Int32 InThreadCount) { if (Is64Bit) { Force(NativeAPI_x64.LhSetGlobalExclusiveACL(InThreadIdList, InThreadCount)); } else { Force(NativeAPI_x86.LhSetGlobalExclusiveACL(InThreadIdList, InThreadCount)); } }
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)); } }
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)); } }
public static void RhInstallDriver( String InDriverPath, String InDriverName) { if (Is64Bit) { Force(NativeAPI_x64.RhInstallDriver(InDriverPath, InDriverName)); } else { Force(NativeAPI_x86.RhInstallDriver(InDriverPath, InDriverName)); } }
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)); } }
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)); } }
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)); } }
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)); } }
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)); } }
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)); } }
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)); } }