private void createFunctionButton_Click(object sender, EventArgs e) { var info = GetSelectedInfo(); if (info == null) { return; } var disassembler = new Disassembler(process.CoreFunctions); var functionStartAddress = disassembler.RemoteGetFunctionStartAddress(process, info.DebugInfo.ExceptionAddress); if (functionStartAddress.IsNull()) { MessageBox.Show("Could not find the start of the function. Aborting.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var node = ClassNode.Create(); node.Address = functionStartAddress; node.AddNode(new FunctionNode { Comment = info.Instructions[2].Instruction }); var mainForm = Application.OpenForms[0] as MainForm; mainForm.ClassView.SelectedClass = node; }
private void newClassToolStripButton_Click(object sender, EventArgs e) { var node = ClassNode.Create(); node.AddBytes(64); classesView.SelectedClass = node; }
/// <summary>Called when the node was created. Creates a new class as inner node.</summary> public override void Intialize() { var node = ClassNode.Create(); node.Intialize(); node.AddBytes(64); InnerNode = node; }
public override void Initialize() { var node = ClassNode.Create(); node.Initialize(); node.AddBytes(64); ChangeInnerNode(node); }
private void createClassAtAddressToolStripMenuItem_Click(object sender, EventArgs e) { var address = GetSelectedRegionAddress(); if (address != IntPtr.Zero) { var node = ClassNode.Create(); node.Address = address; node.AddBytes(64); classesView.SelectedClass = node; } }
/// <summary>Creates a new default class.</summary> public void CreateNewDefaultClass() { var node = ClassNode.Create(); node.AddBytes(64); var mainModule = remoteProcess.GetModuleByName(remoteProcess.UnderlayingProcess?.Name); if (mainModule != null) { node.Address = mainModule.Start; } classesView.SelectedClass = node; }
private void createClassAtAddressToolStripMenuItem_Click(object sender, EventArgs e) { var node = ClassNode.Create(); node.AddBytes(64); if (GetToolStripSourceControl(sender) == modulesDataGridView) { node.Address = GetSelectedModule()?.Start ?? IntPtr.Zero; } else { node.Address = GetSelectedSection()?.Start ?? IntPtr.Zero; } classesView.SelectedClass = node; }
public static ClassNode CreateClassAtAddress(IntPtr address, bool addDefaultBytes) { Contract.Ensures(Contract.Result <ClassNode>() != null); var classView = Program.MainForm.ClassView; var node = ClassNode.Create(); node.Address = address; if (addDefaultBytes) { node.AddBytes(64); } classView.SelectedClass = node; return(node); }
public static ClassNode CreateClassAtAddress(IntPtr address, bool addDefaultBytes) { Contract.Ensures(Contract.Result <ClassNode>() != null); var classView = Program.MainForm.ProjectView; var node = ClassNode.Create(); node.AddressFormula = address.ToString("X"); if (addDefaultBytes) { node.AddBytes(16 * IntPtr.Size); } classView.SelectedClass = node; return(node); }
private void createClassFromNodesToolStripMenuItem_Click(object sender, EventArgs e) { if (selectedNodes.Count > 0 && !(selectedNodes[0].Node is ClassNode)) { var parentNode = selectedNodes[0].Node.ParentNode as ClassNode; if (parentNode != null) { var classNode = ClassNode.Create(); selectedNodes.Select(h => h.Node).ForEach(classNode.AddNode); var classInstanceNode = new ClassInstanceNode(); classInstanceNode.ChangeInnerNode(classNode); parentNode.InsertNode(selectedNodes[0].Node, classInstanceNode); selectedNodes.Select(h => h.Node).ForEach(c => parentNode.RemoveNode(c)); ClearSelection(); } } }
private void createClassFromNodesToolStripMenuItem_Click(object sender, EventArgs e) { var selectedNodes = memoryViewControl.GetSelectedNodes(); if (selectedNodes.Count > 0 && !(selectedNodes[0].Node is ClassNode)) { if (selectedNodes[0].Node.GetParentContainer() is ClassNode parentNode) { var newClassNode = ClassNode.Create(); selectedNodes.Select(h => h.Node).ForEach(newClassNode.AddNode); var classInstanceNode = new ClassInstanceNode(); classInstanceNode.ChangeInnerNode(newClassNode); parentNode.InsertNode(selectedNodes[0].Node, classInstanceNode); selectedNodes.Select(h => h.Node).ForEach(c => parentNode.RemoveNode(c)); ClearSelection(); } } }
public override void Initialize() { InnerNode = ClassNode.Create(); InnerNode.Initialize(); }