Wenn ich dich halbwegs richtig verstehe willst du so etwas in der Art:
(Der Code ist zu ~80 von ProcessModule.BaseAddress-Eigenschaft (System.Diagnostics) ). Musste nur ein paar kleine Veränderungen durchnehmen.
Evtl. Gibt es noch elegantere Methoden.
Code:
class BaseAdresse
{
static void Main(string[] args)
{
foreach(Process _process in Process.GetProcessesByName("firefox")) //change in our GameName
{
GetBaseAddress(_process.Id, _process.ProcessName);
}
}
private static void GetBaseAddress(int ProcessID, string ProcessName)
{
Process myProcess = Process.GetProcessById(ProcessID);
ProcessModule myProcessModule;
// Get all the modules associated with 'myProcess'.
ProcessModuleCollection myProcessModuleCollection = myProcess.Modules;
Console.WriteLine("Base addresses of the modules associated "
+ "with "+ ProcessName+" are:");
// Display the 'BaseAddress' of each of the modules.
for (int i = 0; i < myProcessModuleCollection.Count; i++)
{
myProcessModule = myProcessModuleCollection[i];
Console.WriteLine(myProcessModule.ModuleName + " : "
+ myProcessModule.BaseAddress);
}
// Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule;
// Display the 'BaseAddress' of the main module.
Console.WriteLine("The process's main module's base address is: "
+ myProcessModule.BaseAddress);
//myProcess.CloseMainWindow();
Console.ReadLine();
}
}
Ich denke den VB Code kannst du dir davon ableiten, bzw konvertieren...