Ejemplo n.º 1
0
        public Hook AddHook(IRunningProcess aProcess, Module aModule, Function aFunction)
        {
            var ntkProcess = NktProcessFrom(aProcess);

            if (ntkProcess == null)
            {
                return(null);
            }
            if (!aProcess.IsAlive())
            {
                return(null);
            }

            var nktModule = ntkProcess.ModuleByName(aModule.Name);

            if (nktModule == null)
            {
                return(null);
            }

            var nktFunction = nktModule.FunctionByName(aFunction.Name);

            if (nktFunction == null)
            {
                return(null);
            }

            var nktHook = _manager.CreateHook(nktFunction, 0);

            nktHook.Hook(true);
            nktHook.Attach(ntkProcess, true);

            return(CreateConsoleHookFrom(nktHook));
        }
Ejemplo n.º 2
0
        public void ShowAgentLoadingError(IRunningProcess aProcess, int anErrorCode)
        {
            if (!aProcess.IsAlive(10))
            {
                return;
            }

            string errorMessage = string.Format("Deviare Agent load error. Process: {0} ({1}). Error code: 0x{2:X}",
                                                aProcess.Name, aProcess.Id, anErrorCode);

            MessageBox.Show(errorMessage);
        }
Ejemplo n.º 3
0
        public void DisplayHook(Hook hook, IRunningProcess process, HookStateChangeInfo pepe)
        {
            if (!process.IsAlive())
            {
                return;
            }

            lock (_dataLock)
            {
                process.Do(hook, (p, m, f) =>
                {
                    Add(process, m, f, hook);
                    _hookNodes[hook].UpdateState(pepe.CurrentState);
                });
            }
        }
Ejemplo n.º 4
0
        public void DisplayHook(Hook hook, IRunningProcess process, HookStateChangeInfo pepe)
        {
            if (!process.IsAlive()) return;

            lock (_dataLock)
            {
                process.Do(hook, (p, m, f) =>
                                     {
                                         Add(process, m, f, hook);
                                         _hookNodes[hook].UpdateState(pepe.CurrentState);
                                     });
                
            }
        }
Ejemplo n.º 5
0
        public void ShowAgentLoadingError(IRunningProcess aProcess, int anErrorCode)
        {
            if (!aProcess.IsAlive(10)) return;

            string errorMessage = string.Format("Deviare Agent load error. Process: {0} ({1}). Error code: 0x{2:X}",
                                                aProcess.Name, aProcess.Id, anErrorCode);
            MessageBox.Show(errorMessage);
        }
Ejemplo n.º 6
0
        public Hook AddHook(IRunningProcess aProcess, Module aModule, Function aFunction)
        {
            var ntkProcess = NktProcessFrom(aProcess);
            if (ntkProcess == null) return null;
            if (!aProcess.IsAlive()) return null;

            var nktModule = ntkProcess.ModuleByName(aModule.Name);
            if (nktModule == null) return null;

            var nktFunction = nktModule.FunctionByName(aFunction.Name);
            if (nktFunction == null) return null;

            var nktHook = _manager.CreateHook(nktFunction, 0);

            nktHook.Hook(true);
            nktHook.Attach(ntkProcess, true);

            return CreateConsoleHookFrom(nktHook);
        }