private void readWriteMemoryMemoryMenuItem_Click(object sender, EventArgs e) { if (listMemory.SelectedIndices.Count != 1) { return; } MemoryItem item = (MemoryItem)listMemory.SelectedItems[0].Tag; MemoryEditor.ReadWriteMemory(_pid, item.Address, (int)item.Size, false); }
private void readWriteAddressMemoryMenuItem_Click(object sender, EventArgs e) { PromptBox prompt = new PromptBox(); if (prompt.ShowDialog() == DialogResult.OK) { IntPtr address = new IntPtr(-1); IntPtr regionAddress = IntPtr.Zero; long regionSize = 0; bool found = false; try { address = ((long)BaseConverter.ToNumberParse(prompt.Value)).ToIntPtr(); } catch { PhUtils.ShowError("You have entered an invalid address."); return; } List <MemoryItem> items = new List <MemoryItem>(); foreach (MemoryItem item in _provider.Dictionary.Values) { items.Add(item); } items.Sort((i1, i2) => i1.Address.CompareTo(i2.Address)); int i = 0; foreach (MemoryItem item in items) { MemoryItem regionItem = null; if (item.Address.CompareTo(address) > 0) { if (i > 0) { regionItem = items[i - 1]; } } else if (item.Address.CompareTo(address) == 0) { regionItem = items[i]; } if (regionItem != null && address.CompareTo(regionItem.Address) >= 0) { listMemory.Items[regionItem.Address.ToString()].Selected = true; listMemory.Items[regionItem.Address.ToString()].EnsureVisible(); regionAddress = regionItem.Address; regionSize = regionItem.Size; found = true; break; } i++; } if (!found) { PhUtils.ShowError("Unable to find the memory address."); return; } MemoryEditor m_e = MemoryEditor.ReadWriteMemory(_pid, regionAddress, (int)regionSize, false, new Program.MemoryEditorInvokeAction(delegate(MemoryEditor f) { f.Select(address.Decrement(regionAddress).ToInt64(), 1); })); } }
private void readMemoryModuleMenuItem_Click(object sender, EventArgs e) { ModuleItem item = (ModuleItem)listModules.SelectedItems[0].Tag; MemoryEditor.ReadWriteMemory(_pid, item.BaseAddress, item.Size, true); }
private void readMemoryModuleMenuItem_Click(object sender, EventArgs e) { ModuleItem item = this.listModules.SelectedItems[0].Tag as ModuleItem; MemoryEditor.ReadWriteMemory(_pid, item.BaseAddress.ToIntPtr(), item.Size, true); }