public bool Execute <T>(ProcessMemory mem, T param) where T : struct { bool ret = false; using (RemoteAllocation ralloc = RemoteAllocation.CreateNew <T>(mem, param)) { ret = Execute(ralloc.Address); } return(ret); }
public PatternScan(ProcessMemory processMemory, string moduleName) { memory = processMemory; module = memory.ModuleFromName(moduleName); baseAddress = module.BaseAddress; size = module.ModuleMemorySize; dump = memory.ReadByteArray(baseAddress, size); }
public static RemoteAllocation CreateNew <T>(ProcessMemory memory, T data) where T : struct { RemoteAllocation ralloc = new RemoteAllocation(memory.Process); if (!ralloc.Allocate(TypeCache <T> .Size)) { return(null); } memory.Write(ralloc.Address, data); return(ralloc); }
public static bool Execute <T>(ProcessMemory memory, IntPtr address, T param) where T : struct { RemoteFunction fn = new RemoteFunction(memory.Process, address); return(fn.Execute(memory, param)); }