Beispiel #1
0
 public CalculatorAsmHookTest()
 {
     _nativeCalculator      = new NativeCalculator();
     _addFunction           = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_nativeCalculator.Add, out _);
     _subtractFunction      = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.SubtractFunction>((long)_nativeCalculator.Subtract, out _);
     _addWithBranchFunction = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_nativeCalculator.AddWithBranch, out _);
 }
Beispiel #2
0
        public void Setup()
        {
            _normalCalculator         = new TNativeCalculator();
            _delegateHookedCalculator = new TNativeCalculator();
            _delegateHookedCalculatorNoCallOriginal   = new TNativeCalculator();
            _functionPtrHookedCalculator              = new TNativeCalculator();
            _functionPtrHookedCalculatorNoCall        = new TNativeCalculator();
            _functionPtrHookedCalculatorNoCallManaged = new TNativeCalculator();
            _functionPtrDangerousHookedCalculator     = new TNativeCalculator();
            var hooks = ReloadedHooks.Instance;

            _delegateHookAddFunctionNoCallOriginal = hooks.CreateWrapper <NativeCalculator.AddFunction>((long)_delegateHookedCalculatorNoCallOriginal.Add, out var _);
            _delegateHookAddFunction             = hooks.CreateWrapper <NativeCalculator.AddFunction>((long)_delegateHookedCalculator.Add, out var _);
            _pointerHookAddFunction              = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_functionPtrHookedCalculator.Add, out var _);
            _pointerHookNoCallAddFunction        = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_functionPtrHookedCalculatorNoCall.Add, out var _);
            _pointerHookNoCallManagedAddFunction = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_functionPtrHookedCalculatorNoCallManaged.Add, out var _);
            _pointerHookDangerousAddFunction     = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_functionPtrDangerousHookedCalculator.Add, out var _);

            _delegateAddFunction         = hooks.CreateWrapper <NativeCalculator.AddFunction>((long)_normalCalculator.Add, out var _);
            _pointerAddFunction          = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_normalCalculator.Add, out var _);
            _pointerDangerousAddFunction = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_normalCalculator.Add, out var _);

            _delegateHookNoCallOriginal = hooks.CreateHook <NativeCalculator.AddFunction>(DelegateAddHookFunctionNoCallOriginal, (long)_delegateHookedCalculatorNoCallOriginal.Add).Activate();
            _delegateHook = hooks.CreateHook <NativeCalculator.AddFunction>(DelegateAddHookFunction, (long)_delegateHookedCalculator.Add).Activate();
            NativeCalculator._functionPointerHook              = hooks.CreateHook <NativeCalculator.CalculatorFunction>((delegate * unmanaged[Stdcall] < int, int, int >) & NativeCalculator.FunctionPointerHookFunction, (long)_functionPtrHookedCalculator.Add).Activate();
            NativeCalculator._functionPointerDangerousHook     = hooks.CreateHook <NativeCalculator.CalculatorFunction>(typeof(NativeCalculator), nameof(NativeCalculator.FunctionPointerDangerousHookFunction), (long)_functionPtrDangerousHookedCalculator.Add).Activate();
            NativeCalculator._functionPointerNoCallHook        = hooks.CreateHook <NativeCalculator.CalculatorFunction>(typeof(NativeCalculator), nameof(NativeCalculator.FunctionPointerNoCallOriginalFunction), (long)_functionPtrHookedCalculatorNoCall.Add).Activate();
            NativeCalculator._functionPointerNoCallManagedHook = hooks.CreateHook <NativeCalculator.CalculatorFunctionManaged>(typeof(NativeCalculator), nameof(NativeCalculator.FunctionPointerNoCallManaged), (long)_functionPtrHookedCalculatorNoCallManaged.Add).Activate();
        }
Beispiel #3
0
 public CalculatorTest()
 {
     _nativeCalculator = new NativeCalculator();
     _addFunction      = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_nativeCalculator.Add, out _);
     _subtractFunction = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.SubtractFunction>((long)_nativeCalculator.Subtract, out _);
     _divideFunction   = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.DivideFunction>((long)_nativeCalculator.Divide, out _);
     _multiplyFunction = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.MultiplyFunction>((long)_nativeCalculator.Multiply, out _);
 }
Beispiel #4
0
 public unsafe CalculatorHookTest()
 {
     _nativeCalculator      = new NativeCalculator();
     _addFunction           = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_nativeCalculator.Add, out var addWrapper);
     _subtractFunction      = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.SubtractFunction>((long)_nativeCalculator.Subtract, out _);
     _divideFunction        = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.DivideFunction>((long)_nativeCalculator.Divide, out var divWrapper);
     _multiplyFunction      = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.MultiplyFunction>((long)_nativeCalculator.Multiply, out var mulWrapper);
     _addWithBranchFunction = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_nativeCalculator.AddWithBranch, out _);
 }
        public void Setup()
        {
            _normalCalculator            = new TNativeCalculator();
            _delegateHookedCalculator    = new TNativeCalculator();
            _functionPtrHookedCalculator = new TNativeCalculator();
            var hooks = ReloadedHooks.Instance;

            _delegateHookAddFunction = hooks.CreateWrapper <NativeCalculator.AddFunction>((long)_delegateHookedCalculator.Add, out var _);
            _pointerHookAddFunction  = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_functionPtrHookedCalculator.Add, out var _);

            _delegateAddFunction = hooks.CreateWrapper <NativeCalculator.AddFunction>((long)_normalCalculator.Add, out var _);
            _pointerAddFunction  = hooks.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_normalCalculator.Add, out var _);

            _delegateHook = hooks.CreateHook <NativeCalculator.AddFunction>(DelegateAddHookFunction, (long)_delegateHookedCalculator.Add).Activate();
            NativeCalculator._functionPointerHook = hooks.CreateHook <NativeCalculator.CalculatorFunction>((delegate * unmanaged[Stdcall] < int, int, int >) & NativeCalculator.FunctionPointerHookFunction, (long)_functionPtrHookedCalculator.Add).Activate();
        }
 public SuperStackedHooks()
 {
     _nativeCalculator = new NativeCalculator();
     _addFunction      = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_nativeCalculator.Add, out _);
 }
Beispiel #7
0
 public LargeAddressAwarenessTest()
 {
     _addFunction        = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.AddFunction>((long)_highMemCalculator.Add, out _);
     _addFunctionPointer = ReloadedHooks.Instance.CreateWrapper <NativeCalculator.CalculatorFunction>((long)_highMemCalculator.Add, out var _);
 }