public ModuleNode(Module aModule) { Module = aModule; Text = aModule.Name; HooksCount = Module.HooksCount(); Address = "0x" + aModule.BaseAddress.ToString("X8"); }
public static Module[] From(NktDbModulesEnum dbModules) { var modules = new Module[dbModules.Count]; for (var i = 0; i < dbModules.Count; i++) { var dbModule = dbModules.GetAt(i); var functions = Function.From(dbModule.DbFunctions()); modules[i] = new DataBaseModule(@"<not available>\" + dbModule.Name, dbModule.Name, IntPtr.Zero, functions); } return modules; }
private void Add(IRunningProcess aProcess, Module aModule, Function aFunction, Hook aHook) { lock (_dataLock) { if (_hookNodes.ContainsKey(aHook)) return; var aProcessNode = _nodes.ValueOrInitialize(aProcess); var aModuleNode = aProcessNode.ModuleNodeFor(aModule); var aHookNode = aModuleNode.AddHook(aHook, aFunction); _hookNodes[aHook] = aHookNode; _model.Nodes.Add(aProcessNode); } }
public bool IsHooked(Module aModule, IEnumerable<Function> functions) { return false; }
public bool IsHooked(Module aModule, IEnumerable<Function> functions) { return Hooks().Any(hook => hook.IsAppliedOn(aModule, functions)); }
public abstract void Hook(Module aModule, Function aFunction, Action<Hook> onHookAdded);
public void AddHookForProcessToBeHooked(IProcess aProcess, Module aModule, Function aFunction) { _hookingSettings.Add(aProcess.Name, aModule.Name, aFunction.Name); }
public void AddHookForRunningProcess(IRunningProcess aProcess, Module aModule, Function aFunction) { aProcess.Hook(aModule, aFunction, hook => ProcessAddedHook(aProcess, aModule, aFunction, hook)); }
public void SelectedModuleChanged(Module aModule) { if (SelectedModule != null && SelectedModule.Name.Equals(aModule.Name)) return; SelectedModule = aModule; DisplaySelectedModuleFunctions(); }
public void MarkAsSelectedIfSelectionIsNull(Module module, BackgroundWorker worker, int jobOrder) { AddTreeViewUpdateJobInOrder(_modulesTreeView, () => _modulesTreeView.MarkAsSelectedIfSelectionIsNull(module, worker), jobOrder); }
public void DisplayHook(IRunningProcess aProcess, Module aModule, Function aFunction, Hook aHook) { }
public override int HookCountOn(Module aModule) { return SpyManager.HooksCountFor(this, aModule); }
public override void Hook(Module aModule, Function aFunction, Action<Hook> onHookAdded) { Hook hook = null; try { hook = SpyManager.AddHook(this, aModule, aFunction); } catch { } if (hook != null) onHookAdded(hook); }
public static ModuleNode From(Module module) { return new ModuleNode(module); }
public void Hook(Module aModule, Function aFunction, Action<Hook> onHookAdded) { throw new NotImplementedException(); }
private void Add(Module aModule) { var aNode = _moduleNodesCache.ValueOrInitialize(aModule); AddDeviareNode(aNode); }
public bool IsAppliedOn(Module aModule, IEnumerable<Function> functions) { return aModule.HasName(ModuleName) && functions.Any(f => f.HasName(FunctionName)); }
public int HooksCountFor(IRunningProcess aProcess, Module aModule) { return _hookCountByModule.ValueOrInitialize(aProcess).ValueOrInitialize(aModule); }
public void ClearSelectedModule() { SelectedModule = null; ClearDisplayedFunctions(); }
public override void AddHookUsing(Module aModule, Function aFunction, ApplicationPresenter applicationPresenter) { applicationPresenter.AddHookForProcessToBeHooked(this, aModule, aFunction); }
private void ProcessAddedHook(IRunningProcess aProcess, Module aModule, Function aFunction, Hook aHook) { _hookingSettings.Add(aProcess.Name, aModule.Name, aFunction.Name); DisplayHook(aProcess, aModule, aFunction, aHook); _view.RemoveAllHooksEnabled = true; _view.ExportHookingSettings = true; _view.RemoveHookEnabled = true; }
public override int HookCountOn(Module aModule) { throw new NotImplementedException(); }
private void DisplayHook(IRunningProcess aProcess, Module aModule, Function aFunction, Hook aHook) { _view.DisplayHook(aProcess, aModule, aFunction, aHook); }
public override void Hook(Module aModule, Function aFunction, Action<Hook> onHookAdded) { throw new InvalidOperationException(); }
public bool Equals(Module other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.Name, Name); }
public void MarkAsSelected(Module module, BackgroundWorker worker) { if (WasCancelled(worker) && SelectedNode != null) return; SelectedNode = AllNodes.FirstOrDefault(n => ((ModuleNode) n.Tag).Module.Equals(module)); if (WasCancelled(worker) || SelectedNode == null) return; EnsureVisible(SelectedNode); }
public abstract void AddHookUsing(Module aModule, Function aFunction, ApplicationPresenter applicationPresenter);
public void MarkAsSelectedIfSelectionIsNull(Module module, BackgroundWorker worker) { if (SelectedNode == null) MarkAsSelected(module, worker); }
public abstract int HookCountOn(Module aModule);
public void AddHookUsing(Module aModule, Function aFunction, ApplicationPresenter applicationPresenter) { throw new NotImplementedException(); }