Я думал, что базовые адреса там, где это должно быть похоже на 0x00 , но когда я использую кнопку, чтобы дать мне базовый адрес, я получаю это 1966604288 . Я использую Vam Memory DLL. Проблема также может быть в том, что я не знаю, как использовать ida для получения адресов памяти. Примечание: я пробовал kernel32.dll и user32.dll
public IntPtr GetModuleBaseAddress(string processName, string moduleName)
{
Process process;
try
{
process = Process.GetProcessesByName(processName)[0];
}
catch (IndexOutOfRangeException)
{
throw new ArgumentException($"No process with name {processName} is currently running");
}
var module = process.Modules.Cast<ProcessModule>().SingleOrDefault(m => string.Equals(m.ModuleName, moduleName, StringComparison.OrdinalIgnoreCase));
return module?.BaseAddress ?? IntPtr.Zero;
}
private void button3_Click(object sender, EventArgs e)
{
vam.processName = "the process im using";
IntPtr baseaddy = GetModuleBaseAddress("the process im using", "user32.dll");
int addy = 0xFD1117;
vam.WriteInt32((IntPtr)baseaddy + addy, 1000);
richTextBox1.Text = baseaddy.ToString();
}
}
}
Это не весь мой код, но этого должно быть достаточно .